In this post I show how you can do a remote shutdown via the LAN, without hard coding your admin password. Since this tweak could be misused for a remote DOS attack, make sure you put the CH3WNAS behind a NAT router.
Busybox (activated with the fun_plug script) provides a powerful nc (netcat) command that also has a -l listen mode. This listen-mode is ideal for simple lightweight client/server communication.
Steps for enabling remote shutdown from a script:
- make sure telnet (through busybox) is enabled: http://www.aroundmyroom.com/2008/01/03/ch3wnas-enabling-telnet/
- create a shutdown_listener.sh script (e.g. with ftp) on the root of HD_a2 with following contents:
while true
do
/mnt/HD_a2/busybox nc -l -p 1234 | while read line
do
if [ "$line" -eq "0" ]
then
touch /tmp/shutdown
fi
done
done
This scripts on the NAS listens in a loop on port 1234. When it reads a "0" it puts a /tmp/shutdown file that triggers the immediate poweroff. - add the following line to the fun_plug script and restart the CH3WNAS:
/mnt/HD_a2/shutdown_listener.sh & - from the client-side it's enough to create a nc-script that sends a "0" to the NAS.
on Ubuntu I created a Launcher on my desktop with following command :
bash -c "echo 0 | nc 192.168.1.30 1234 -w 1"
If you're stuck with Windows, look out for a Windows version of netcat (nc) and put similar commands in a shortcut (cmd /c "..."). Or better, upgrade to Ubuntu :-)