Skip to main content

A keyboard-driven terminal UI for managing TOTP/HOTP one-time passwords

Project description

authenticator-tui

A terminal UI for managing TOTP/HOTP one-time passwords stored as otpauth:// URLs.

Main screen

Features

  • Live codes — TOTP codes refresh every second with a countdown progress bar
  • Filter — press f and type to narrow the list by issuer or account
  • Add — paste an otpauth:// URL or fill in fields manually
  • Delete — remove an entry with auto-save
  • Big code view — press Enter on any entry to display the code in large digits
  • Clipboard — click any entry to copy the code
  • Export — write all entries to a file as otpauth:// URLs

Install

uv tool install git+https://gitlab.com/riphixel/authenticator-tui

Or run directly without installing:

uvx --from git+https://gitlab.com/riphixel/authenticator-tui authenticator-tui otp.txt

Usage

authenticator-tui [path/to/otp.txt]

If no file is given (or the path doesn't exist) a file picker appears on startup. The file is auto-saved on every add or delete.

Keybindings

Key Action
f Focus filter input
in filter Jump to first list entry
on first entry Jump back to filter
a Add OTP (modal)
d Delete selected OTP
e Export to file (modal)
Enter Show code in big digits
Click Copy code to clipboard
Escape Clear filter / close modal
q Quit

Screenshots

Filter

Filter

Add OTP

Add OTP modal

Big code view

Big code

File format

One otpauth:// URL per line. Blank lines and lines starting with # are ignored.

otpauth://totp/GitHub:alice@example.com?secret=JBSWY3DPEHPK3PXP&issuer=GitHub
otpauth://totp/PayPal:alice@example.com?secret=JBSWY3DPEHPK3PXP&issuer=PayPal

Development

uv sync
uv run authenticator-tui otp.txt

# tests
uv run pytest

# lint
uvx ruff check .
uvx ruff format --check .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

authenticator_tui-1.0.0.tar.gz (74.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

authenticator_tui-1.0.0-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file authenticator_tui-1.0.0.tar.gz.

File metadata

  • Download URL: authenticator_tui-1.0.0.tar.gz
  • Upload date:
  • Size: 74.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for authenticator_tui-1.0.0.tar.gz
Algorithm Hash digest
SHA256 945cd21fff9c92bfa27dd6ca89c20f85bcd4a97a28640aa8600bf4d8f9acb5b9
MD5 9b7d140f34912dab3227cdf30a668474
BLAKE2b-256 53b796a9f82ef5ab871a8546c29159d644c05c7abd11c9d0947b6cd8cc47ff40

See more details on using hashes here.

File details

Details for the file authenticator_tui-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for authenticator_tui-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f00c56b6a4a159876c2f038e2235ba41819b72b830bed2185adaf2b3b9b7cf08
MD5 9017d64f96ec81ea45f02e48afc3e617
BLAKE2b-256 5db5fb12644a0035a520d8b1d178dffe5e8238bbf2c624048cf411d8f4aacc95

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page