PB Authenticator : A modern, open-source two-factor authentication (2FA) app built with Flutter

Sasan Salamzadeh 7034784b28 Search Section added 11 ماه پیش
android 7034784b28 Search Section added 11 ماه پیش
assets 581057050d Persian laguage and RTL Style added, Readme Updated 1 سال پیش
graphics 9f0b081181 Add Aegis Icons Outline to project and card 1 سال پیش
lib 7034784b28 Search Section added 11 ماه پیش
readme-assets 581057050d Persian laguage and RTL Style added, Readme Updated 1 سال پیش
state 581057050d Persian laguage and RTL Style added, Readme Updated 1 سال پیش
test 2251d54d59 Add help section and FAQ 1 سال پیش
totp 581057050d Persian laguage and RTL Style added, Readme Updated 1 سال پیش
.editorconfig 141e408b83 Initial Commit 1 سال پیش
.gitignore 141e408b83 Initial Commit 1 سال پیش
.metadata 141e408b83 Initial Commit 1 سال پیش
LICENSE 141e408b83 Initial Commit 1 سال پیش
README.md 581057050d Persian laguage and RTL Style added, Readme Updated 1 سال پیش
analysis_options.yaml 141e408b83 Initial Commit 1 سال پیش
devtools_options.yaml 141e408b83 Initial Commit 1 سال پیش
l10n.yaml 141e408b83 Initial Commit 1 سال پیش
pubspec.lock 7034784b28 Search Section added 11 ماه پیش
pubspec.yaml 581057050d Persian laguage and RTL Style added, Readme Updated 1 سال پیش

README.md

PB Authenticator

A modern, open-source two-factor authentication (2FA) app built with Flutter. PB Authenticator supports TOTP, QR code scanning, secure local storage, and a beautiful, customizable UI. Now with full Persian (Farsi) language support, RTL layout, and the Vazirmatn font for a seamless experience for Persian users.


🚀 Features

  • Time-based One-Time Passwords (TOTP): Securely generate 2FA codes for your accounts.
  • QR Code Scanning: Quickly add accounts by scanning QR codes.
  • Manual Entry: Add accounts manually if QR is not available.
  • Material Design: Clean, modern, and responsive UI.
  • Icon Support: Large collection of SVG icons for popular services.
  • Account Management: Edit, remove, and organize your 2FA accounts.
  • Export/Import: Transfer your accounts between devices securely.
  • Security: PIN code and biometric authentication support.
  • Screen Capture Prevention: Optional protection against screenshots.
  • Theme Support: Light, dark, and system themes.
  • Localization:
    • English and Persian (Farsi) language support
    • Language switcher in settings
    • RTL layout and Vazirmatn font for Persian
  • Cross-Platform: Runs on Android, iOS, and desktop (Flutter-supported platforms).

🌐 Localization & RTL

  • Persian (Farsi) Support: All UI elements are fully translated.
  • RTL Layout: The app automatically switches to right-to-left layout and uses the Vazirmatn font when Persian is selected.
  • Language Switcher: Instantly change the app language from the settings menu.

🖼️ Icon & Asset Support

  • Hundreds of SVG icons for popular services (see graphics/aegis-icons-outline/SVG/).
  • Custom app icon included.

🔒 Security

  • All data is stored locally on your device.
  • PIN code and biometric authentication options.
  • Optional prevention of screen capture for sensitive screens.

📦 Getting Started

Prerequisites

  • Flutter SDK
  • Android/iOS device or emulator, or desktop (for supported platforms)

Installation

flutter pub get
flutter run

Directory Structure

  • lib/ — Main app code
  • lib/pages/ — UI pages (settings, add, import/export, etc.)
  • lib/l10n/ — Localization files (ARB, generated Dart)
  • graphics/ — App icons and SVG icon set
  • assets/fonts/ — Custom fonts (Vazirmatn)
  • test/, state/test/, totp/test/ — Unit and widget tests

🧪 Testing

Run all tests:

flutter test

🤝 Contributing

Contributions, issues, and feature requests are welcome!

  • Fork the repo
  • Create your feature branch (git checkout -b feature/your-feature)
  • Commit your changes (git commit -am 'Add new feature')
  • Push to the branch (git push origin feature/your-feature)
  • Open a pull request

📄 License

This project is licensed under the MIT License — see the LICENSE file for details.


🙏 Credits


📷 Screenshots

Material Theme
Import Accounts
Add Account with Manual Input
Main Page Code List
PB Authenticator Settins
How It Works

Disclaimer: PB Authenticator is not ready for production. There may be bugs and upgrade issues. Use at your own risk.