Skip to content

Add HTTP wake support as alternative to Wake-on-LAN#1770

Open
stuckj wants to merge 9 commits intomoonlight-stream:masterfrom
stuckj:master
Open

Add HTTP wake support as alternative to Wake-on-LAN#1770
stuckj wants to merge 9 commits intomoonlight-stream:masterfrom
stuckj:master

Conversation

@stuckj
Copy link

@stuckj stuckj commented Dec 24, 2025

  • Add HTTP wake support as alternative to Wake-on-LAN

This adds HTTP-based wake functionality for waking PCs over VPN networks
(like Tailscale) where Layer-2 WOL magic packets cannot traverse.

Features:

  • Per-host configuration via new "Configure Wake" context menu option
  • Choice between standard WOL or HTTP wake method
  • Simple HTTP GET request to user-configured URL
  • 10-second timeout with proper error handling

The HTTP wake method is useful with services like tailscale-wakeonlan
or UpSnap that provide HTTP endpoints for triggering WOL packets on
the local network.

Addresses: #1251
Addresses: #1672

* Add HTTP wake support as alternative to Wake-on-LAN

This adds HTTP-based wake functionality for waking PCs over VPN networks
(like Tailscale) where Layer-2 WOL magic packets cannot traverse.

Features:
- Per-host configuration via new "Configure Wake" context menu option
- Choice between standard WOL or HTTP wake method
- Simple HTTP GET request to user-configured URL
- 10-second timeout with proper error handling

The HTTP wake method is useful with services like tailscale-wakeonlan
or UpSnap that provide HTTP endpoints for triggering WOL packets on
the local network.

Addresses: moonlight-stream#1251
Addresses: moonlight-stream#1672

* Add URL validation to Configure Wake dialog

* Remove outdated comment about URL placeholders

* Revert translation file changes (leave for maintainers to run lupdate)

* Address Copilot review feedback for HTTP wake feature

   - Add host validation to isValidWakeUrl() to reject URLs without host
   - Fix timeout handling by using timedOut flag and aborting reply directly
   - Use deleteLater() for QNetworkReply cleanup per Qt best practices
   - Add processEvents() to ensure reply deletion before NAM destruction
   - Set initial OK button state in onOpened and guard onUrlValidChanged
   - Move ButtonGroup declaration before RadioButtons that reference it

* More code review fixes.

* More code review fixes.

* More code review fixes.
@psyhomb
Copy link

psyhomb commented Jan 5, 2026

I think this would be a fantastic feature to combine with this project.

@stuckj
Copy link
Author

stuckj commented Jan 16, 2026

@cgutman, I don't know how you usually take contributions so just tagging in case you prefer to get a heads up about something being ready. Sorry to bug you if you'd prefer to get to PR contributions on your own time.

@stuckj
Copy link
Author

stuckj commented Feb 7, 2026

Any chance you can take a look at this @cgutman?

@cgutman cgutman added this to the v7.0 milestone Feb 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants