|
||
---|---|---|
.github/workflows | ||
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
README.md | ||
rust-toolchain.toml |
LauncherTweaks
Tweaks for the official FFXIV launcher.
Features
- Allows configuring the launcher URL, enabling you to write custom launcher pages.
- Force the launcher/boot executable to use the system proxy. (The web browser portions of the launcher already use the system proxy.)
Usage
Grab a build from GitHub Actions or build the project with the instructions below. Then, place the winhttp.dll
next to the launcher.
To configure the launcher URL, place a launchertweaks.toml
next to the launcher executable:
# Must be able to serve a index.html or else the launcher 404s:
launcher_url = "https://launcher.mysite.localhost/"
macOS/Linux
Wine will prefer it's own winhttp.dll
by default, but you can change it the configuration (winecfg
). Applications like Bottles have dedicated settings for this too.
Building
We require Nightly to build, but rust-toolchain.toml
should prefer it by default.
macOS/Linux
It's possible to build this project outside of Windows. Ensure that you have and build with the correct target (x86_64-pc-windows-gnu
):
rustup target add x86_64-pc-windows-gnu
If you encounter an error message like:
error occurred in cc-rs: failed to find tool "x86_64-w64-mingw32-gcc": No such file or directory (os error 2)
Then you need to install the MinGW toolchain, as one of our dependencies has to compile C code.
Tips & Tricks
Launcher Functions
Here are some interesting native functions that are callable from JavaScript. To call these, use window.external.user
.
systemConfig
: Opens the system config program.requestExit
: Despite the name, exits the launcher immediately.requestReboot
: Exits the launcher immediately, doesn't seem to come back though?
Logging Proxy
You can use the winhttp_proxy
config option to sniff the non-web browser traffic from the launcher. You need a HTTP proxy capable of logging of course, I personally use mitmproxy.
Credits
Initially based off of NotNite's benchtweaks and also inspiration for the name!
License
This project is licensed under the GNU General Public License 3.