adzapper   adzapper Home | About Adzapper | Installing | Zaplets | Zaplet File Format | Zaplet Updates Python Powered  

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 Sam Rushing's Medusa, a very fast asychronous-sockets web-server written in Python. Medusa is single threaded, but this doesn't mean it is slow! in my experience it is one of the fastest, lightest webservers out there.



adzapper is written in Python, and tested under Python 1.5.2 and RedHat Linux 6.0, Windows NT 4.0 (SP3), Windows 98, and Windows 95. It should also run on 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

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 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 Zaplet Updates page at:



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'.



adzapper is released under the Python License is an Open Source license. For more information, see the file 'COPYING'.

Only the files in the medusa directory contain code that is required to be released under the Python License; all the other files do not. Accodingly these files are released under the Gnu General Public License (GPL), version 2, as well as the Python License. For these files, you can choose either license, as you see fit. A copy of the GPL is provided in the file 'COPYING-Zaplet'.



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. Jules Allen provided the logo.

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!

The Windows version of adzapper was made possible by Mark Hammond's Python for Windows Extensions and Gordon McMillan's can make any Python program into a standalone executable. This program rocks! The self-extracting executable for Windows was made possible by Jordan Russell's truly wonderful InnoSetup, an OpenSource Installer for Windows programs.

Many, many thanks also go to Guido van Rossum and the PythonLabs team for the Python language!



Check out the Open Directory Project's Ad Filtering software page for more ad filtering software:



The adzapper homepage is currently at

Coming soon: automatic zaplet updates; one-click posting of new zaplets; and a Python-style license!

Stay tuned for more updates and improvements!



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

Adam Feuer
adamf at (replace the 'at' with '@' to contact me via email) | sitemap