https://github.com/skyost/openauthenticator
Secure your online accounts with Open Authenticator : a free, open-source and lovely-crafted TOTP manager.
https://github.com/skyost/openauthenticator
2fa 2factor 2factor-authentication authenticator otp otp-generator totp totp-generator
Last synced: 11 months ago
JSON representation
Secure your online accounts with Open Authenticator : a free, open-source and lovely-crafted TOTP manager.
- Host: GitHub
- URL: https://github.com/skyost/openauthenticator
- Owner: Skyost
- License: gpl-3.0
- Created: 2024-03-25T11:39:31.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-09T10:10:16.000Z (11 months ago)
- Last Synced: 2025-03-10T06:13:47.510Z (11 months ago)
- Topics: 2fa, 2factor, 2factor-authentication, authenticator, otp, otp-generator, totp, totp-generator
- Language: Dart
- Homepage: http://openauthenticator.app/
- Size: 3.18 MB
- Stars: 33
- Watchers: 2
- Forks: 7
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
Open Authenticator
A cross-platform OTP app, free and open-source.
Download now »
Website
·
Issue tracker
·
Contribute



## 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](#help-translating-it) into your language !
* Cross-platform.
* TOTPs synchronization supported through Firebase Firestore.
## Screenshots

## Download
Download links are available on the [Open Authenticator website](https://openauthenticator.app/#download).
## 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 :
```shell
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 :
```shell
dart run "open_authenticator:generate"
```
And then, you'll also need to link the app to Firebase. You can follow the steps [here](https://firebase.google.com/docs/flutter/setup)
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 :
* [Configure Firebase Auth](https://firebase.google.com/docs/auth/flutter/start).
* [Configure Firebase Firestore](https://firebase.google.com/docs/firestore).
* [Configure Firebase Dynamic Links](https://firebase.google.com/docs/dynamic-links).
* [Configure RevenueCat](https://www.revenuecat.com/docs/getting-started/entitlements).
* [Configure Stripe with RevenueCat](https://www.revenuecat.com/docs/getting-started/entitlements/stripe-products).
* [Configure Stripe payment links](https://docs.stripe.com/payment-links)
### Website
The website has been created using [Nuxt 3](https://nuxt.com/). Just run the following commands
to start a dev server :
```shell
cd docs
npm install
npm run dev
```
You'll be able to access it on [localhost:3000](http//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](https://choosealicense.com/licenses/gpl-3.0/).
## Contribute
If you like this project, there are a lot of ways for you to contribute to it !
Please read the [contribution guide](https://github.com/Skyost/OpenAuthenticator/blob/main/CONTRIBUTING.md)
before getting started.
### Help translating it
We're looking for translators. If you want to help but know nothing about code, just go on the
[translation page](https://openauthenticator.app/translate/) on the website.
You can also 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](https://github.com/Skyost/OpenAuthenticator/issues).
If you don't want to create a Github account, you can also [contact the developer](https://openauthenticator.app/contact) directly.
### Donate
You can donate for this project using either [PayPal](http://paypal.me/Skyost),
[Ko-Fi](https://ko-fi.com/Skyost) or [Github sponsors](https://github.com/sponsors/Skyost).
If you don't want to donate, any [kind message](https://openauthenticator.app/contact) is also
appreciated !