Remote-controlling desktop computers from mobile devices is an idea that is typically implemented in the form of an Android/Iphone app that connects to the controlled computer over SSH, VNC, RDP or some proprietary protocol typically requiring a closed-source server component.
It had occurred to me a while ago that it shouldn’t be too difficult to write a webapp that would turn any mobile device with a web browser into a remote control for the server its running on, and I was wondering why I didn’t see any implementations of that idea around.
Well now there is one such implementation in the form of “Linux Remote Control“.
Unfortunately LRC wasn’t written by a very security-minded individual, it simply opens up an HTTP port on your Linux machine using node.js without enabling any authentication or encryption, thereby allowing anything that may be on your local network (Say, the Google street-view car…) or pierce through your NAT to have full control over your computer.
One problem with accessing local-network computers from mobile devices, is how to comfortably find and conned to those computers from the mobile devices in the first place. Dynamic network naming protocols such as MDNS or SMB are typically unsupported by mobile devices, and modifying DNS records or using static IP addresses is impractical when the network is managed by a simple home router dynamically assigning addresses via DHCP.
LRC’s approach to solving this problem is to have the user pre-install it on the mobile device (by simply copying an HTML page) and then provide a GUI for manually inputing the workstation’s IP address. I fear this solution would prove less then adequate when the workstation is turned off for a while and the address gets reassigned to a different machine.