Welcome to FilterProxy.
What is FilterProxy?
FilterProxy is a generic http proxy, with the capability of modifying
http-proxied content. It has a modular system to define filters which
can modify web pages in any way you desire. It was created to fix some of the
annoyances of poor web design, and incompatible software. It also can improve
the web for you, in both speed in quality.
Ok, ok, now what the hell does it really do?
At the current time the following filters are defined:
- BlockBanner
- Removes advertisements from web pages. Unlike other ad-filtering proxies,
which replace ads by 1x1 blank gifs, FilterProxy actually strips the html
code for the ad from the web page you are viewing. Currently it
recognizes any ad of the form:
<a href=...ad...><img src=...ad...></a>
- Compress
- Compresses web pages using gzip's algorithm. This can lead to a 5x speed
improvement if you are surfing the web over a modem.
- Skeleton
- This is a sample module for those wishing to write their own modules.
If you are interested in writing your own module, please take a look at
html/Skeleton.html and FilterProxy/Skeleton.pm.
Ok, enough rambling, how do I use it?
First, tell your browser to use the proxy. Under netscape, select the menu
item Edit->Preferences. Then, in the preferences dialog box, select
Advanced->Proxies. (You may have to click the little arrow next to advanced
to get netscape to expand the menu). Then select "Manual proxy configuration",
and put in the "HTTP Proxy" field the host and port on which you ran
FilterProxy. (hint: look at the url you used to load this page...) If you
haven't edited FilterProxy.pl, this should be 'localhost' and '8888'.
So now what?
- Read the README, and LICENSE files.
- Send mail to
me (Bob McElrath),
and let me know if you got it working, and detail any problems you have.
- Browse the web.
- Configure FilterProxy. Configuration is done via web forms (you may
also edit FilterProxy.conf if you are familiar with perl -- I suggest
you use the forms to add entries first, so you know the structure). The
relevant pages are: (bookmark the first one)
- If you are interested in writing a module or fixing a bug, please contact
me, and read the TODO file.
What do I do if something goes wrong?
- Read the file BUGS carefully, to make sure this is not a known bug.
- If the bug is a web page that was badly mangled by FilterProxy, please
mail
the URL of the page, and the (unmangled) page itself, if possible,
to me (mcelrath+filterproxy@draal.physics.wisc.edu). Please include as
much information as possible, including the version of FilterProxy you
are using, your FilterProxy.conf file, and any other information you
feel is relevant. The more detailed your report, the more likely it is
to get fixed. If you think you can fix it yourself, please do so, and
mail me a patch. In the meantime, configure FilterProxy to not filter
that site.
- Many mangled web pages are due to incredibly poor or convoluted web page
design. (For example http://abc.go.com/)
It is simply not possible to detect every conceivable type of ad. Many
web sites deserve to be re-written, which may include removing
ads in the process. If one of your favorite sites falls into this
category, consider writing a module specifically for it. Please send
a copy to me if you do so.