README.md 4.4 KB

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.
  • Search & Sort:
    • Search accounts by name or issuer
    • Sort accounts alphabetically (A-Z or Z-A)
    • Real-time filtering with instant results
  • 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).

๐Ÿ” Search & Organization Features

  • Real-time Search: Instantly filter your accounts as you type
  • Multi-field Search: Search by account name or service provider/issuer
  • Smart Sorting: Organize accounts alphabetically in ascending or descending order
  • Search Feedback: Clear visual feedback when no results are found
  • Quick Clear: Easily clear search terms with one tap

๐ŸŒ 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.