64 lines
2.1 KiB
Markdown
64 lines
2.1 KiB
Markdown
# 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.
|
|
|
|
|