Mist, jetzt habe ich auch noch Streamlit gefunden. Jetzt geht mir langsam die Zeit aus...
FreeOTP+ Datenumzug nach Bitwarden Authenticator
-
Da ich viele Linux News lese, bin ich irgendwann auch mal über den Bitwarden Authenticator gestolpert.
Kurze Erläuterung, ich nutze als Passwortspeicher einen selbst gehosteten Vaultwarden Server. Diesen kann man über die Bitwarden Apps erreichen.
Da man heutzutage ja auch immer einen 2FA nutzen sollte, setze ich dafür schon lange auf die Android App FreeOTP+. Ich spiele aber schon länger mit dem Gedanken, diese App zu ersetzen.
Innerhalb von FreeOTP+ ist man in der Lage die Daten in zwei Formaten zu exportieren.
- JSON
- TXT
Ich habe mich für das TXT Format entschieden. Ein Beispiel.
otpauth://totp/Radforum%20D%C3%BCsseldorf%3Afrankm%40radforum-duesseldorf.de?secret=<SECRET>&algorithm=SHA1&digits=6&period=30
Das müssen wir jetzt in ein vernünftiges Format umwandeln, was wir mit Bitwarden Authenticator importieren können. Beispiel
{ "encrypted": false, "items": [ { "favorite": false, "id": "52A4DFB0-F19E-4C9D-82A1-BBEE95BBEF81", "login": { "totp": "otpauth://totp/Amazon:alice@bitwarden.com?secret=IIO5SCP3766LMSAB5HJCQPNDCCNAZ532&issuer=Amazon&algorithm=SHA1&digits=6&period=30", "username": "alice@bitwarden.com" }, "name": "Amazon", "type": 1 },
Doku Bitwarden -> https://bitwarden.com/de-de/help/authenticator-import-export/
Damit haben wir dann ja die Grundlagen, um mal eben mit Python und der freundlichen Unterstützung von ChatGPT einen Converter zu bauen.
Ein paar Tests und so weiter und nach ca. 2 Stunden war alles fertig.
Die CLI Anwendung benutzt man dann wie folgt.
python converter.py -i import.txt -o output.json
Das File output.json dann innerhalb der Bitwarden Authenticator App importieren - fertig. Leider werden die Favicons beim Import nicht erstellt. Ich habe bis jetzt keinen Fehler in meinen importierten Daten festgestellt, hat alles so weit geklappt.
Schnell noch ein Gitlab Repo dazu erstellt, damit andere nicht wieder von vorne anfangen müssen