Skip to content

jiacai2050/flauth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

34 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Flauth ๐Ÿ”

ไธญๆ–‡่ฏดๆ˜Ž

Flauth Logo

Flauth is a privacy-first, fully open-source TOTP authenticator. It offers both a GUI app (Android, macOS, Windows, Linux) and a lightweight CLI for viewing tokens directly in your terminal.

Documentation & Tools

๐ŸŒŸ Why Flauth?

  • 100% Open Source: Transparent and trustable code. Your secrets never leave your device unless you choose to sync them.
  • Flexible Backups:
    • Security Logic: Detailed backup and restore mechanisms.
    • Local Backup: Export/Import accounts as standard text files using system file pickers.
    • WebDAV Sync: Seamlessly sync your data with your private cloud (Nextcloud, Nutstore, etc.) using a robust single-file sync approach with custom path support.
  • Privacy & Security:
  • Modern UI: Focused on simplicity. Built with Material 3, supporting adaptive light and dark modes.

๐Ÿ“ธ Screenshots

Account List WebDAV Backup Security Settings

๐Ÿ“ฅ Importing from other apps

Migrating to Flauth is easy thanks to its support for standard otpauth:// URIs:

  • Importing from Aegis: A step-by-step guide to migrate all your accounts from Aegis Authenticator.
  • Manual Migration: For other apps, export your accounts as a plain text list of otpauth:// URIs (one per line). Save this file with a .flauth extension, then use the Local File import feature. If you have plain secret keys, you can use our TOTP URI Generator to create the QR codes or URI lists.
    otpauth://totp/GitHub:user?secret=ABC...&issuer=GitHub
    otpauth://totp/Google:user@gmail.com?secret=XYZ...&issuer=Google
    

โฌ‡๏ธ Download

You can download Flauth from the following sources:

  • F-Droid: The privacy-respecting FOSS Android app store.
  • GitHub Releases: Pre-compiled binaries for all supported platforms (Android APK, macOS, Linux, and Windows).

๐Ÿ’ก Which Android APK should I download?

  • arm64-v8a: (Recommended) For most modern Android phones (64-bit).
  • armeabi-v7a: For older 32-bit Android phones.
  • x86_64: For Android emulators on PC.
  • universal: (All-in-one) Works on any device. Choose this if you're unsure, though the file size is larger.

โšก๏ธ For Users in China (Download Acceleration)

If you encounter slow download speeds from GitHub, you can use the gh-proxy service to accelerate the download.

โŒจ๏ธ CLI

For a lightweight experience, Flauth also provides a command-line tool to view TOTP tokens directly in your terminal โ€” no GUI needed.

Pre-compiled binaries for Linux, macOS, and Windows are available on the GitHub Releases page.

Quick Install

curl -fsSL https://raw.githubusercontent.com/jiacai2050/flauth/main/docs/install.sh | sh

For users in China:

curl -fsSL https://raw.githubusercontent.com/jiacai2050/flauth/main/docs/install.sh | sh -s -- --china

Run install.sh --help for more options (e.g. --version, --prefix).

Usage

# Set the backup file path
export FLAUTH_BACKUP_FILE=/path/to/backup.flauth

# Show all tokens
flauth-cli

# Filter by keyword
flauth-cli github

# Show help
flauth-cli --help

๐Ÿ› ๏ธ Development

Prerequisites

  • Flutter SDK installed.
  • Appropriate development environment (Xcode for iOS/macOS, Android Studio for Android).
  • CocoaPods for iOS/macOS dependencies:
    brew install cocoapods

Build & Run

  1. Clone the repository:

    git clone https://github.com/jiacai2050/flauth.git
    cd flauth
  2. Install dependencies:

    flutter pub get
  3. Run the application:

    flutter run
  4. Build for release:

    flutter build apk      # Android
    flutter build macos    # macOS
    flutter build windows  # Windows
    flutter build linux    # Linux

Quality & Standards

Run the following commands to ensure code quality:

flutter analyze        # Static analysis
flutter test           # Run unit tests

๐Ÿ”‘ Android Signing

For details on how to configure app signing for production, see the Android Signing Guide.

๐Ÿ—๏ธ Platform Specifics

macOS

To build on macOS, ensure you have set up a Development Team in Xcode for code signing (required for Keychain access in Sandbox). The app includes entitlements for:

  • Network Client (WebDAV)
  • Camera (Scanning)
  • Keychain Sharing (Secure Storage)
  • User-Selected File Access (Local Backup)

Run the following command to remove the quarantine attribute if you encounter issues when launching the app:

xattr -rd com.apple.quarantine /Applications/Flauth.app

๐Ÿ›ก๏ธ Permissions

  • Camera: To scan QR codes for adding accounts.
  • Local Storage/Network: To backup/restore accounts locally or via WebDAV.

๐Ÿ“„ License

This project is licensed under the MIT License.

About

A privacy-first, fully open-source TOTP authenticator for Android, macOS, Windows, and Linux.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors