BannerKiller
Filtering http Proxy
|
|
Presentation
a. Vocabulary
- Proxy : Little program your browser (Netscape) use to get html
pages over the internet.
- filtering : Allows you to forbid some pages. They are replaced by
an image of your choice.
- http : hyper text transfer protocol : langage utilisé sur
internet pour transferer les pages html.
b. Interest
- Censorship : you can forbid pages whose url contain sex or xxx.
- Surf more quickly : no more time wasted to load ads. This is very
interesting if you connect through a modem, since it is slow and
expensive.
Nota: The way the filter stops a page is by looking the url, NOT the
content of the page. However, as you'll soon see, it's enough most of
the time.
Configuration
All the configuration of BannerKiller is made using the file
.proxy. Comments start by "#" and finish at the end of the line. Here
are the fields of this file (all of them are optional) :
- port : port on which the proxy is running (8080 by default)
- nextProxy : If this proxy has to connect to another proxy to
have access to internet, give its name and port on which to connect.
- noProxy : If useProxy is set : list of sites which do not need to
be accessed through the proxy. This list must be finished by
"end". You can use * and ?.
- forbidden : list of the forbidden urls. This list must be
finished by "end". You can use * and ?.
- allowed : If this field
is specified, only urls which match one the items of the list are
considered. All the other ones are "forbidden".
- answer : give
the name of the image that will replace the forbidden pages or images.
download
Download the
source code. This code will work under Linux and Digital Unix.
to use it, type :
- tar zxvf bannerkiller.tar.gz
- cd bannerkiller
- make
Limitations
BannerKiller uses a lot of threads (2 per url), so it might become
slow under heavy load (more then 50 pages per second).
BannerKiller only works with HTTP/1.0 browsers. It will not work with
Netscape 6.
To do
- Makesure there are no problems with virtual hosts
- Understand http 1.1 (rfc 2616)
- Add a cache
- prefetch