Smart 2FA Manager v1.1.5

Offline, independent TOTP 2FA manager for Linux with graphical interface

No cloud, no phone required. Store your secrets locally, generate codes, create encrypted backups, and sync with Google Authenticator via QR codes.

Python PyQt5 TOTP GPG Linux Offline QR Codes

Offline, independent TOTP 2FA manager for Linux with graphical interface. No cloud, no phone required. Store your secrets locally, generate codes, create encrypted backups, and sync with Google Authenticator via QR codes.

Main Buttons

  • + Add Service — Add a new TOTP service
  • 🔄 Refresh Codes — Manually refresh all codes
  • 💾 Backup — Create encrypted backup with timestamp
  • 📂 Restore — Restore from encrypted backup

Table Actions

  • 📋 Copy — Copy TOTP code to clipboard
  • 🔑 Get — Show TOTP code in dialog
  • 📱 QR — Show QR code for phone import
  • 🗑 Delete — Delete service

Dependencies:

  • python-pyqt5 — REQUIRED for GUI
  • gpg — REQUIRED for encryption
  • oathtool — REQUIRED for TOTP codes
  • qrencode — OPTIONAL for QR codes

Install commands:

# Arch Linux
sudo pacman -S python-pyqt5 oath-toolkit gnupg qrencode

# Debian/Ubuntu
sudo apt install python3-pyqt5 oathtool gpg qrencode

# Fedora/RHEL
sudo dnf install python3-pyqt5 oathtool gnupg2 qrencode

Setup:

git clone https://github.com/smartlegionlab/smart-2fa-manager-desktop.git
cd smart-2fa-manager-desktop
python app.py

Global Shortcuts

  • Ctrl + L — Lock storage
  • Ctrl + E — Exit application
  • F1 — Show About dialog
  • Ctrl + / — Show Keyboard Shortcuts

Services Shortcuts

  • Ctrl + N — Add new service
  • Ctrl + R — Refresh all codes
  • Ctrl + B — Create backup
  • Ctrl + Shift + R — Restore from backup

Table Actions (when row selected)

  • Ctrl + C — Copy code to clipboard
  • Ctrl + G — Show code in dialog
  • Ctrl + Q — Show QR code dialog
  • Del — Delete service

~/.2fa/
├── secrets.gpg          # Encrypted master storage
└── backups/
    └── secrets.2026-04-06_14-30-00.gpg

Compatible with bash and Python CLI versions!

  • Secrets are stored locally in ~/.2fa/secrets.gpg (AES-256 encrypted with GPG)
  • No internet connection required — codes generated locally using oathtool
  • Backups are encrypted with the same password
  • QR codes let you import secrets into Google Authenticator / Aegis
  • Lost your phone? Just re-scan QR codes from your Linux machine

  • Your GPG password is never stored
  • Backup files are encrypted with the same password
  • Lock storage when leaving your computer (Ctrl + L)
  • Keep backups in a safe place (encrypted USB drive, offline storage)

The application allows you to create desktop entries directly from the menu:

  • Go to File → Create Desktop Entry
  • Choose locations: Application Menu or Desktop
  • Creates .desktop file with proper configuration

Available on Linux systems with desktop environments that support .desktop files (GNOME, KDE, XFCE).

Your existing ~/.2fa/secrets.gpg file works without additional settings in other versions of this ecosystem!

  • Language: Python 3.6+
  • GUI: PyQt5
  • Encryption: GPG (AES-256)
  • TOTP: oathtool
  • QR Codes: qrencode (optional)
  • Platform: Linux
  • License: BSD 3-Clause