Skip to content


Subversion checkout URL

You can clone with
Download ZIP
S3 Proxy for Google App Engine
Python JavaScript C
Branch: master
Failed to load latest commit information.
lib Fixing last modified in json
public Renaming
shrub Fixing using bucket name in path instead of subdomain
test importing
.gitignore fixing docs
License.txt importing Updating documentation
app.yaml Adding xspf player and crossdomain.xml
index.yaml importing Refactoring Docs for test


Amazon S3 Proxy for Google App Engine.

The idea is to have a proxy to act in between S3 and browsers or other devices.

Questions? See shrub-gae google group

Examples of formats that Shrub exposes are:

  • RSS
  • HTML
  • JSON
  • XSPF
  • HTML/Tape (like MuxTape/OpenTape)

  • The web app: app/

  • The main library: shrub/
  • Third party libraries: lib/
  • Static assets: public/
  • Tests: test/


To run locally:

  1. Clone the repo: git clone git://
  2. Start up GoogleAppEngineLauncher (Get GoogleAppEngine SDK + Launcher at
  3. Right click on screen, and choose Add Existing
  4. Choose path to cloned repo.
  5. Hit run.
  6. Go to http://localhost:8080/

Other Libraries

Main leaf icon was purchased from iStockPhoto and is licensed by me (Gabriel Handford).


The following changes were made to libraries to handle certain features:

  • simplejson has some changes to automatically encode non-encodable data types via json method if an object responds to it.
  • id3reader has some changes to allow it to parse from a buffer, and also to be able to read truncated ID3 tag data.


To run the tests:

Copyright 2008 Gabriel Handford

Something went wrong with that request. Please try again.