diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..1d5de60 --- /dev/null +++ b/README.md @@ -0,0 +1,115 @@ +# gotp + +A command line interface to manage and generate Time-based One Time Password +(TOTP). + +## SYNOPSIS + +``` +gotp <command> <parameters...> +``` + +## DESCRIPTION + +``` +add <LABEL> <HASH>:<BASE32-SECRET>[:DIGITS][:TIME-STEP][:ISSUER] + + Add a TOTP secret identified by unique LABEL. + HASH is one of the valid hash function: SHA1, SHA256, or + SHA512. + BASE32-SECRET is the secret to generate one-time password + encoded in base32. + The DIGITS field is optional, define the number digits + generated for password, default to 6. + The TIME-STEP field is optional, its define the interval in + seconds, default to 30 seconds. + The ISSUER field is also optional, its define the name of + provider that generate the secret. + +gen <LABEL> [N] + + Generate N number passwords using the secret identified by LABEL. + +import <PROVIDER> <FILE> + + Import the TOTP configuration from other provider. + Currently, the only supported PROVIDER is Aegis and the supported file + is .txt. + +list + + List all labels stored in the configuration. + +remove <LABEL> + + Remove LABEL from configuration. + +rename <LABEL> <NEW-LABEL> + + Rename a LABEL into NEW-LABEL. +``` + +## ENCRYPTION + +On the first run, the gotp command will ask for path of private key. +If the key exist, all the OTP values (excluding the label) will be encrypted. +The private key must be RSA based. + +One can skip inputting the private key by pressing enter, and the OTP +configuration will be stored as plain text. + +## FILES + +$USER_CONFIG_DIR/gotp/gotp.conf:: Path to file where the configuration and +secret are stored. + +## EXAMPLES + +Add "my-totp" to configuration using SHA1 as hash function, "GEZDGNBVGY3TQOJQ" +as the secret, with 6 digits passwords, and 30 seconds as time step. + +``` +$ gotp add my-totp SHA1:GEZDGNBVGY3TQOJQ:6:30 +``` + +Generate 3 recents passwords from "my-totp", + +``` +$ gotp gen my-totp 3 +gotp: reading configuration from /home/$USER/.config/gotp/gotp.conf +847945 +326823 +767317 +``` + +Import the exported Aegis TOTP from file, + +``` +$ gotp import aegis aegis-export-uri.txt +gotp: reading configuration from /home/$USER/.config/gotp/gotp.conf +OK +``` + +List all labels stored in the configuration, + +``` +$ gotp list +gotp: reading configuration from /home/$USER/.config/gotp/gotp.conf +my-totp +``` + +Remove a label "my-totp", + +``` +$ gotp remove my-totp +gotp: reading configuration from /home/$USER/.config/gotp/gotp.conf +OK +``` + +Rename a label "my-totp" to "my-otp", + +``` +$ gotp rename my-totp my-otp +gotp: reading configuration from /home/$USER/.config/gotp/gotp.conf +OK +``` |
