mirror of
https://github.com/games-on-whales/wolf.git
synced 2026-10-15 21:12:08 +00:00
[PR #191] [MERGED] Moonlight patches and upgrades #388
Labels
No labels
🧠 1 - 🤖 999
AMD
bug
bug
cannot reproduce
documentation
duplicate
easy
enhancement
enhancement
enhancement
fixed?
fixed?
good first issue
hard
help wanted
Intel
invalid
LXC
medium
moonlight-protocol
Multi GPU
nixos
not a bug
nvidia
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/wolf#388
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/games-on-whales/wolf/pull/191
Author: @ABeltramo
Created: 4/2/2025
Status: ✅ Merged
Merged: 4/21/2025
Merged by: @ABeltramo
Base:
stable← Head:dev-moonlight-fixes📝 Commits (10+)
6145293[rtp] make RTP session stream to the IP that sent the ping7f65e61[api/v1/sessions/add] call start_rtp_ping06ab970[api/v1/sessions/add] add aes_key and aes_iv fields668ac09add envar for "WILDCARD" client IPf161233[rtp] extend UDP ping timeout4b286d3Merge pull request #181 from alexzielenski/direwolf-patches4410f36feat: implemented IP-less sessionscb0e168feat: implemented IP-less RTSP support4b8a773fix: pin down Rust version to avoid breaking upgradesff2a4b4Committing clang-format changes📊 Changes
32 files changed (+776 additions, -375 deletions)
View changed files
📝
.github/workflows/clang-format.yml(+3 -1)📝
.github/workflows/linux-build-test.yml(+6 -2)📝
docker/wolf.Dockerfile(+9 -5)📝
docs/modules/user/pages/quickstart.adoc(+14 -4)📝
src/moonlight-protocol/moonlight.cpp(+10 -1)📝
src/moonlight-protocol/moonlight/data-structures.hpp(+10 -0)📝
src/moonlight-protocol/moonlight/protocol.hpp(+2 -0)📝
src/moonlight-server/api/endpoints.cpp(+8 -4)📝
src/moonlight-server/control/control.cpp(+55 -22)📝
src/moonlight-server/control/control.hpp(+4 -3)📝
src/moonlight-server/control/input_handler.cpp(+17 -25)📝
src/moonlight-server/control/input_handler.hpp(+3 -3)📝
src/moonlight-server/events/events.hpp(+18 -0)📝
src/moonlight-server/events/reflectors.hpp(+8 -0)📝
src/moonlight-server/rest/custom-https.cpp(+1 -1)📝
src/moonlight-server/rest/endpoints.hpp(+23 -38)📝
src/moonlight-server/rest/servers.cpp(+4 -3)📝
src/moonlight-server/rtp/udp-ping.cpp(+56 -49)📝
src/moonlight-server/rtp/udp-ping.hpp(+24 -15)📝
src/moonlight-server/rtsp/commands.hpp(+19 -11)...and 12 more files
📄 Description
This PR adds support for matching Moonlight clients without relying solely on the IP. This will help when users are running behind CGNAT and it's required in order to "proxy" between multiple Wolf instances in Fenrir.
Main features:
X-SS-*protocol extensions as defined in https://github.com/LizardByte/Sunshine/pull/1945HTTPs->RTSPIP-less matching we send a fake unique IP as thesessionUrl0in/launchor/resume. Moonlight doesn't seem to actually use that IP and it'll just parrot it back as theHostwhen sending back RTSP requests.48100/udpfor Video and48200/udpfor audio is all you need for as many client as possible!Continues https://github.com/games-on-whales/wolf/pull/181
fixes #184
fixes #54
fixes #116
fixes #19
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.