StreamLight is the client half of the FoggyBytes streaming duo: a fork of Moonlight with a gamepad-first interface and native integration with its host-side companion, StreamTweak.
The streaming engine is untouched from upstream Moonlight — FFmpeg, D3D11VA, DXVA2, libplacebo, moonlight-common-c. What is new sits around it: the interface, and everything the two apps can do together over a local TCP bridge — host link matching, host metrics in the overlay, the store each game comes from, session quality reports, remote power-off and Windows Update, Tailscale, and signing a woken host in with its PIN from the sofa.
Windows 10 and 11. Works as an ordinary Moonlight-compatible client against any Sunshine / Apollo / Vibeshine / Vibepollo host, and unlocks its paired feature set when StreamTweak is running on the host.
🔐 The bridge is authenticated. Every command StreamLight sends is signed with its existing Moonlight identity certificate; the host approves each client once, via a 4-digit PIN shown on both screens. Streaming never depends on it — without approval you stream normally and simply lose the paired features. Each host card shows its state as a badge (AUTHORIZED / PENDING / DENIED).
⚠️ Not affiliated with or endorsed by the Moonlight project. StreamLight is an independent fork. For upstream Moonlight support, use the official client.
Everything below is in the current release, whichever version first introduced it.
🕹️ Gamepad-first, keyboard-equal
🏠 Home and the host page
🎬 In-stream
⚙️ Settings and profiles
🎯 Windows Xbox app integration
💡 Philips Hue Sync
These cross the bridge and need both apps. The version shown is the minimum StreamTweak on the host.
All of them are switched on per host, in Settings → StreamTweak — a host added from StreamLight 5.2.0 on starts off, and hosts you were already using StreamTweak with are switched on for you on first run. Streaming itself is never affected either way.
100.x endpoint. Pairs with the Auto-start Tailscale toggle, so opening StreamLight is enough to stream from anywhereStreamLight now remembers what you played and for how long, so the last game is one button away from the host list. Client-side, works with any host — including a plain Sunshine one.
Older releases are in changelog.txt.
A Qt 6 / QML fork of Moonlight-Qt. The decoder pipeline — FFmpeg, D3D11VA, DXVA2, libplacebo — and the protocol, moonlight-common-c, are upstream's, and they track Moonlight's development branch rather than its releases: upstream has not tagged one since v6.1.0 in September 2024, while its master branch is still moving. As of 5.2.0 our copy of moonlight-common-c is identical to master's. The UI layer is ours.
Integration with StreamTweak runs over a TCP bridge on port 47998 (LAN, line-delimited ASCII), carrying link speed (NETINFO, SETSPEED), host metrics (STATS), store data (APPSTORES), telemetry (SESSIONDATA), Tailscale presence, launch state (GAMESTATE), lock state, and the power and Windows Update commands. Each command is preceded by an AUTH1 line signing it with the client's Moonlight certificate (RSA-SHA256); a one-time ENROLL registers the client with the host for approval.
StreamLight (Qt, client PC)
│ TCP port 47998
▼
StreamTweak (WinUI 3, host PC) → Named Pipe → StreamTweakService (LocalSystem)
│
▼
NIC speed via CIM/WMI
Host assets via filesystem
Windows Update via WUA
Download the latest installer from the Releases page and run it.
Settings — paired hosts, video / audio / input preferences, client certificate — live under HKCU\Software\FoggyBytes\StreamLight, and box art is cached in %LOCALAPPDATA%\FoggyBytes\StreamLight. Upgrades from 5.4.0 onward keep everything.
Up to 5.3.0 both lived under Moonlight Game Streaming Project\Moonlight — upstream Moonlight's own store, shared with it. 5.4.0 moved out of it and does not migrate anything, so the upgrade to 5.4.0 resets settings and pairing once. The old store is left untouched: an older StreamLight, or a Moonlight installation, still finds its data there.
StreamLight is released under the GPL v3 License, in accordance with the upstream Moonlight license.
279 commits
115 commits
C
56.6%
C++
41.0%
QML
1.9%
StreamLight is the client half of the FoggyBytes streaming duo: a fork of Moonlight with a gamepad-first interface and native integration with its host-side companion, StreamTweak.
The streaming engine is untouched from upstream Moonlight — FFmpeg, D3D11VA, DXVA2, libplacebo, moonlight-common-c. What is new sits around it: the interface, and everything the two apps can do together over a local TCP bridge — host link matching, host metrics in the overlay, the store each game comes from, session quality reports, remote power-off and Windows Update, Tailscale, and signing a woken host in with its PIN from the sofa.
Windows 10 and 11. Works as an ordinary Moonlight-compatible client against any Sunshine / Apollo / Vibeshine / Vibepollo host, and unlocks its paired feature set when StreamTweak is running on the host.
🔐 The bridge is authenticated. Every command StreamLight sends is signed with its existing Moonlight identity certificate; the host approves each client once, via a 4-digit PIN shown on both screens. Streaming never depends on it — without approval you stream normally and simply lose the paired features. Each host card shows its state as a badge (AUTHORIZED / PENDING / DENIED).
⚠️ Not affiliated with or endorsed by the Moonlight project. StreamLight is an independent fork. For upstream Moonlight support, use the official client.
Everything below is in the current release, whichever version first introduced it.
🕹️ Gamepad-first, keyboard-equal
🏠 Home and the host page
🎬 In-stream
⚙️ Settings and profiles
🎯 Windows Xbox app integration
💡 Philips Hue Sync
These cross the bridge and need both apps. The version shown is the minimum StreamTweak on the host.
All of them are switched on per host, in Settings → StreamTweak — a host added from StreamLight 5.2.0 on starts off, and hosts you were already using StreamTweak with are switched on for you on first run. Streaming itself is never affected either way.
100.x endpoint. Pairs with the Auto-start Tailscale toggle, so opening StreamLight is enough to stream from anywhereStreamLight now remembers what you played and for how long, so the last game is one button away from the host list. Client-side, works with any host — including a plain Sunshine one.
Older releases are in changelog.txt.
A Qt 6 / QML fork of Moonlight-Qt. The decoder pipeline — FFmpeg, D3D11VA, DXVA2, libplacebo — and the protocol, moonlight-common-c, are upstream's, and they track Moonlight's development branch rather than its releases: upstream has not tagged one since v6.1.0 in September 2024, while its master branch is still moving. As of 5.2.0 our copy of moonlight-common-c is identical to master's. The UI layer is ours.
Integration with StreamTweak runs over a TCP bridge on port 47998 (LAN, line-delimited ASCII), carrying link speed (NETINFO, SETSPEED), host metrics (STATS), store data (APPSTORES), telemetry (SESSIONDATA), Tailscale presence, launch state (GAMESTATE), lock state, and the power and Windows Update commands. Each command is preceded by an AUTH1 line signing it with the client's Moonlight certificate (RSA-SHA256); a one-time ENROLL registers the client with the host for approval.
StreamLight (Qt, client PC)
│ TCP port 47998
▼
StreamTweak (WinUI 3, host PC) → Named Pipe → StreamTweakService (LocalSystem)
│
▼
NIC speed via CIM/WMI
Host assets via filesystem
Windows Update via WUA
Download the latest installer from the Releases page and run it.
Settings — paired hosts, video / audio / input preferences, client certificate — live under HKCU\Software\FoggyBytes\StreamLight, and box art is cached in %LOCALAPPDATA%\FoggyBytes\StreamLight. Upgrades from 5.4.0 onward keep everything.
Up to 5.3.0 both lived under Moonlight Game Streaming Project\Moonlight — upstream Moonlight's own store, shared with it. 5.4.0 moved out of it and does not migrate anything, so the upgrade to 5.4.0 resets settings and pairing once. The old store is left untouched: an older StreamLight, or a Moonlight installation, still finds its data there.
StreamLight is released under the GPL v3 License, in accordance with the upstream Moonlight license.
279 commits
115 commits
C
56.6%
C++
41.0%
QML
1.9%