diff options
| author | Shulhan <ms@kilabit.info> | 2023-05-15 01:23:27 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2023-05-15 01:23:27 +0700 |
| commit | 7398b1b41deb5bc165c4bde3718aaffc1f32b01a (patch) | |
| tree | ef44939d4c5ca70793a56bb6bdfff66806e9820c /README.md | |
| parent | 85d43645f617e4679d4f08cc6f4501ccdc4e2143 (diff) | |
| download | gotp-7398b1b41deb5bc165c4bde3718aaffc1f32b01a.tar.xz | |
all: convert the README from asciidoc to markdown
I use two remote repositories: GitHub and SourceHut.
GitHub support rendering README using asciidoc while SourceHut not.
This cause the repository that use README.adoc rendered as text in
SourceHut which make the repository page less readable.
Also, the pkg.go.dev now render README but only support Markdown.
Since we cannot control the SourceHut and go.dev, the only option is
to support converting Markdown in ciigo so I can write README using
Markdown and the rest of documentation using Asciidoc.
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 +``` |
