https://github.com/ppriyanshu26/authpublic
Secure desktop tools for managing TOTP 2FA secrets and QR codes, featuring AES-256 encryption, password lock, GitHub sync, and a modern UI. Includes a TOTP Authenticator and QR Tool for easy OTP management and QR code operations.
https://github.com/ppriyanshu26/authpublic
access-token aes-encryption credentials-manager hashing python qrcode-generator qrcode-scanner tkinter totp-authenticator
Last synced: 14 days ago
JSON representation
Secure desktop tools for managing TOTP 2FA secrets and QR codes, featuring AES-256 encryption, password lock, GitHub sync, and a modern UI. Includes a TOTP Authenticator and QR Tool for easy OTP management and QR code operations.
- Host: GitHub
- URL: https://github.com/ppriyanshu26/authpublic
- Owner: ppriyanshu26
- License: other
- Created: 2025-07-31T08:19:45.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-10-19T19:01:02.000Z (3 months ago)
- Last Synced: 2025-10-20T02:19:21.174Z (3 months ago)
- Topics: access-token, aes-encryption, credentials-manager, hashing, python, qrcode-generator, qrcode-scanner, tkinter, totp-authenticator
- Language: Python
- Homepage:
- Size: 416 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
🔐 TOTP Authenticator & QR Tool
All-in-one desktop tools for secure OTP management and QR code magic!
---
## 📖 Overview
**TOTP Authenticator** and **QR Tool** are modern, cross-platform desktop apps for managing your two-factor authentication (2FA) secrets and QR codes securely. With strong encryption, a beautiful UI, and advanced backup options, you stay in control of your credentials—anywhere, anytime.
---
## ✨ Features
### 🔐 TOTP Authenticator
- AES-256 encrypted TOTP manager
- Password lock (stored in OS credentials manager)
- Live OTP list with copy & countdown ⏳
- Crypto utility for quick text encryption/decryption
- GitHub sync for backup/restore
- Password reset & security options
### 📷 QR Tool
- Scan, generate, encrypt, and save QR code data
- TOTP QR generation for authenticator apps
- AES-256 encryption for QR data
- User-friendly, modern interface
---
## � TOTP Authenticator — What It Does
TOTP Authenticator is a secure desktop app for managing all your Time-based One-Time Passwords (TOTPs) in one place, with strong encryption and advanced features for power users.
**Main Features:**
- Secure OTP storage (AES-256 encrypted, only accessible with your key)
- Password lock (stored in OS credentials manager)
- Live OTP list with copy & countdown
- Crypto utility: encrypt/decrypt any text with your login key
- GitHub sync for backup/restore
- Password reset & security options
**Use Cases:**
- Manage all your 2FA/TOTP codes for multiple platforms in one secure app
- Instantly copy OTPs for login, with visual countdown
- Encrypt/decrypt any text (e.g., passwords, notes) using your OTP key
- Back up your secrets to GitHub and restore them on a new device
**How the Decryption Key Works:**
- When you log in, you must enter your decryption key (min 8 chars)
- This key is used to decrypt your OTP secrets and for the crypto utility
- The key is never saved or stored—only you know it!
- Only OTPs encrypted with the key you enter will be shown; others remain hidden and secure
---
## 📷 QR Tool — What It Does
QR Tool is a simple yet powerful desktop app for working with QR codes, especially for two-factor authentication (TOTP) secrets.
**Main Features:**
- Scan & encrypt QR codes (decode, encrypt with your key, save to `encoded.txt`)
- Generate TOTP QR codes for authenticator apps (QR images are saved to your Desktop for easy access)
- Auto-scan and encrypt generated QRs
- Clean, dark-themed UI with toast notifications
**Use Cases:**
- Securely store TOTP secrets from QR codes (e.g., when setting up 2FA)
- Convert a TOTP secret into a QR code for easy scanning
- Encrypt/archive QR code data for backup or cross-device use
- Quickly decode and view any QR code image
---
## 🛠️ Installation & Requirements
- **Windows:**
- No installation required! Just download the EXE files from [Releases](#-download-ready-to-use-apps-windows) and run them directly.
- **Want to contribute?** See [Contributing](#-contributing).
- **On another OS or want to run from source?** See [Quick Start](#-quick-start).
---
### Requirements for Developers/Other OS
- Python 3.8+
- Install dependencies:
- `opencv-python`
- `qrcode`
- `cryptography`
- `tkinter` (usually included with Python)
- `requests` (for TOTP Authenticator)
- `pyperclip` (for TOTP Authenticator)
- `keyring` (for TOTP Authenticator)
```bash
pip install -r requirements.txt
```
---
## 🚀 Quick Start
### Windows
1. **Download the latest EXE files** for both apps from the [Releases](https://github.com/ppriyanshu26/AuthPublic/releases) section.
2. **Run the EXE files directly**—no installation or Python required!
- Start with `QR Tool.exe` to scan/generate and save your encrypted credentials.
- Then use `TOTP Authenticator.exe` to manage and use your OTPs.
> If you want to contribute or modify the code, clone the repository and follow the developer instructions below.
### Other OS (Linux/macOS)
1. Clone the repo:
```bash
git clone https://github.com/ppriyanshu26/AuthPublic.git
cd AuthPublic
```
2. Install dependencies:
```bash
pip install -r requirements.txt
```
3. (Optional) Build a standalone app with PyInstaller:
```bash
pip install pyinstaller
pyinstaller --onefile --windowed "Python/QR Tool.py"
pyinstaller --onefile --windowed "Python/TOTP.py"
```
- The executables will be in the `dist/` folder.
---
## 🔒 Security & Data Format
### Password Storage
- Your login password is never stored in plain text
- It is securely hashed and saved using your OS credentials manager (`keyring`):
- Windows: Credential Manager
- macOS: Keychain
- Linux: Secret Service / KWallet / etc.
### Encryption Key: Memorize It!
- The encryption key you enter to encrypt/decrypt your OTP data is never saved anywhere—not in files, not in memory, not in the cloud
- If you forget your encryption key, your encrypted OTP data cannot be recovered!
- Choose a strong but memorable key, and keep it safe
### How Your OTPs Are Stored
- All credentials are stored in a file named `encoded.txt` (in your app data folder).
- **Each line** in this file follows the format:
```
PlatformName, EncryptedTOTPURL
```
- The `EncryptedTOTPURL` is an AES-256 encrypted string of a standard TOTP URL, for example:
```
otpauth://totp/Issuer:Email?secret=SECRET&issuer=Issuer&algorithm=SHA1&digits=6&period=30
```
- **Multiple credentials** can be stored, each encrypted with any key you choose.
- **Only the credentials that match the decryption key you enter at login will be shown**—others remain hidden and secure. This means you can use different keys for different sets of credentials, and only those you unlock with your key will be visible.
---
## ☁️ Remote Backup & Access Anywhere
To safeguard your credentials and access them from anywhere:
1. **Upload your `encoded.txt` to a private GitHub repository** (recommended for backup and portability).
2. **Use a fine-grained GitHub access token** (with read access to your private repo) to allow the app to fetch your file securely from anywhere.
**Steps to Set Up Remote Access:**
1. Create a private repository on GitHub (e.g., `totp-backup`).
2. Upload your `encoded.txt` file to this repo.
3. Go to GitHub > Settings > Developer settings > Personal access tokens > Fine-grained tokens.
4. Generate a new token with **read-only** access to your private repo.
5. In the app, use the GitHub file URL (e.g., `https://github.com/yourname/totp-backup/blob/main/encoded.txt`) and your token to sync or restore your credentials from anywhere.
✅ This way, your secrets are always encrypted, portable, and only accessible with your key!
---
## 🎥 Project Walkthrough Video
Watch a full walkthrough of the project here:
▶️ Google Drive Video Walkthrough
---
## 🤝 Contributing
Contributions, bug reports, and suggestions are welcome! Please open an issue or pull request on [GitHub](https://github.com/ppriyanshu26/AuthPublic).
---
## 🖼️ Screenshots
### TOTP Authenticator Screenshots
Login Page — Enter your login password and decryption key to unlock your OTPs
GitHub Sync — Enter your uploaded encoded.txt file URL and GitHub access token for backup/restore
Main UI — View, generate, and copy OTPs for all your accounts
Password Reset — Reset your login password securely if you forget it
Reset Token — Reset your url and access token for the encoded.txt file
Crypto Utility — Encrypt or decrypt any text using your decryption key (stored only for the session)
---
### QR Tool Screenshots
Landing page — Choose between Scan & Encrypt QR Code or Generate QR From Scratch
Generate QR From Scratch — Generates a new QR code from user input
Scan & Encrypt QR Code — Decodes the QR, encrypts the data, and saves to encoded.txt
---
## ❓ FAQ
**Q: What if I forget my decryption key?**
A: There is no way to recover your encrypted OTP data without the key. Always memorize or securely store your key.
**Q: Can I use the same encoded.txt on multiple devices?**
A: Yes! Just copy or sync your `encoded.txt` and use your decryption key on any device.
**Q: Is my password or key ever sent to the cloud?**
A: No. Your password is stored only in your OS credentials manager, and your key is never saved anywhere.
**Q: Can I use this for non-TOTP QR codes?**
A: Yes, QR Tool can scan and encrypt any QR code data, not just TOTP.
**Q: How do I reset my password?**
A: Use the password reset option in the TOTP Authenticator app footer.
---
## 📦 Download Ready-to-Use Apps (Windows)
Head to the [Releases](https://github.com/ppriyanshu26/AuthPublic/releases) page to download the latest Windows executables for both apps!
---
## 📄 License
This project welcomes contributions and learning. However, redistribution, modification, or serving as a standalone or separate product (including rebranding or repackaging) is not permitted without my prior written consent. See [LICENSE](./LICENSE) for details.