Skip to content

Add Wake-on-LAN (WOL) support for managed resources - #328

Merged
jackbuehner merged 17 commits into
kimmknight:nextfrom
abdullah-erturk:feature/wake-on-lan
Aug 22, 2026
Merged

jackbuehner merged 17 commits into
kimmknight:nextfrom
abdullah-erturk:feature/wake-on-lan

Conversation

@abdullah-erturk

Copy link
Copy Markdown
Contributor

This PR adds Wake-on-LAN (WOL) capabilities for Remote Desktop resources.

  • Added MacAddress property to SystemDesktop with Registry persistence.
  • Created WakeDesktop API endpoint (POST /api/resources/{identifier}/wake) to broadcast UDP magic packets.
  • Updated ManagedResourceEditDialog to include a MAC Address input field.
  • Added a "Wake Up" action to the GenericResourceCardMenuButton context menu (visible only for Desktop resources).
  • Added localization strings for English and Turkish.

Added MacAddress property to SystemDesktop, created WakeDesktop API endpoint for sending UDP magic packets, added MAC address input to ManagedResourceEditDialog, and added a Wake Up action to the resource card menu for Desktop items.
@jackbuehner
jackbuehner changed the base branch from master to next August 12, 2026 18:35
@jackbuehner jackbuehner added the enhancement New feature or request label Aug 12, 2026
@jackbuehner

Copy link
Copy Markdown
Collaborator

Great idea! I ran out of time today, but I will review this tomorrow.

…ce files

Move MAC address storage out of the registry and onto managed .resource files, where it is read from and written to info.json. Storing it for the system desktop and system RemoteApps does not make sense because RAWeb's server is offline whenever those machines are powered off, so there would be nothing left running to send the magic packet.
@jackbuehner

jackbuehner commented Aug 22, 2026 •

Copy link
Copy Markdown
Collaborator

Hi @abdullah-erturk,

Thank you for your contribution! I really liked the idea. Sorry for my delay is processing this.

You did a great job setting up the backend to support this feature, but I had to make a slight change in order to test that the feature works:
Since Wake-on-LAN requires a server to be running in order to transmit the Wake-on-LAN message, it is impossible to wake the device that hosts RAWeb. If the device with RAWeb is asleep, that means that RAWeb's server is not running either. Therefore, there is no need to store the MAC address for the desktop or RemoteApps stored in the registry. However, the feature is incredibly useful for any exterminal device stored as a managed resource (.resource file).

I made some adjustments so that:

  • MAC address is only stored for managed resources. It is not stored for registry resources anymore.
  • The workspace feed (webfeed.aspx) now includes an indicator of whether a resource has a MAC address configured, allowing the "wake up" button to only be shown when the resource actually has a MAC address in its settings.
  • The terminal server picker dialog now appears for the Wake up action if the merge terminal servers feature is enabled on the web app and there is the same RemoteApp of two different terminal servers.

I also added documentation to the wiki. There is now a user guide about what the Wake up button does and an administrator guide for how to properly specify the MAC address and ensure that Wkae-on-LAN works.

@jackbuehner jackbuehner changed the title This PR adds Wake-on-LAN (WOL) capabilities for Remote Desktop resources. Add Wake-on-LAN (WOL) support for managed resources Aug 22, 2026
@jackbuehner
jackbuehner merged commit 053aeaa into kimmknight:next Aug 22, 2026
12 checks passed
@jackbuehner

Copy link
Copy Markdown
Collaborator

I'm going to try to get this released this weekend. The next release will include this feature, more secure auth tokens (#305), and signing for generated exe files (#306).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants