1
Fork 0
mirror of https://github.com/redstrate/LauncherTweaks.git synced 2025-05-20 17:37:46 +00:00
launchertweaks/README.md

2.3 KiB

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

GPLv3

This project is licensed under the GNU General Public License 3.