OtpForge
Use the bundled cli.py and core.py to manage a local JSON vault of TOTP secrets and to generate current codes.
Quickstart (CLI)
- List accounts:
python3 cli.py listpython3 cli.py list --codes
- Add/update an account:
python3 cli.py add <label> <base32-secret> --issuer <issuer> --digits 6 --period 30
- Get one code:
python3 cli.py code <label>
- Remove:
python3 cli.py remove <label>
Vault location
- Default:
~/.config/otpforge/secrets.json - Override with env var:
OTPFORGE_STORE=/path/to/secrets.json - Override with CLI flag (preferred for one-offs):
python3 cli.py --store /path/to/secrets.json ...
GUI
- Launch:
python3 cli.py gui
Notes:
- The GUI is a simple Tkinter app that refreshes codes every second.
- Secrets are masked in the input field.