IntroWhen your linux box is hidden behind nat/firewall with no ssh/www/... access, you can use jabber protocol to control your computer (or do it for other purposes).
(hint: when you have access to ssh server you can use SSH tunneling for connection to your machine)
PrerequisitesYou will need:
- two jabber account (can be gmail account): one used only on remote computer, second can be your regular gmail account. Add each accounts to their contact lists.
- on the linux box you want to connect with: php-cli installed
- XMPPHP (download and unpack) with applied bug fix described here in XMLStream.php.
- optionally: account on the server dedicated for this purpose (eg: adduser jabber).
Scripthere is simple script which connects to your jabber account (which is probably gmail/google talk), listen to your commands, executes it and return to you:
To run this script in a background, check periodically if the script is running (and client is connected to a jabber server) you would also need a wrapper
To execute above wrapper periodically, just add a line to your crontab:
*/5 * * * * /home/jabber/bin/jabber/wrapper.sh 1> /dev/null 2> /dev/null
here is a screenshot from session with my raspberry pi server: