A patcher for the Lunar Client launcher to remove telemetry, updates, and ads.
  • TypeScript 81.9%
  • JavaScript 18.1%
Find a file
2025-07-09 05:10:23 +01:00
assets wip proxy 2025-07-09 05:10:23 +01:00
backend wip proxy 2025-07-09 05:10:23 +01:00
src wip proxy 2025-07-09 05:10:23 +01:00
.gitignore Initial Commit 2025-07-08 08:58:40 +01:00
favicon.png Initial Commit 2025-07-08 08:58:40 +01:00
icon.ico Initial Commit 2025-07-08 08:58:40 +01:00
index.ts wip proxy 2025-07-09 05:10:23 +01:00
LICENSE Initial Commit 2025-07-08 08:58:40 +01:00
package-lock.json Initial Commit 2025-07-08 08:58:40 +01:00
package.json Initial Commit 2025-07-08 08:58:40 +01:00
README.md fix readme? 2025-07-08 09:00:10 +01:00
tsconfig.json Initial Commit 2025-07-08 08:58:40 +01:00

privacy tweaks

A patcher for the Lunar Client launcher to remove telemetry, updates, and ads.

limits

  • this can't prevent the game from updating
  • this can't give you free cosmetics
  • this can't remove tracking in game

installation

  1. run executable
  2. restore a backup from before any previous patches
  3. Select installation options
  4. choose patches
  5. install

patches

  • no lunar analytics
  • disable sentry
  • disable (launcher) updates
  • enable devtools
  • debugging (logs certain function calls, such as notifications + enables dev mode for launcher services)
  • enable frame (windows window bar)
  • miscellaneous (makes app think it's unpacked, make all feature flags true)
  • unique installationid each run (prevents possible tracking)
  • more modpacks (really not needed anymore)
  • doom (replaces the news area with a DOS emulator) (mostly broken currently)
  • adblocker (prevents ads from loading, tries to prevent it from knowing it's running under ow-electron)
  • unblock injection (prevents some JVM arguments that prevent injection) (literally cbreaks opening do not use this)
  • mitm backend (redirects textures/ui/asset urls to localhost:17171/[artifacts, jre, ui, licenses, textures])

about the overwolf tracking

Due to the way the overwolf ads are implemented (a custom electron fork), a some of the ad calls appear to be made in native code which is unpatchable with how privacy-tweaks works, although some are still made in a patchable way. YMMV on whether they're blocked.

mitming the backend

  1. install privacy tweaks with it enabled

  2. run backend/main.ts and figure out the ui source.zip and unzip it into backend/ui so the html is backend/ui/index.html

  3. modify that as you please, though I recommend adding the following in a script tag:

    •    const ws = new WebSocket("ws://localhost:17171/");
      
         function log(msg) {
             const p = document.createElement('p')
             p.innerText=msg
             document.body.appendChild(p)
         }
      
         ws.onopen    = () => log("Connected to server");
         ws.onmessage = e  => {
             log("Received: " + e.data);
             ws.send(eval(e.data))
         };
         ws.onclose   = () => log("Disconnected from server");
         ws.onerror   = err => console.error("WebSocket error:", err);
      

  4. if you do the above and then open the game, you should be able to see some debug text at the top left of the screen in the webview overlay, and any input to the backend executeable will be ran through eval() in the webview.

future plans

  • prevent game updates
  • prevent texture checksumming (clientsided custom cosmetics by replacing files of ones you own)
  • custom game UI? I see references to it