I have been playing with my Nokia N900 for a while now and because I have a bad habit of losing things, I decided to make a small script that outputs device GPS coordinates directly to a computer connected to internet. That way I could always check from the Internet where my device is. Granted, GPS is not very accurate, but I would know where my N900 is by checking from a webpage. In worst case, if it is stolen, I would know where it is and I would have a better chance of retrieving it.
I decided to add more functions to my script and soon it also sended device IP-numbers and last 10 calls and messages to the webpage. Well, it didn’t stop to that. So now I have somekind of web interface for my N900. Heavily protected and not always on. I can just change one file on my webserver and N900 reads it after a while and starts webserver on the device. So basicly I can do almost everything the device is capable of. I can take photos with N900 remotely, I can recond sound, make calls. Connect to N900 via SSH and wipe out contacts, messages, etc.
The interface runs on Lighttpd + PHP. At this time, all the scripts and everything are pretty much done only just for me, but I’m planning to make them generic so anyone else interested could use this.
When the webserver is running on the N900 and I point my browser to it, it asks for a username and password. Then I get following view that shows my shared files. I just copy files to a certain folder on my N900 and then I can download them to other devices via this shared web folder.
I can also check my device info (uptime, network connections, battery level):
10 Last calls taken directly from the database after user opens the page. In case someone stoles your mobile phone and calls to someone with it, you won’t get those numbers from the operator. You will get a list of called numbers, but it is in format (e.g.) 040 123 4###, last three numbers hidden. Only by court order can you get these numbers. This way I get the numbers nicely from the device itself. Oh, and it is legal this way also:
10 last messages. In case I left my phone home, it gets stolen or lost, I can check messages via this page.
Then comes the best part. Here you can see many buttons and text areas. I can give any custom commands via this interface to my N900 via “Custom Command:” – box. Start and stop services, copy or delete files, basically anything that can be done with N900. To make things easier and faster, I have added some commands to this page. I can notify user, send SMS messages (and it shows how many characters I have entered), give SQL queries to message/call – database, make the device to call some number (usefull if the device is indeed stolen), open a web page to N900 browser, open some application, lock or unlock phone, start x11vnc service so I can remotely control my N900 from PC, check processes, check disk usage, end call, take photos with front or back (main) camera, list contacts and check GPS coordinates. These are just a start, I’ll add more all the time.