BannerFilter 1.31 review

by on

This script blocks advertising banners on the Web

License: GPL (GNU General Public License)
File size: 35K
Developer: Andy Lyttle
0 stars award from

This script blocks advertising banners on the Web. If you have a slow Internet connection, it will speed up your surfing, since the banners are not downloaded from the Internet at all.

Unlike most other similar solutions, BannerFilter does more than simply block advertising graphics. It also blocks advertising frames on a few sites, and automatically closes pop-up windows. A script can automatically download updated data files off the Web, and notify you when a new version is available.

A working installation of the Squid proxy server, available from, Perl, and a web server. If you don't have Squid already installed and running, do that first! BannerFilter should work on any platform that can run Squid and Perl; Windows users should see Windows.txt for additional information about that platform.


1. Unzip the bannerfilter-1.31 directory in a useful place on the machine that runs Squid. You may want to put it under the squid directory, e.g. /usr/local/squid/bannerfilter-1.31.
2. Move the contents of the www directory so they are accessible at If you want to put them somewhere else (which you'd need to do if your web server is not the same machine that runs Squid), edit bannerfilter.conf and give the correct URL.
3. Test by running the script, typing something, and making sure you get something back (generally the same thing you typed). Press Ctrl-C to stop. If you get an error, fix it before proceeding.
4. Add a line to squid.conf:
redirect_program /path/to/
For example:
redirect_program /usr/local/squid/bannerfilter-1.31/
Then restart Squid.
5. Go to http://bannerfilter.internal/test.html from one of your client machines and see if it works. If not, figure out why.
6. Run the script to make sure you have the latest version of the data files (see below). I update the data files far more often than I update the tarball, so what's included with the release you downloaded is probably pretty out of date. See below.

Configuration ffile:

The configuration file, bannerfilter.conf, may be kept in the same location as, or may be moved to wherever you'd like to put it. The redirect script will look for it in all the reasonable places I could think of; if you want to put it somewhere else, you can specify the path to the configuration file on the command line (in squid.conf) with the -c option, for example: -c /mnt/config/bannerfilter.conf

The file contains configuration directives in the form "label = value"; blank lines and lines beginning with # or ; are ignored. The label is case-insensitive and whitespace before and after the = is optional. All the configuration directives should be explained by the comments in the file.

What's New in This Release:
Switched to using Getopt::Std to parse command-line arguments
Now supports -v --version -h --help options
Reading from STDIN is now done with < STDIN > instead of (without spaces)

BannerFilter 1.31 search tags