LibreOTP is a cross-platform desktop OTP code generator. Currently it works exclusively with an exported JSON file from 2FAS. It supports Windows, Mac and Linux and 2FAS features like grouping. Currently only TOTP keys are supported.
This project was borne from necessity. I needed a modern desktop application that would support 2FAS exports including grouping and search on Linux. It's rough, it's ready, but it does exactly what I needed it to do and might be what you need to!
Flutter means this app works on Windows, Mac and Linux.
Contributions and improvements are welcome, open an RFC:
issue if you'd like to discuss a plan before getting started.
data.json
.
/home/henri/Documents/LibreOTP/data.json
. On other platforms the document directory is:
C:\Users\<Username>\Documents\LibreOTP\data.json
/Users/<Username>/Documents/LibreOTP/data.json
/home/<Username>/Documents
chmod +x ./LibreOTP
./LibreOTP
data.json
isn't in the right place, or its malformed, the crash will be quick and unhandled.Core layout of the app is heavily inspired by otpclient
which I liked but I found lacked grouping. Being written in C, I didn't find it particularly easy to contribute to either.
The Flutter docs are great and along with IntelliJ's starter project meant I got up and running really fast. Coupled with copious amounts of GPTing I went from concept to version 0.1 in just 3 hours with no prior knowledge of Flutter or Dart.