XUProxy - an eXtensible Universal Proxy
XUProxy is an extensible multi-protocol proxy written in Python and based on the Twisted
framework. It provides an API for protocol plugins that is based on
Twisted's protocol API, and an API for "filter" plugins that can modify
(or just monitor) the data being passed in both directions between the
server and client.
SourceForge project page (bug tracker, forums, file releases, etc.)
(Planned) Features:
Core:
Multiple dynamically loadable protocol plugins
Dynamically loadable "filter" plugins
Support for external front ends
Support for SOCKS proxies
Host-based access control
Protocols:
HTTP(S)
FTP?
POP3?
HTTP:
Content and header filtering compatible with Proxomitron filters and blocklists
Caching
Logging of headers and data
Virus scanning
Freezing animated GIF images
Front end:
Both GUI and web-based front ends
Installation of protocol and filter plugins
Configuration of individual plugins
Listing of active connections
Support for manually killing individual connections
Real-time display of data being transferred
Downloads
XUProxy 0.0.1 can be downloaded from the file release area. Only transparent HTTP proxying with no security other than binding only to specified interfaces is working.
A Mercurial repository containing the code is available.
Mailing lists
xuproxy-users General discussion about XUProxy (filters, installation, etc.)
xuproxy-devel Discussion about XUProxy development