Google Wave Server Admin
Wed 16 December 2009
Download here.
**What it does**
Execute commands from google wave on your remote server.
**How to set it up**
_Server End: Simply [download](http://github.com/shanedowling/Wave-ServerAdmin/blob/master/server/wave_server_code.py) and run the python server script, on the server obviously. Note: You need python2.6 or greater, which sucks for a lot of debian users but I need it to be able to kill processes nicely._
_Wave End: _You have 2 options
Easy option: Create a new wave and add [waveserveradmin@appspot.com](mailto:waveserveradmin@appspot.com), then fill in the details required.
Hard option: Download the source from [here](http://github.com/shanedowling/Wave-ServerAdmin). Deploy it to your own google app engine deployment and continue on the easy option.
**How it works**
Using google wave's api and google's datastore, when a blip is submitted an [xmlrpc](http://www.python.org/doc/2.5.2/lib/module-xmlrpclib.html) request is sent to your server, along with your hashed password for authentication. The python code running on the server is then executed as a sub process and the output is returned. If the server subprocess lasts more than 3 seconds it is killed and that output is returned, I can't seem to be able to wait any longer before the request times out.
As I mentioned the data is stored on google datastore. **All passwords are hashed as soon as they're entered.**
If you need any further details, check the [source](http://github.com/shanedowling/Wave-ServerAdmin).
**Why**
Generating ideas with what you can do with wave mostly. Obviously this script needs locking down to be useful, I'm doubting very many want to run ls -alh from google wave a lot. But if you start extending the code you can write some cool things into waves.
Example: On my server I use a tool called [o2sms](http://o2sms.sourceforge.net/) it allows me to send text messages from the command line for free using my mobile phone operator's web-account(this tool only works in Ireland however). So for me to send a text message I would type. o2sms sender_in_phonebook -M 'a message'
o2sms mum -M 'Hi I am sending you a message'
So with a few changes to my script I can create a new wave add the robot participant and type
mum Hi I am sending you a message
And presto I'm sending texts from my google wave, for free.
Happys Days!
And I'm sure there is a truck load of ideas that can be done around this, the project itself is purely a proof of concept that I hope will generate some cool stuff.
Note:I did this project to learn both python and google wave's api, so apologies if the code sucks/is very PHPish.
Category: Projects Tagged: google google-wave linux sysadmin