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.
> <snip>
>    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
server.

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
(including some Java and Javascript devils).

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.


-BobC





More information about the Python-list mailing list