enables auto-OTP on linux
| .gitignore | ||
| config.example.json | ||
| installer.sh | ||
| PKGBUILD | ||
| README.md | ||
| wrapper.py | ||
| xivlauncher-wrapper.desktop | ||
| xivlauncher-wrapper.png | ||
XIVLauncher OTP Wrapper
This is a wrapper script for Linux that launches xivlauncher-core (Native or Flatpak) and automatically injects your One-Time Password (OTP) when the launcher requests it.
Features
- Auto-Detection: Automatically detects if you are using the native
xivlauncher-core(Arch/AUR) or the Flatpak version. - OTP Injection: Generates TOTP codes and sends them to the launcher's internal server.
- URL Support: Accepts standard Base32 secrets OR full
otpauth://URLs (e.g. from QR codes). - Auto-Configuration: Prompts to fix
launcher.inisettings if they are incorrect.
Installation (Steam Deck / Linux Desktop)
The easiest way to install is using the provided installer script.
- Run the Installer:
./installer.sh - Enter Secret: When prompted, enter your TOTP Secret or paste a full otpauth:// URL.
What it does:
- Creates
~/.config/xivlauncher-wrapper/config.json. - Installs the wrapper to
~/.local/bin/xivlauncher-wrapper. - Installs a
.desktopfile to~/.local/share/applications/so it appears in your application menu.
Steam Integration (Steam Deck)
- Switch to Desktop Mode.
- Open Steam.
- "Games" -> "Add a Non-Steam Game to My Library".
- Select "XIVLauncher Wrapper" from the list.
- Return to Gaming Mode and launch "XIVLauncher Wrapper".
Manual Setup
-
Configure:
mkdir -p ~/.config/xivlauncher-wrapper cp config.example.json ~/.config/xivlauncher-wrapper/config.json nano ~/.config/xivlauncher-wrapper/config.jsonsecret: Enter your TOTP secret key orotpauth://URL.launcher_cmd: (Optional) The command to launch XIVLauncher. If omitted, the wrapper will auto-detect it.
-
Make Executable:
chmod +x wrapper.py -
XIVLauncher Settings: Ensure that "Enable XL Authenticator app/OTP macro support" is enabled in XIVLauncher settings. The wrapper will check for this and prompt you if it's disabled.
Usage
Simply run the wrapper:
./wrapper.py
Or launch "XIVLauncher Wrapper" from your application menu/Steam.