Kleiner Windows-Tray-Manager für TOTP-Codes (wie WinAuth/Google Authenticator), der beim Start von XIVLauncher automatisch den Code des verknüpften FFXIV-Accounts in die Zwischenablage kopiert.
go build -ldflags="-H=windowsgui" -o otp-manager.exe .otp-manager.exestarten. Ein blaues Kreis-Icon erscheint im System-Tray.- Rechtsklick → Account hinzufügen… → Namen und Secret eingeben.
- Zum Testen zuerst ein beliebiges Test-Secret verwenden (z.B.
JBSWY3DPEHPK3PXP), bevor du deinen echten Account einträgst. - Für den echten FFXIV-Account: Im Square Enix Account Management unter Security Level / One Time Password die App-Methode aktivieren; der dabei angezeigte Secret-Key (Base32) ist der Wert, den du hier einträgst.
- Zum Testen zuerst ein beliebiges Test-Secret verwenden (z.B.
- Rechtsklick → Mit XIVLauncher verknüpfen → den gewünschten Account wählen.
- Beim nächsten Start von
XIVLauncher.exewird der Code automatisch kopiert (und alle 30s aktualisiert, solange der Launcher offen bleibt).
- Codes → : Code manuell kopieren.
- Account hinzufügen…: neuen Account anlegen.
- Account entfernen → : Account löschen.
- Mit XIVLauncher verknüpfen → : legt fest, welcher Account beim XIVLauncher-Start automatisch kopiert wird.
- Backup exportieren → : speichert eine Klartext-Kopie von
Name + Secret als
.txtunterDokumente\FFXIV OTP Manager Backup\. Fragt dabei zusätzlich, ob du einen offiziellen Wiederherstellungsschlüssel hast (z.B. von Square Enix — ein separater Schlüssel, den du meist erst nach der OTP-Einrichtung bekommst, nicht dasselbe wie das Einrichtungs-Secret oben) und sichert ihn mit, falls ja. - Beenden: Programm schließen.
Das Programm trägt sich beim ersten Start automatisch in den
Windows-Autostart ein (HKCU\...\Run).
Accounts liegen unverschlüsselt in accounts.json neben der .exe. Diese
Datei nie committen oder weitergeben — sie enthält deine TOTP-Secrets.
Bei jeder Änderung (Account hinzufügen/entfernen/verknüpfen) wird
automatisch eine Momentaufnahme von accounts.json nach
Dokumente\FFXIV OTP Manager Backup\Snapshots\ kopiert — als eigene Datei
mit Zeitstempel im Namen (accounts-2026-07-31_14-05-23.123456789.json).
Bestehende Snapshots werden dabei nie überschrieben oder gelöscht,
jede Änderung legt einfach eine weitere Datei an. Wiederherstellen im
Ernstfall: gewünschten Snapshot aus dem Ordner auswählen und als
accounts.json neben die .exe kopieren.
Zusätzlich kannst du pro Account über Backup exportieren eine menschenlesbare Sicherungskopie (Name + Secret, optional + offizieller Wiederherstellungsschlüssel) in denselben Dokumente-Ordner legen — unabhängig vom automatischen Snapshot, für den absoluten Notfall.
Für Accounts, deren Name nach FFXIV klingt (ffxiv, xiv, final fantasy, ff14 — Groß-/Kleinschreibung egal), erinnert dich das Programm
automatisch: Fehlt 5 Minuten nach dem Anlegen (oder nach jedem App-Start)
noch ein Recovery-Backup in Dokumente, fragt ein Dialog danach. „Später
erinnern" verschiebt die nächste Nachfrage nur um weitere 5 Minuten, statt
sie abzubrechen — irgendwann klickst du also entweder „Jetzt speichern"
oder legst das Backup manuell an.
accounts.json liegt unverschlüsselt vor — bewusste Entscheidung für
diesen Single-User-PC. Wer diesen Code auf einem geteilten Rechner nutzt,
sollte das berücksichtigen (keine echte Zugriffsbeschränkung über die
Windows-Dateiattribute hinaus, keine Verschlüsselung).
go test ./...— Tests laufen lassengo test ./... -race— inklusive Data-Race-Erkennunggo vet ./...— Statische Prüfunggo build -ldflags="-H=windowsgui" -o otp-manager.exe .— Release-Build ohne Konsolenfenster
Beim manuellen Testen niemals die echte, produktive accounts.json
verwenden — immer eine separate Scratch-Kopie der .exe in einem
eigenen Ordner. Ein Debug-Fehler hat einmal genau dadurch die einzige
Kopie eines echten Accounts gelöscht.
