enables auto-OTP on linux
Find a file
2026-02-02 02:27:56 +01:00
.gitignore added PKGBUILD and updated config location 2026-01-10 01:33:26 +01:00
config.example.json feat: Implement keyring-based OTP secret storage with migration from config.json and allow launcher command configuration. 2026-02-02 02:22:44 +01:00
installer.sh feat: Implement keyring-based OTP secret storage with migration from config.json and allow launcher command configuration. 2026-02-02 02:22:44 +01:00
PKGBUILD added PKGBUILD and updated config location 2026-01-10 01:33:26 +01:00
README.md feat: Add automatic XIVLauncher installation to the installer script and update the README to reflect this new capability. 2026-01-17 22:18:36 +01:00
wrapper.py feat: implement graceful fallback to config.json for OTP secret storage when the keyring module is unavailable. 2026-02-02 02:27:56 +01:00
xivlauncher-wrapper.desktop added PKGBUILD and updated config location 2026-01-10 01:33:26 +01:00
xivlauncher-wrapper.png added PKGBUILD and updated config location 2026-01-10 01:33:26 +01:00

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-Installation: Automatically downloads and installs XIVLauncher if it's missing (using Flatpak or AUR depending on your OS).
  • 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. This script will check if XIVLauncher is installed and install it for you if needed (via Flatpak on SteamOS/Bazzite, or AUR on Arch).

  1. Run the Installer:
    ./installer.sh
    
  2. Enter Secret: When prompted, enter your TOTP Secret or paste a full otpauth:// URL.

What it does:

  • Checks for XIVLauncher: Installs it via Flatpak or AUR if not found.
  • Creates Config: Creates ~/.config/xivlauncher-wrapper/config.json.
  • Installs Wrapper: Installs the wrapper to ~/.local/bin/xivlauncher-wrapper.
  • Installs Shortcut: 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:

    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:

    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:

./wrapper.py

Or launch "XIVLauncher Wrapper" from your application menu/Steam.