# 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.ini` settings if they are incorrect. ## Installation (Steam Deck / Linux Desktop) The easiest way to install is using the provided installer script. 1. **Run the Installer:** ```bash ./installer.sh ``` 2. **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 `.desktop` file to `~/.local/share/applications/` so it appears in your application menu. ### Steam Integration (Steam Deck) 1. Switch to Desktop Mode. 2. Open Steam. 3. "Games" -> "Add a Non-Steam Game to My Library". 4. Select "XIVLauncher Wrapper" from the list. 5. Return to Gaming Mode and launch "XIVLauncher Wrapper". ## Manual Setup 1. **Configure:** ```bash mkdir -p ~/.config/xivlauncher-wrapper cp config.example.json ~/.config/xivlauncher-wrapper/config.json nano ~/.config/xivlauncher-wrapper/config.json ``` * `secret`: Enter your TOTP secret key or `otpauth://` URL. * `launcher_cmd`: (Optional) The command to launch XIVLauncher. If omitted, the wrapper will auto-detect it. 2. **Make Executable:** ```bash chmod +x wrapper.py ``` 3. **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: ```bash ./wrapper.py ``` Or launch "XIVLauncher Wrapper" from your application menu/Steam.