Smart 2FA Manager Desktop 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.

Python PyQt5 2FA TOTP Offline Linux

Smart 2FA Manager Desktop — 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.

  • Offline & Independent — no internet connection required
  • GPG Encrypted Storage — AES-256 encrypted secrets
  • QR Code Support — import secrets into Google Authenticator / Aegis
  • Encrypted Backups — timestamped backups with same password
  • Copy to Clipboard — one-click code copying
  • Lock Storage — lock when leaving your computer
  • Cross-Ecosystem Compatible — works with Bash, Python CLI, and Android versions

Dependencies:

  • python-pyqt5 (PyQt5) — REQUIRED for GUI
  • gpg (GNU Privacy Guard) — REQUIRED for encryption
  • oathtool (OATH Toolkit) — REQUIRED for TOTP codes
  • qrencode (optional) — OPTIONAL for QR codes
# 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:

# Clone repository
git clone https://github.com/smartlegionlab/smart-2fa-manager-desktop.git
cd smart-2fa-manager-desktop

# Run
python app.py

Main Buttons:

ButtonDescription
+ Add ServiceAdd a new TOTP service
🔄 Refresh CodesManually refresh all codes
💾 BackupCreate encrypted backup with timestamp
📂 RestoreRestore from encrypted backup

Table Actions:

ButtonDescription
📋 CopyCopy TOTP code to clipboard
🔑 GetShow TOTP code in dialog
📱 QRShow QR code for phone import
🗑 DeleteDelete service

Global Shortcuts:

ShortcutAction
Ctrl + LLock storage
Ctrl + EExit application
F1Show About dialog
Ctrl + /Show Keyboard Shortcuts

Services Shortcuts:

ShortcutAction
Ctrl + NAdd new service
Ctrl + RRefresh all codes
Ctrl + BCreate backup
Ctrl + Shift + RRestore from backup

Table Actions (when row selected):

ShortcutAction
Ctrl + CCopy code to clipboard
Ctrl + GShow code in dialog
Ctrl + QShow QR code dialog
DelDelete 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)

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

# Just run GUI - it will detect existing storage
python app.py
# Enter your existing password

By using this software, you agree to the full disclaimer terms.

Software provided "AS IS" without warranty. You assume all risks.

Full legal disclaimer: See DISCLAIMER.md

License: BSD 3-Clause License