NginxProxyManager / NginxProxyManager/nginx-proxy-manager
Send Wake-on-LAN magic packet option for Streams host access in order to wake up target server
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 34.2k
- Forks
- 3.9k
- Avg merge
- 21h 12m
- Merged PRs (30d)
- 20
Description
In the Streams interface, NPM allows access at an incoming port to be proxied to an internal host:port. For hosts that may be in an ACPI suspended state, the stream access will fail. An ideal solution would be to implement a "Send Wake-on-LAN packet" toggle within the Stream setup dialog. As NPM would only be able to know what the MAC address for the target device is if the target IP is active when setting up the Stream, NPM would either have to only allow enabling the toggle if the IP address is active during setup, or optionally, could include a field for the user to enter the MAC address directly. Either way (or both) would be plenty sufficient I think.
Variations that could be implemented are a set additional delay before responding to the client with the stream connection (which may allow a bit of time for the software on the WOL machine to fully resume operation, but I don't know if this will even be necessary - perhaps not).
This feature would allow those of us with media servers to script these systems to go to sleep when there are no active clients connected for a certain period, then resume operation upon client access.
I think this new feature would be a huge hit for Plex and other media server users ❤️
Regardless, I'm loving what you've put together here with NPM !
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the Streams setup dialog and the code that handles stream connections. Determine where a Wake-on-LAN toggle and MAC-address input would fit, and how an optional startup delay could be applied. Done means the selected target can be woken before connection handling, with the configuration and behavior covered by the relevant existing tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- nginx, typescript
- Domain
- backend, frontend, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100