Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nickjer/yayo
A CLI used to manage and generate OTP (one time password) codes for your accounts
https://github.com/nickjer/yayo
Last synced: 8 days ago
JSON representation
A CLI used to manage and generate OTP (one time password) codes for your accounts
- Host: GitHub
- URL: https://github.com/nickjer/yayo
- Owner: nickjer
- License: mit
- Created: 2020-11-01T21:10:36.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-03-30T17:19:41.000Z (10 months ago)
- Last Synced: 2024-11-14T04:44:12.634Z (2 months ago)
- Language: Rust
- Size: 64.5 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Yayo
[![Latest Version](https://img.shields.io/crates/v/yayo.svg)](https://crates.io/crates/yayo)
[![Downloads](https://img.shields.io/github/downloads/nickjer/yayo/total.svg)](https://github.com/nickjer/yayo/releases)
[![License](https://img.shields.io/github/license/nickjer/yayo.svg)](https://github.com/nickjer/yayo)
[![Continuous Integration Status](https://github.com/nickjer/yayo/workflows/Continuous%20integration/badge.svg)](https://github.com/nickjer/yayo/actions)A command line interface (CLI) used to manage and generate OTP (one time
password) codes for your various accounts.## Installation
Install using [cargo]:
```shell
cargo install yayo
```## Pre-compiled Binaries
An alternative method is to download and run the pre-compiled binaries:
## Usage
Check the help (`--help`) for details on using this tool:
```shell
Manage and generate OTP (one time password) codesUsage: yayo
Commands:
add Add a new account
completion Output shell completion
delete Delete an account
list List all accounts
view View the code for an account
help Print this message or the help of the given subcommand(s)Options:
-h, --help Print help
-V, --version Print version
```### Add Account
The `add` subcommand is used to add an account:
```shell
Add a new accountUsage: yayo add [OPTIONS]
Arguments:
Name of the account
Secret key used to generate codeOptions:
-a, --algorithm Algorithm used to generate code [env: YAYO_ALGORITHM=] [default: SHA1] [possible values: SHA1, SHA256, SHA512]
-d, --digits Number of digits composing code [env: YAYO_DIGITS=] [default: 6]
-s, --step Duration in seconds of step [env: YAYO_STEP=] [default: 30]
-h, --help Print help
```> *Note:* For added security it stores all secrets in your operating system's
> local keyring.**Example:** Add your GitHub account with provided secret (`XXXXXXX`):
```shell
yayo add github XXXXXXX
```Although it is not recommended, you can alter any of the arguments used in the
OTP code generation (`algorithm`, `digits`, and `step`) as command line options
or through environment variables.### Delete Account
The `delete` subcommand is used to delete a previously added account:
```shell
Delete an accountUsage: yayo delete
Arguments:
Name of the accountOptions:
-h, --help Print help
```**Example:** Delete the previously added GitHub account:
```shell
yayo delete github
```### List All Accounts
The `list` subcommand is used to list all available accounts and their provided
configurations:```shell
List all accountsUsage: yayo list
Options:
-h, --help Print help
```### View Account
The `view` subcommand is used to output the OTP code generated for the
requested account:```shell
View the code for an accountUsage: yayo view
Arguments:
Name of the accountOptions:
-h, --help Print help
```**Example:** View the OTP for the GitHub account:
```console
$ yayo view github
389200
```### Command Completion
The `completion` subcommand is used to output a shell script used to support
command completion for this binary:```shell
Output shell completionUsage: yayo completion
Arguments:
Name of the shell [possible values: bash, elvish, fish, powershell, zsh]Options:
-h, --help Print help
```**Example:** Output command completion for the fish shell:
```shell
yayo completion fish | source
```Now you can use tab-completion with `yayo`.
## Linux (Gnome) - Keyboard Shortcut to Clipboard
This is a simple walkthough on setting up the F12 key to populate the clipboard
with the OTP code. This makes logging into GitHub or any other service as
simple as pushing F12 and pasting the contents of the clipboard into the 2FA
input.1. You will need `xsel` or some other CLI that can read the contents of STDOUT
to the clipboard:```shell
sudo apt install -y xsel
```2. If using Gnome 3 you can just open the control center and navigate to the
"Keyboard Shortcuts" with:```shell
gnome-control-center
```3. Scroll to the bottom and set a "Custom" keyboard shortcut with the following
options:> Name: **OTP (GitHub)**
> Command: `sh -c '~/bin/yayo view github | xsel --primary'`
> Shortcut: **F12**[cargo]: https://doc.rust-lang.org/cargo/