MoonlightWeb v0.2.0 — hardened Internet access
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-challengeTXT 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-Modifiedand a?v=<version>URL derived from the running build, and/version.jsonis 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 cheap304revalidation when nothing changed.
Docs & website
- Refreshed moonlightweb.top — a unified header/footer across every page, a proper
/guideshub, astream.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.xkit. - 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).