5 stable releases
2.1.0 | Jun 4, 2020 |
---|---|
2.0.0 | May 12, 2020 |
1.1.2 | Apr 22, 2020 |
#20 in #2fa
21KB
456 lines
notp
notp is a CLI tool for generating one time passwords from CLI. Highly influenced by 2FA repository from rsc.
Installation
You can clone the repository and build it from the source, download using crate.io
or just download the binary that goes well with your OS
from the latest release
Usage
# Let's see what we have here.
$ notp --help
# notp supports --key and --stdin exclusively. If you want to keep your secret secret,
# I urge you to use --stdin flag. --key is also usefull when you want to combine notp with
# shell tools and don't want to pass your secret using echo and such. Also, for the sake of
# simplictiy I'll keep using --key flag throughout this documentation.
# Alrigh, lets say I'd like to add a Google account.
$ notp --add taylan-google --key superSecretKey
# you have to provide secret code when stdin prompts.
# OR
$ notp --add taylan-google --stdin
# Key: <you will type your encryption key here>
# Enter secret prompt: <You will paste your OTP secret here>
$ notp --list
$ notp --get <name> --key superSecretKey
OTP generation only supports 6 digit codes, for now.
notp uses default config path on the OS that you're using. Such as ~/.config/notp
for Linux, \AppData\Roaming\notp
for
Windows and ~/Library/Preferences/notp
for iOS and encrypts the file AES with the given key from CLI as an argument.
The default time-based authentication codes are derived from a hash of the key and the current time, so it is important that the system clock have at least one-minute accuracy.
Example
Adding new secret:
$ notp --add AWS --key ttaayyllaann
Please enter the secret: NRNM7KGFTR6SUMPBAEMBETM2WGKVUWHH6Y4VEGNPZON3GMVXBHF...
$
# There won't be any confirmation messages that indicates successfull insertion
# but there will be error messages if something wents wrong.
Checking existing secrets you have:
$ notp --list
1. AWS
2. Google
$
Generating the OTP code:
$ notp --get AWS --key ttaayyllaann
OTP code for the AWS: 442659
$
Deleting a secret:
$ notp --delete AWS
AWS Deleted!
Using with CLI:
$ notp --key ttaayyllaann -q --get AWS
442659
Dependencies
~13MB
~333K SLoC