adzapper Home | About Adzapper | Installing | Zaplets | Zaplet File Format

What is adzapper?

adzapper is a filtering proxy that can block ads from being displayed on your web browser. instead of ad banners, you see blank spaces: adzapper transforms the ads into transparent gifs.

The rules that describe what are ads and what are not ads are called "zaplets", and are configurable on a per-website basis. This way, when websites change their ads or their graphic design, it is easy to build and share new zaplets that block the ads.

adzapper is based on ZServer, which is based on Sam Rushing's medusa, a very fast asychronous-sockets web-server written in Python. ZServer is single threaded, but this doesn't mean it is slow! in my experience it is one of the fastest, lightest webservers out there.

Requirements

adzapper is written in Python, and tested under Python 1.5.2 and RedHat Linux 6.0 and Windows NT 4.0 (SP3). adzapper should also work under Windows 95/98, and under any Unix variant that has Python, but these have not been tested. Please let me know if you have any problems, and if you get adzapper running on a platform not listed here.

You can find out more about Python at http://www.python.org/

Installing and using adzapper

For installation and use instructions, go here.

adzapper is a filtering proxy-- it sits between you and the Internet. You can install it on your own desktop machine or on a server somewhere else. When you click on a web link, your browser asks adzapper to get the file. adzapper only retrieves files that aren't ads; if there is a 'zaplet' file for the website you are visiting, adzapper uses the rules in the zaplet to decide what to display. Anything that the zaplet says is an ad is displayed as a tranparent GIF, and you don't have to look at it!

Zaplets

Zaplets are small files that contain rules that describe what to block and what not to block. These rules are applied on a per-website basis, and are found in the zaplet/ directory where you installed adzapper.

For more information on writing zaplets for your favorite site, go here.

Send me your zaplets! Writing zaplets for sites you visit frequently helps you, and contributing them to the zaplet repository helps the zaplet community! If you send in your zaplets, other people benefit from your work. Zaplets you contribute will become part of the repository that is shipped with new versions of adzapper, and will also be made available for download separately.

I'm not guaranteeing the zaplet file format will remain the same until the code becomes more stable, but I will add contributed zaplets to the repository, and I will convert these zaplets to a new format if the format changes.

Check out the repository at: http://www.pobox.com/~adamf/adzapper/repository/

Bugs

On Windows platforms, adzapper doesn't use a Microsoft-approved method to find the DNS servers; it just looks in the registry. This doesn't work for people using a dialup connection.

If you find any other bugs or problems, let me know! Help is greatly appreciated-- if you have any ideas for adzapper development, or if you have code that extends or improves adzapper, contact me at the address below. I'll do my best to incorporate improvements. For information on future plans, and areas where help is needed, see the file 'TODO'.

License

Since adzapper contains code from Zope, it is released under the the Zope Public License (ZPL) 1.0. This is an OpenSource-style license. For more information, see the file 'COPYING'.

The files zaplet_engine.py, adzapper_engine.py, and debug.py do not contain any code from Zope. They are released under the Gnu General Public License (GPL), version 2, as well as the ZPL. For these files, you can choose either license, as you see fit. A copy of the GPL is provided in the file 'COPYING-Zaplet'.

Credits

Thanks go to many people. adzapper was inspired by the Muffin filtering proxy written by Mark Boyns, and additional inspiration and the impetus to start coding was provided by Constantinos Kotsokalis and his CTC filtering proxy. Rob Toews and Isaac helped me work out some of the key ideas behind adzapper. Guido van Rossum pointed out some bugs related to Windows 95/98. Andrzej Rusin discovered a severe memory leak.

Many other people contributed ideas or patches, please see the file 'THANKS'. If you contributed and your name isn't listed, let me know!

The http proxy engine is built on top of ZServer, a component of the fantastic Zope web application server from Digital Creations. ZServer is based on medusa by Sam Rushing. Thanks to Digital Creations and Sam Rushing for making the source code available under an OpenSource license!

Many thanks also go to Guido van Rossum for the Python language!

Muffin: http://muffin.doit.org/
Zope: http://www.zope.org/
medusa: http://www.nightmare.com/medusa/
CTC: http://www.softlab.ece.ntua.gr/~ckotso/CTC/
Python: http://www.python.org/

Homepage

The adzapper homepage is currently at http://www.pobox.com/~adamf/adzapper/

Stay tuned for more updates and improvements!

cheers
adam


adzapper Home | About Adzapper | Installing | Zaplets | Zaplet File Format

Adam Feuer
adamf at pobox.com (replace the 'at' with '@' to contact me via email)
http://www.pobox.com/~adamf/

Last Modified: Sat Oct 09 21:21:48 1999