Multi-purpose OTP token generator written in C++ and Qt with encryption and System Tray Icon. Supports TOTP, HOTP, Authy and Steam and custom digit lengths and periods.
This codebase is an unholy mess, but I use this application myself everyday and some other people have shown interest in it too. I definitely won't continue improving this existing codebase. I consider a complete rewrite from scratch and tag it as version 2 instead.
Interesting libraries to check out:
zbar as QR Code backend. TODO: Check if the library supports reading from regular image files. Having shit like V4L2 support is nice, but my application must be able to decode QR codes from files stored on disk and not a realtime webcam source.
Thoughts:
Drop the CLI version. I never finished the CLI version in this version so it most likely will not happen in v2 either.
Don't implement custom client-side window decorations and themes!! It's a mess to implement this and keep up with it and most people will just complain about why the application doesn't follow their configured theme anyway.
Continue using Qt for the GUI. Keep the core free from Qt specific code to keep it usable for other non-Qt frontends.
Reduce amount of dependencies wherever possible.
Create a new database format and write a migration tool to transfer over the v0.9.3 database. I don't plan to keep either of those 2 formats.
This codebase is an unholy mess, but I use this application myself everyday and some other people have shown interest in it too. I definitely won't continue improving this existing codebase. I consider a complete rewrite from scratch and tag it as version 2 instead.
Interesting libraries to check out:
Thoughts:
Drop the CLI version. I never finished the CLI version in this version so it most likely will not happen in v2 either.
Don't implement custom client-side window decorations and themes!! It's a mess to implement this and keep up with it and most people will just complain about why the application doesn't follow their configured theme anyway.
Continue using Qt for the GUI. Keep the core free from Qt specific code to keep it usable for other non-Qt frontends.
Reduce amount of dependencies wherever possible.
Create a new database format and write a migration tool to transfer over the v0.9.3 database. I don't plan to keep either of those 2 formats.
The rewrite is happening in a new repository -> https://github.com/magiruuvelvet/OTPGen2