Storage-browsing-proxy is a project mainly written in Python, it's free.
Browse simple web pages by proxying through a third-party storage service like AWS.
Browse simple web pages with Amazon Simple Queue Service as your proxy if you are located in a place where certain websites are blocked and the Tor network is unusable (perhaps because bridges are blocked).
Both the client and polling proxy are based on python-proxy (http://code.google.com/p/python-proxy/), with modifications to divert requests/responses to a third-party storage service.
TO USE: 0.) The client has to add http://*.verisign.com to the list of domains for which proxy settings should be bypassed. This step is to avoid the OCSP check for the AWS certificate going over the storage proxy, creating an infinite loop! TODO: figure out how to fix this 1.) The client is a user, presumably in some region where certain websites are censored. On the client's computer, configure a browser to proxy HTTP and HTTPS requests though localhost:8080, and run: python client_proxy.py 2.) The polling service is a reasonably trusted machine (like a Tor guard node) located outside of the censorship region. On the polling service, run: python polling_proxy.py
DEPENDENCIES: storage.py uses the boto library for AWS. Installation instructions at http://boto.cloudhackers.com/.
HOW IT WORKS:
Upon receiving a connection, the client proxy chooses a random number as its connection ID, and it writes the connection ID, host, and port to the "connections" queue. It creates two queues,
STORAGE SERVICE API: Each storage service class should export the following functions:
TO DO: 1.) SQS permissions - the client proxy should not be able to delete messages, only write them. The client should also not be able to list all queues, ideally. 2.) Implement Storage classes for other services. 3.) Error handling 4.) Route requests through Tor on the polling proxy. (?)