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]( 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 [](, then fill in the details required.

Hard option: Download the source from [here]( 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]( 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](


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]( 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