Filtering web proxy
Robert W. Cunningham
rcunning at acm.org
Mon Apr 17 21:01:42 CEST 2000
Oleg Broytmann wrote:
> I want a filtering web proxy. I can write one myself, but if there is a
> thing already... well, I don't want to reinvent the wheel. If there is such
> thing (free and opensourse, 'course), I'll extend it for my needs.
> I wrote dozen HTML parsers in Python, so I can write one more, and turn
> it into a proxy, but may be I can start with some already debugged code?
If you want a porting project, there is the FilterProxy program, written in
Perl. It is a true daemon, and implements several nifty features, such as a
modular architecture that lets users create their own filters. Present filters
include a banner ad blocker, and an cool HTTP compressor (a remote FilterProxy
instance on the far end of a modem link gzips all HTTP traffic for a 5x size
reduction, which Netscape decompresses on the fly). There is also a template
to simplify writing new modules, and if I ever get around to it I'm going to
add simple stream encryption (just for fun).
FilterProxy is still alpha, but it is already fairly potent. Future
improvements may include support for chaining proxies, so that local and/or
remote instances may be used in combination with an ISP's HTTP caching proxy
If you have a broadband connection (cable modem, DSL, LAN), FilterProxy
introduces a noticeable delay, but not objectionable. It costs only a little
more than an IPchains firewall in terms of CPU bandwidth. And the Blocker
module is getting very good at removing some of the more complex ad formats
It would be an excellent comparison to have Python and Perl versions
side-by-side, so the power of each can be more easily observed.
I don't recall the URL, but it is on Freshmeat.
More information about the Python-list