Given a TOTP seed, you can generate one-time passcodes on your CLI, also receiving the time remaining for a particular code. Passing the -c option will also immediately copy it to the clipboard.
topt-seed-cli -s BD6ZWNRLEOG5JUQHC2YW6BXX2K675AZX
╔════════════╗
║ ║
║ 047232 ║
║ ║
╚════════════╝
9 seconds remaining for this code.- Install it globally using
npm i -g totp-seed-cli. - Pass it a seed and use the optional
-cflag to copy the code to your clipboard:totp -s ABCDEFGH -c. - Pass the optional
-wif you'd like it to generate another code once time expires.
To use totp locally in your CLI, install it globally using npm:
npm i -g totp-seed-cli
Use -s to pass in your seed:
totp -s ABCDEFGH
This will output the code to the console.
To display the code and the time remaining, but also copy it to the clipboard, pass -c:
totp -s ABCDEFGH -c
To save the seed in a local file for future use, pass -S
totp -s ABCDEFGH -S
From here on, you can just call totp.
Using your shell of choice, you can create an alias so you can call this from anywhere without having to pass your seed.
If you're using zsh, use your editor to edit your .zshrc:
vi ~/.zshrc
Add an alias with your seed and the copy command, such as:
alias otp="totp -s ABCDEFGH -c"
Save the file and restart your terminal. You can now simply call otp from anywhere.
Acknowledgements: the source for the TOTP Class is entirely sourced from the Blendist's TOTP.io project, which is the web equivalent of this project and where I got the inspiration to do this from.
Non-ESM packages specifically to work with node v16.15.0.