Skip to content

MoonlightWeb v0.2.0 — hardened Internet access

Choose a tag to compare

@linckosz linckosz released this 25 Jul 14:13

MoonlightWeb v0.2.0 — hardened Internet access

A release built on a hardened design for how an Internet-published server registers its public address: each server now holds a least-privilege credential scoped to its own subdomain, with ownership enforced server-side. MoonlightWeb streams your Sunshine gaming PC to any device with a browser — you still install one app on the gaming PC only; every other device just opens a URL.

Internet access & security

  • Least-privilege DNS registration — Internet access now runs through a dedicated gateway (mw-proxy) that keeps full DNS control server-side. Each MoonlightWeb instance is granted only what it needs: its own {subdomain} A record and the matching _acme-challenge TXT used to issue its TLS certificate. Nothing else is reachable.
  • Server-side ownership — the first instance to claim a subdomain owns it, tracked by a per-instance secret the gateway stores as a keyed hash and never publishes in DNS. That keeps your public address yours — one instance, one subdomain — with no way for another server to take it over.
  • Abuse-resistant — the gateway rejects zone dumps and bulk queries (subdomains can't be enumerated), rate-limits new claims per IP, and only accepts the exact request shapes the app legitimately makes.
  • Backward compatible — servers from earlier releases keep working unchanged; 2.0.0 uses the new registration path automatically, with no reconfiguration on your side.

Instant updates

  • No more stale app after an update — the app's own JS/CSS are now cache-busted by version: every asset carries an ETag/Last-Modified and a ?v=<version> URL derived from the running build, and /version.json is synthesised live. Updating your server no longer serves a half-old, half-new page from the browser cache — the new build takes effect immediately, with cheap 304 revalidation when nothing changed.

Docs & website

  • Refreshed moonlightweb.top — a unified header/footer across every page, a proper /guides hub, a stream. vanity address, and a bot-resistant contact page, with the FAQ and install guides available in English, French and Simplified Chinese.
  • Expanded technical wiki — the PowerDNS, Security and Settings chapters have been updated for the new gateway-based Internet-access architecture.

Under the hood

  • Cross-platform build scripts and docs, with MSVC builds auto-detecting any installed Qt 6.x kit.
  • Backend sources brought under a single clang-format house style.

Downloads

Install on the gaming PC only:

Platform Asset
Windows x64 MoonlightWeb-installer-0.2.0-win-x64.exe
Windows ARM64 MoonlightWeb-installer-0.2.0-win-arm64.exe
macOS (Apple Silicon) moonlightweb-0.2.0-macos-arm64.pkg
Linux (Debian/Ubuntu/Mint) moonlightweb-0.2.0-linux-x64.deb
Linux (Fedora/RHEL/openSUSE) moonlightweb-0.2.0-linux-x64.rpm
Linux (portable) moonlightweb-0.2.0-linux-x64.AppImage

Playing from a phone, tablet or TV? Nothing to download — just open your server's URL in the browser.

Requirements

  • A gaming PC running Sunshine (the installer can set it up for you).
  • A modern browser on the client device (Chrome/Edge recommended for full codec, HDR and WebGPU support).