Skip to content

Secure your online accounts with Open Authenticator : a free, open-source and lovely-crafted TOTP manager.

License

Notifications You must be signed in to change notification settings

Skyost/OpenAuthenticator

Repository files navigation

Logo

Open Authenticator

A cross-platform OTP app, free and open-source.
Download now »

Website · Issue tracker · Contribute

GitHub License GitHub top language GitHub Repo stars

Motivations

It's pretty simple : I was using Twilio Authy as my main TOTP app without any problem so far. Back in January 2024, my Authy for Windows app started displaying me the following message :

The Authy Desktop apps Linux, MacOS, and Windows, will reach their End-of-Life (EOL) on March 19, 2024.

Wow. So Twilio has decided to shutdown all their desktop apps, leaving only three months (!) to users like me to find an alternative. Add to that that there is almost no way to export your TOTPs from this app, and it was enough for me to consider creating an alternative.

That's how Open Authenticator was born, with open-sourceness, interoperability and freedom in mind.

Features

  • Open-source, and will always be.
  • Free to use.
  • Multilanguage. Currently, only english and french are supported, but you can help translating the app into your language !
  • Cross-platform.
  • TOTPs synchronization supported through Firebase Firestore.

Screenshots

Download

Download links are available on the Open Authenticator website.

Build and run

App

First, you'll have to compile SVG files into .si. In order to do that, you can use the following command :

dart run "open_authenticator:compile_svg"

Then, you'll have to generate your own app.dart file. It contains all credentials needed to run the app (Firebase, Sign-In providers, RevenueCat, ...).

To do so, you can run the following utility :

dart run "open_authenticator:generate"

And then, you'll also need to link the app to Firebase. You can follow the steps here for that.

This should allow you to run the app in its minimal state. For advanced features, like synchronization, sign-in using providers, ... you'll also need to configure them on your side.

Use the links below to do so :

Website

The website has been created using Nuxt 3. Just run the following commands to start a dev server :

cd docs
npm install
npm run dev

You'll be able to access it on localhost:3000.

What's next

If this project becomes popular, I would like to provide its own backend to Open Authenticator. Currently, it's using Firebase Auth / Firestore, which is perfect for this project in its current state. Having a dedicated server would be too expensive for the moment.

If it's sustainable enough, we could even consider completely removing any TOTPs limit from the app.

License

Open Authenticator is licensed under the GNU General Public License v3.0.

Contribute

If you like this project, there are a lot of ways for you to contribute to it ! Please read the contribution guide before getting started.

Help translating it

You can translate the app into your language by submitting a pull request targeting the files located in the lib/i18n folder (for the app) and docs/locales (for the website). Feel also free to submit a pull request for any typo you encounter.

Report bugs or suggest new features

You can report bugs or suggest new features in the issue tracker. If you don't want to create a Github account, you can also contact the developer directly.

Donate

You can donate for this project using either PayPal, Ko-Fi or Github sponsors.

If you don't want to donate, any kind message is also appreciated !