Goopie Launcher
Goopie Launcher is a lightweight desktop tool for Goopie that bridges native functionality via an HTTP server and supports an offline mode.
- Type: tool
- Runs on Windows and Linux
- By birabittoh
- Latest release v1.9.4, 2026-10-16
- Source: https://github.com/birabittoh/GoopieLauncher
README
Goopie Launcher
A lightweight, native desktop launcher for Goopie.
Architecture
The launcher loads the live UI from https://goopie.xyz and bridges native functionality via a synchronous loopback HTTP server on 127.0.0.1:<random port>. At startup, a JS initialisation script is injected (before the page runs) that defines every window.* global as a synchronous XMLHttpRequest to the bridge server.
This approach keeps the website completely unchanged while providing the same synchronous call semantics the site expects.
Building
Prerequisites
# Rust (stable)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Tauri CLI
cargo install tauri-cli --version "^2"
# Linux: system libraries
sudo apt-get install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf build-essential libssl-dev pkg-config
Then, clone:
git clone --recurse-submodules https://github.com/birabittoh/GoopieLauncher
cd GoopieLauncher
Development
npm run dev
Production build
cargo tauri build
Bundles are output to src-tauri/target/release/bundle/.
URL selection
The launcher URL is resolved in this priority order:
--url <URL>CLI argument--localCLI flag โhttp://localhost:5173/GOOPIE_URLenvironment variable- If the user has explicitly enabled offline mode (see Offline mode),
that's honored unconditionally โ no connectivity probe, no requests to
goopie.xyzat all - Otherwise (the user prefers online): probe
https://goopie.xyz's reachability on this launch and fall back to the embedded offline bundle if it can't be reached
Options 1โ3 are dev overrides and bypass offline-mode resolution entirely.
Offline mode
The launcher ships an embedded, statically-served copy of GoopieWebsite
(vendored as the GoopieWebsite git submodule, pinned to its tauri-support
branch) with enough functionality to browse and launch installed games.
Build the embedded offline bundle from the submodule:
./scripts/build-offline-site.sh
Start the launcher in offline mode by using --offline.
Configuration
| Platform | Location |
|---|---|
| Windows | Registry HKCU\Software\GoopieLauncher |
| Linux | ~/.config/GoopieLauncher/config.ini |
Games are stored under:
- Windows:
%LOCALAPPDATA%\Goopie\Games\ - Linux:
~/.local/share/Goopie/Games/
Packaging
This launcher normally updates in place as soon as it detects a new version has been published on GitHub.
If you want to handle updates on your own, just start it with the GOOPIE_DISABLE_UPDATER env var set to 1.
For example, in a .desktop file:
Exec=env GOOPIE_DISABLE_UPDATER=1 /opt/goopielauncher/goopie-launcher
Credits
- VDFLib by Graine25: the Steam
shortcuts.vdfbinary format handling and shortcut-appid algorithm insrc-tauri/src/shortcuts.rsare a Rust port of this library.