[ANN] Initial release of Throxy: throttling HTTP proxy in one Python file

Johann C. Rocholl johann at browsershots.org
Sun Feb 11 17:02:59 CET 2007

Throxy: throttling HTTP proxy in one Python file

* Simulate a slow connection (like dial-up).
* Adjustable bandwidth limit for download and upload.
* Optionally dump HTTP headers and content for debugging.
* Decompress gzip content encoding for debugging.
* Multiple connections, without threads (uses asyncore).
* Only one source file, written in pure Python.

To use it, run throxy.py on your local machine and adjust your browser
settings to use as HTTP proxy.

Simulate analog modem connection:
$ python throxy.py -u28.8 -d57.6

Show all HTTP headers (request & reply):
$ python throxy.py -qrs

Dump HTTP headers and content to a file, without size limits:
$ python throxy.py -rsRS -l0 -L0 -g0 > dump.txt

Tell command line tools to use the proxy:
$ export http_proxy=

Command line options:
  --version   show program's version number and exit
  -h, --help  show this help message and exit
  -i <ip>     listen on this interface only (default all)
  -p <port>   listen on this port number (default 8080)
  -d <kbps>   download bandwidth in kbps (default 28.8)
  -u <kbps>   upload bandwidth in kbps (default 28.8)
  -o          allow remote clients (WARNING: open proxy)
  -q          don't show connect and disconnect messages
  -s          dump headers sent to server
  -r          dump headers received from server
  -S          dump content sent to server
  -R          dump content received from server
  -l <bytes>  maximum length of dumped text content (default 1024)
  -L <bytes>  maximum length of dumped binary content (default 256)
  -g <bytes>  maximum size for gzip decompression (default 8192)

Subversion repository (or simple download):

Pretty source code (and change history):

This is a very early release. Please send feedback per email.
Alternatively, you can file bugs and feature requests here:


More information about the Python-announce-list mailing list