BFilter is a filtering web proxy. It was originally intended for removing banner ads only, but since then its capabilities have been greatly extended. Unlike most of the similar tools, it doesn't rely on blacklists (although it does support them). The problem with blacklists is that advertisers are always one step ahead. You see an ad slip through, you update your blacklist, and in case it didn't help, you add a new entry yourself. Once I got tired of that, I decided to write a proxy that would detect ads heuristically, much like modern anti-virus software manages to detect many viruses unknown to it.
HTTP/0.9 - HTTP/1.1, WebDAV support.
Persistent connections (HTTP/1.1 only).
Pipelining (HTTP/1.1 only).
HTTP compression.
Forwarding to another proxy (HTTP and SOCKS proxies).
A built-in javascript engine.
Heuristic Flash analyzer.
Ability to apply regular expressions to a page.
Blacklists, whitelists, hint lists.
All Processing is done on the fly. It doesn't load the whole page before processing.