A lot of routers prevent broadcast packets being forwarded onto the local LAN for security reasons which prevents the Wake on LAN protocol being used to wake computers on the local LAN from the Internet directly.
As the Pi is a low power consumption device it makes it an ideal candidate to use as a Wake On LAN relay device to waken other computers on the local LAN from the Internet.
I've wriiten a small 'C' program to act as a Wake on LAN relay daemon on the Pi to enable it to provide Wake on LAN functionality by sending a Wake on LAN packet to the Pi with the MAC address of the target computer on the local LAN. The Pi verifies the WoL packet and the MAC address contained within it and then relays the packet out on the broadcast IP address of the local LAN. Details of the daemon, including the source files, can be found here:
http://www.trans-omni.co.uk/pi/wol-relayd/
It's the first Daemon program that I've written, and the first 'C' program that I've written in a while, so all constructive criticism on how to improve it would be gratefully received. The daemon was written and tested using the Debian distribution.
I've provided some basic documentation on the daemon at the link above. I intend to write some more detailed documentation on it based on feedback received.