Ad Blocking

Tired of annoying ads splattered about pages at many web sites. Although many have learned to tune them out, they can still be distracting. Also, the biggest problem which is hard to tune out is they can drastically increase the time a page is completely loaded. The following are some techniques for blocking the display ads on pages.

NOTE: The techniques deal with the blocking of ad image data. HTML markup that is part of the ad would require a special document filter proxy and may difficulty to implement since there is no "standard" for marking up ads.

Hosts File Method

This method is described in Web Ad Blocking Under Linux/Unix, BeOS, MacOS and Windows by @Man. In sum, it requires the modification of your systems hosts file (maps hostnames to IP addresses) and the manual proxy configuration of your web client.

The beauty of this method is that it requires no additional software (like a proxy/web server). However, it does have the following limitations:

Proxy Auto Configuration

Netscape introduced with their 2.0 client the ability to load proxy configurations from a URL (or file). Later versions of IE support proxy auto configurations, so this method can apply to most users.

NOTE
I have had problems with IE 5.0 properly loading proxy auto configuration data. From searching around, it appears to be a bug with IE, but I could not find any patches to download that fixes it. MicroSoft seems to be reluctant to give patches for free unless the bugs are big security problems or you have some service contract with them.

An advantage to the proxy autoconf approach is that you can use pattern matching to block ads. A drawback is you need a web/proxy server to "absorb" all the ad URLs.

Setting Things Up

First, you need to have a proxy autoconf files as described at <http://www.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html>. The following is an example proxy autoconf file for blocking much ad data:

// Proxy configuration file to block ads.
// Host matching adapted from hostname list at
//	<http://www.ecst.csuchico.edu/~atman/spam/adblock.shtml>
//

////////////////////////////////////////////////////////////////////////
// Key function for determining proxy for a URL.  Any host that
// matches something that serves ads, we proxy to a server that
// will return a quick error response or return bogus data.  Here,
// the proxy is assumed to be listening on 127.0.0.1:61111.  Change
// the return "PROXY ..." statement at the end of the function to
// suit your local configuration.
//
// NOTE: Netscape will generate an error dialog if unable to
// communicate with the proxy server returned.
////////////////////////////////////////////////////////////////////////

function FindProxyForURL(url, host) {
  if ( // Evil domain checks
       shExpMatch(host, "*-adcenter.net") ||
       shExpMatch(host, "*.PostMasterBannerNet.com") ||
       shExpMatch(host, "*.ad-*") ||
       shExpMatch(host, "*.adbureau.net") ||
       shExpMatch(host, "*.admaximize.com") ||
       shExpMatch(host, "*.admex.com") ||
       shExpMatch(host, "*.ads.*") ||
       shExpMatch(host, "*.alladvantage.com") ||
       shExpMatch(host, "*.avenuea.com") ||
       shExpMatch(host, "*.bizservers.com") ||
       shExpMatch(host, "*.burstnet.com") ||
       shExpMatch(host, "*.click2net.com") ||
       shExpMatch(host, "*.clicktrade.com") ||
       shExpMatch(host, "*.commision-junction.com") ||
       shExpMatch(host, "*.digitalriver.com") ||
       shExpMatch(host, "*.doubleclick.net") ||
       shExpMatch(host, "*.eads.com") ||
       shExpMatch(host, "*.extreme-dm.com") ||
       shExpMatch(host, "*.flycast.com") ||
       shExpMatch(host, "*.focalink.com") ||
       shExpMatch(host, "*.freestats.com") ||
       shExpMatch(host, "*.hitbox.com") ||
       shExpMatch(host, "*.iadnet.com") ||
       shExpMatch(host, "*.imaginemedia.com") ||
       shExpMatch(host, "*.imgis.com") ||
       shExpMatch(host, "*.link4ads.com") ||
       shExpMatch(host, "*.mediaplex.com") ||
       shExpMatch(host, "*.netdirect.nl") ||
       shExpMatch(host, "*.ngadcenter.net") ||
       shExpMatch(host, "*.oneandonlynetwork.com") ||
       shExpMatch(host, "*.preferences.com") ||
       shExpMatch(host, "*.targetshop.com") ||
       shExpMatch(host, "*.teknosurf2.com") ||
       shExpMatch(host, "*.teknosurf3.com") ||
       shExpMatch(host, "*.trix.net") ||
       shExpMatch(host, "*.valueclick.com") ||
       shExpMatch(host, "*.websitefinancing.com") ||

       // Hostname pattern matches
       shExpMatch(host, "*-ad.*") ||
       shExpMatch(host, "*adlink.*") ||
       shExpMatch(host, "ad-*.com") ||
       shExpMatch(host, "ad.*") ||
       shExpMatch(host, "ad0*") ||
       shExpMatch(host, "adcontroller*") ||
       shExpMatch(host, "adcreatives*") ||
       shExpMatch(host, "adex*") ||
       shExpMatch(host, "adforce*") ||
       shExpMatch(host, "adfu.*") ||
       shExpMatch(host, "adimage*") ||
       shExpMatch(host, "adimg*") ||
       shExpMatch(host, "admedia*") ||
       shExpMatch(host, "adpick*") ||
       shExpMatch(host, "adremote*") ||
       shExpMatch(host, "ads.*") ||
       shExpMatch(host, "ads0*") ||
       shExpMatch(host, "ads1*") ||
       shExpMatch(host, "ads2*") ||
       shExpMatch(host, "ads3*") ||
       shExpMatch(host, "ads4*") ||
       shExpMatch(host, "ads5*") ||
       shExpMatch(host, "adserv*") ||
       shExpMatch(host, "adtegrity.*") ||
       shExpMatch(host, "banner.*") ||
       shExpMatch(host, "banners.*") ||
       shExpMatch(host, "click.*") ||
       shExpMatch(host, "cookies.*") ||
       shExpMatch(host, "ngads*") ||
       shExpMatch(host, "nsads*") ||
       shExpMatch(host, "ph-ad*") ||
       shExpMatch(host, "realads*") ||

       // URL matches
       shExpMatch(url, "*.weather.com/*/ads/*") ||
       shExpMatch(url, "*.tucows.com/image.ng/*") ||

       // Specific hostnames
       host == "207-87-18-203.wsmg.digex.net" ||
       host == "a32.g.a.yimg.com" ||
       host == "barnesandnoble.bfast.com" ||
       host == "beseenad.looksmart.com" ||
       host == "bizad.nikkeibp.co.jp" ||
       host == "bn.bfast.com" ||
       host == "c3.xxxcounter.com" ||
       host == "cornflakes.pathfinder.com" ||
       host == "crux.songline.com" ||
       host == "erie.smartage.com" ||
       host == "etad.telegraph.co.uk" ||
       host == "gadgeteer.pdamart.com" ||
       host == "gp.dejanews.com" ||
       host == "image.eimg.com" ||
       host == "images2.nytimes.com" ||
       host == "leader.linkexchange.com" ||
       host == "liquidad.narrowcastmedia.com" ||
       host == "macaddictads.snv.futurenet.com" ||
       host == "mercury.rmuk.co.uk" ||
       host == "newads.cmpnet.com" ||
       host == "retaildirect.realmedia.com" ||
       host == "spin.spinbox.net" ||
       host == "stats.superstats.com" ||
       host == "view.accendo.com" ||
       host == "web2.deja.com" ) {
    
    // Have a bogus server listening on giving address and port
    return "PROXY 127.0.0.1:61111"
  }

  return "DIRECT"
}

For future reference, lets call the above file proxy-config.pac. To get your web browser to load the file, do the following:

Netscape

Goto Edit|Preferences...|Advanced|Proxies and select Automatic proxy configuration. In the Configuration location (URL) box, enter the pathname to the file. Note, you will need to use the file URL syntax, for example: file://C|/doc/proxy-config.pac.

IE

Goto Tools|Internet Options...|Connections|LAN Settings and select Use automatic configuration script. In the Address field, enter the pathname to the file. Here, you can use regular DOS pathname notation, for example: C:\doc\proxy-config.pac.

Now, you need a web/proxy server to absorb all the ad URLs. In the above example, we use a server at 127.0.0.1:61111; i.e. A server running on our local machine listening to port 61111 (web servers normally listen on port 80).

NOTE
The reason we need a server is Netscape will generate error dialogs if it cannot communicate with the proxy server address returned from the FindProxyForURL function. I do not know how IE will behave since I had no success in getting it to load the proxy autoconf file as noted above.

A free server you can use is the Apache server available from <http://www.apache.org/httpd.html>. It runs under Unix-based systems, Win32 (Win9x, WinNT, Win2000), and a variety of other operating systems. Binaries are available at <http://www.apache.org/dist/binaries/> in case you do not have a C compiler.

You can use Apache's virtual host capability to capture the ad URLs. Here is an example virtual host configuration for Win32:

## Use Listen directives and not Port directive if server will handle
## requests from multiple ports.
Listen 127.0.0.1:61111

<VirtualHost *:61111>
DocumentRoot "C:/Program Files/Apache Group/Apache/null"
ErrorLog logs/error-block.log
SetEnvIf Request_URI .* no-access-log
CustomLog logs/access-block.log common env=!no-access-log
RewriteEngine on
RewriteRule ^(.*) /home/apache/null/index.html
</VirtualHost>

NOTE: This configuration requires that mod_rewrite has been built and enabled.

Make sure the file "C:/Program Files/Apache Group/Apache/null/index.html" exists and just contains a single space or newline character. Therefore, all ad URLs the browser requests from 127.0.0.1:61111 will just return a single whitespace character. The reason why the file contains at least one character of data is to avoid potential "Document contains no data" error dialogs from Netscape.

NOTE
You can have a custom message if you desire. But be warned, I know of at least one site that uses JavaScript ads via the <script src> tag. And if the custom message is not valid JavaScript, then you will get JavaScript error messages.

The above Apache directives disables logging of all accesses since the log file can get big quickly. However, if you are interested to see what URLs are getting matched by the proxy autoconf file, comment out the following line in the VirtualHost directive. I.e. Change,

SetEnvIf Request_URI .* no-access-log

to

#SetEnvIf Request_URI .* no-access-log
NOTE
Under Unix-based systems, you can set the pathname for CustomLog to /dev/null to disable access logging.

Multi-user Setup

If in an environment where multiple users would like to have ads blocked, the above configuration can easily be applied to multiple users in a networked environment. For the proxy autoconf file, it can be served by a web server, and instead of specify a local pathname to the file, you specify a URL instead. If using Apache, just add the following line to mime.types to make sure the proper mime-type is sent to the client:

application/x-ns-proxy-autoconfig	pac

The same web server, or a different one, can then be used to handle all the ad URLs. Just change the return "127.0.0.1:61111" line of the proxy autconf file to the address:port of the web server.

Internet Junkbuster

Internet Junkbuster, <http://www.junkbuster.com/ijb.html>, is a proxy server that can block URLs and cookies. The blocking of cookies is an additional bonus since many sites use cookies to track your behavior.

NOTE
The Junkbuster site promotes a product called Guidescope as a choice for blocking ads. A comparison of both products is given at <http://www.junkbusters.com/guidescope.html>. I personally choose to not use Guidescope, but I leave it to the individual on what they choose to use.

Installing Internet Junkbuster on your local system is documented at <http://www.junkbusters.com/ijbfaq.html#self. And just like the Proxy Auto Configuration method, can easily be setup for multiple users. The Internet Junkbuster FAQ goes into more detail.

Hence, I will just provide my sblock.ini file below:

# Internet Junkbuster block-file
# Derived from a block-file maintained by <fche@elastic.org>

/.*/ads/
/.*/adimage.asp
/.*/bannergifs/
/.*/pc.gif\?
/.*/viewbanner.php3.*
/accipiter/adserver
/ad.html
/addhit.cfm
/adforce/
/adimages/
/adimg/
/AdsRotator.asp
/AdSwap.dll
/ads/advertiser/
/ads/banners/
/adsamples/
/adserve
/Ads/Media/
/adserver/
/adserver.exe
/advert/
/advertising/ads.cgi
/adverts/
/AdWindowRotator.asp/
/banner-ads/
/bannerads/
/bannerimages/
/banners/banner.php3
/banners/regentad/
/banners/tracker.exe
/bin/ryl
/beast/cgi-bin/
/bserve.cgi
/cgi/banner
/cgi/banner.cgi
/cgi-bin/accipiter
/cgi-bin/adjuggler
/cgi-bin/ad/
/cgi-bin/ads/
/cgi-bin/ads.new
/cgi-bin/ads.pl
/cgi-bin/ad.cgi
/cgi-bin/ads.cgi
/cgi-bin/adserver.cgi
/cgi-bin/ad_center/
/cgi-bin/arp/rankem.cgi
/cgi-bin/bd.m
/cgi-bin/bannerbin
/cgi-bin/.*banner
/cgi-bin/bserve.cgi
/cgi-bin/click.cgi
/cgi-bin/clickthru
/cgi-bin/etcookies
/cgi-bin/exchange/ads_
/cgi-bin/in.cgi
/cgi-bin/pbn-show
/cgi-bin/phf
/cgi-bin/pageview/pvcount
/cgi-bin/rank/rankem.cgi
/cgi-bin/rankem.cgi
/cgi-bin/splitinfinity.cgi
/cgi-bin/top.cgi
/cgi-bin/topvlog.cgi
/gifs/actionbanners/
/gifs/ads/
/graphics/ads/
/i/ads/
/image.ng
/images/ad/
/images/ads/
/images/adverts/
/images/banners/
/img/ads/
/members/ads/
/pagecount.gif
/resource/advert/
/RealMedia/ads/
/RealMedia/PP/
/servfu.pl?
/servlet/AdletCounter
/showad.cgi?
/track/track.dll
/topsites/rankem.cgi
/tts-cgi/
1000stars.ru/
12.16.1.10/
123cash.com/
123ctc.com/
1site.net/cgi-local/bod_adtrack
199.172.158.30/
205.168.252.*/smirror/
207.87.5.130/
207.87.5.140/
207.136.67.104/
207.139.181.239/
208.138.33.194/cgi-bin/getimage.cgi/
209.207.224.240/
208.240.93.90/
208.243.115.241/
209.68.63.*/cgi-sys/
216.13.247.218/banners
247media.com/
247media.com/?adserv
7am.com/ads/
8848.net/ads/
a32.g.a.yimg.com/
#a.r.tv.com/
ad.bb.land.ru/
ad.bb.ru/
ad.blm.net/iframe
ad.blm.net/ilayer
ad.blm.net/image
ad.boxup.com/
ad.erektor.ru/
ad.hinet.net/
ad.ir.ru/
ad.linkexchange.com/
ad.onradio.com/
ad.pbs.bb.ru/
ad.preferences.com/
ad.preferences.com/image.ng
ad.tsms.com/
ad.yesite.com/
adbot.theonion.com/
adbucks.com/cgi/
adbureau.net/
adclient.chinatimes.com.tw/
adclix.com/banners/
adclub.net/
adcontent.gamespy.com/
adcounter.theglobeandmail.com/
adcreatives.imaginemedia.com/
allclicks.com/
adfinity2.247media.com/
adflight.com/
adforce.imgis.com/
adfu.blockstackers.com/
adfu.slashdot.org/
adhero.com/banners/
adimage.blm.net/
adimages.gamespy.com/
adimg.egroups.com/
adlink.de/
admaximize.com/
adpop.theglobe.com/
adrunner.mycomputer.com/
adserver.mindshare.de/
adserver.monster.com/
ads.1for1.com/
ads.8848.net/
ads.admonitor.net/adengine.cgi
ads.amazingmedia.com/
ads.bfast.com/ad/
ads.bloomberg.com/
ads.bomis.com/
ads.burstnet.com/
ads.burstnet.com/gifs/
ads.cashsurfers.com/
ads.canoe.ca/
ads.cbc.ca/
ads.clickagents.com/
ads.dai.net/
ads.enliven.com/
ads.fandom.com/
ads.fool.com/
ads.freshmeat.net/
ads.guardianunlimited.co.uk/
ads.i33.com/gifs/
ads.icq.com/
ads.ign.com/
ads.imgis.com/
ads.link4ads.com/
ads.lycos.com/ads/
ads.newsint.co.uk/
ads.newsdigital.net/
ads.nytimes.com/
ads.ohhello.com/
ads.oxygen.com/
ads.powerstudents.com/
ads.realcities.com/
ads.smartclicks.com/
ads.theglobeandmail.com/
ads.tmcs.net/
ads.ugo.com/
ads.web.aol.com/
ads.x10.com/
ads1.zdnet.com/
ads1.spiderware.com/
ads2.zdnet.com/
ads3.zdnet.com/
adserve.x-stream.co.uk/
adserver.affiliation.com/
adserver.newsworld.net/
adserver.thisislondon.co.uk/
adserver.track-star.com/
adserver.ugo.com/
adtech.de/
adtegrity.spinbox.net/
adv.stars.ru/
advertising.com/
adwisdom.com/
adz.sk/
affiliatetarget.com/
allpolitics.com/ads/
andovernews.com/banner
andovernews.com/pagecount.gif
angelfire.com/sys/popup
anl.ngadcenter.net/ads/
appleinsider.com/banners/
arstechnica.com/includes/.*ad.gif
banner.linkexchange.com/
bannerbrokers.com/
bannerexchange.com/
bannerland.de/
bannermall.com/
bannerpool.com/
bannerspace.com/
banners.babylon-x.com/
banners.directnic.com/
banners.looksmart.com/
banners.orbitcycle.com/
banners.ru/cgi-bin/
bannervip.webjump.com/webjump/valet/
bastard.com/banners/
bcentral.com/
bizlink.ru/cgi-bin/irads
blackdown.org/scrollad.zip
bluestreak.com/
brillscontent.com/cgi-bin/nph-adeq
bsads.immerce.com/
bsads.looksmart.com/
businessweek.com/sponsors/
canoe.ca/air_miles/
canoe.ca/Ads
canoe.ca/AdsCanoe/
canoe.ca/AirCanada/
canoe.ca/AndersonConsulting/
canoe.ca/AutoNet/
canoe.ca/Becel/
canoe.ca/Bell_Canada/
canoe.ca/Bk_Montreal/
canoe.ca/buenavista/
canoe.ca/CdnGarden/
canoe.ca/Chapters/
canoe.ca/Cheerios/
canoe.ca/CIBC/
canoe.ca/Compaq/
canoe.ca/Cafe_cafe/
canoe.ca/CSI/
canoe.ca/DMC/
canoe.ca/EParcel/
canoe.ca/Epost/
canoe.ca/EFunds/
canoe.ca/FederalExpress
canoe.ca/FedEx/
canoe.ca/Fido/
canoe.ca/finactive/
canoe.ca/futureshop/
canoe.ca/GeneralMotors/
canoe.ca/GardenCrazy/
canoe.ca/Henry/
canoe.ca/HR_Block/
canoe.ca/imoney/
canoe.ca/Ici_Montreal/
canoe.ca/Kodak/
canoe.ca/Kanetix/
canoe.ca/MacDonalds/
canoe.ca/Microsoft/
canoe.ca/nissan/
canoe.ca/Norstarmall/
canoe.ca/Nurun/
canoe.ca/Ont_East_Economic/
canoe.ca/Panasonic/
canoe.ca/radio_shack/
canoe.ca/Rogers/
canoe.ca/RoyalBank/
canoe.ca/Sams/
canoe.ca/Scotiabank
canoe.ca/ShopChaptersImages
canoe.ca/ShopImages/
canoe.ca/SportMart/
canoe.ca/Sunlight/
canoe.ca/Time/
canoe.ca/TravelImages/
canoe.ca/Universal_Studios
canoe.ca/Vivacare/
canoe.ca/Yellow/
cds.mediaplex.com/
channel2000.com/.*sponsors/
channel2000.com/Images/Sponsors/
channel4000.com/.*sponsors/
chicagotribune.com/liveads/
circuitcellar.com/images/paidads/
circuitcellar.com/images/PaidAds/
circuitcellar.com/.*/Ads/
click.go2net.com/
click2net.com/
clickagents.com/cgibin/
clickfinders.com/
clickslink.com/
clickthrough.ca/
clickthru.net/
clicktrade.com/
clicktv.com/_ads/
clickxchange.com/
cnn.com/ads/
cnn.com/image.ng/
cnn.com/SHOP/
cnnfn.com/ads/
commonwealth.riddler.com/Commonwealth/
crazies.com/lcgi-bin/watchdog
crazyhost.com/.*banners
cuj.com/resource/micro/
cyberclick.net/module/banner
datais.com/ads/
datapower.com/db/banners/
davecentral.com/banner/
deja.com/ads/
dejanews.com/ads/
dimeclicks.com/
dimeperclick.com/
diradserver.developer.com/
directhit.com/
directleads.com/
doubleclick.net/
driverguide.com/images
dvdinsider.com/ads/
eads.com/
eimg.com/ads/
entertainment.net/cgi-bin/click2
etad.telegraph.co.uk/
eurobanner2.com/
everyone.net/ads/
fairfax.com.au/ads/
findcommerce.com/tracking/
flycast.com/
focalink.com/SmartBanner/
forbes.com/Ads/
forbes.com/ads/ms_dns/
foxnews.com/fn99/ads/
foxnews.com/ads/
freehosting.net/cgi-bin/b/
free-banners.com/cgi-bin/fb/
frontpage.storm.inter.net/
fsn.net/banners/
akamai*.net/.*/ads.*
akamai*.net/.*/banners/.*
akamai*.net/.*/sponsors.*/
akamai*.net/.*/images/ad/
akamai*.net/.*/www.quicken.com/images/
go.com/ad/
graphics.nytimes.com/ads/
graphics.theonion.com/ad_grpahics/
hamptonroads.digitalcity.com/banners/
hamptonroads.digitalcity.com:80/banners/
hardwarecentral.com/ads/
herald.com/ads/
hitbox.com/
hitexchange.net/
homebuilder.com/ads/
humanclick.com/
hvacmall.com/images/add
hyperbanner.net/
hypermart.net/be/ads.pl
i-clicks.net/
ibuypower.com/images/ad-
icons.imdb.com/Ads/
icewerk.com/dad/ad
icq.com/scripts/
id.adultcheck.com/
image.click2net.com/
images.bizrate.com/website/promo
images.bizrate.com/website/banner
images.go2net.com/go2net/ads/
images.nytimes.com/RealMedia/ads/
images2.nytimes.com/RealMedia/ads/
imaginemedia.com/
img.cmpnet.com/ads/
imgis.com/
impressionz.com/
independent.co.uk/-images/buttons/
independent.ie/ads/
independent.ie/autoads/
infospace.com/adman
insightmag.com/img/ad
internetnews.com/ads/
intervideo.com/Images/Ad_banner.gif
ipc.ru/cgi-bin/
kenseglerdesigns.com/banners/
koreaherald.co.kr/adv/
link4ads.com/bin/wadredir
linkexchange.com/
linkexchange.ru/
linksynergy.com/
linkunion.com/cgi-localbin/ads
linux.org/perl-bin/present
linuxplanet.com/ads/
linuxtoday.com/ltbs/
liquidad.narrowcastmedia.com/
looksmart.com/hit.counter
looksmart.com/ShowAd
lycos.co.jp/ads/
macnn.com/media/
mafia.ru/cgi-bin/
media.preferences.com/
mediahits.com/serve.fcg
mediaplex.com/banner
mediaplex.com/ad
members.tripod.com/adm/popup/
microsoft.com/Banners/
mingpao.com/newspaper/adbanner/
mmm100.net/ban/
mr.linx.cz/
msn.com/AD
msn.com/ads
net-on.net/cgi-bin/bserve.pl
netaddress.com/cgi-bin/
netaddress.usa.net/ads/
netadsrv.iworld.com/
netbanner.com/
netradio.com/ads/
netsponsors.com/
newads.cmpnet.com/
newsdigital.net/ads/
ngad.quicken.ca/
ngadcenter.net/
nickelaclick.com/
nsads.hotwired.com/
officedepot.com/images/redesign/ads/
oillink.com/ads/
oillink.com/banager/
onlad*.quicken.com/
pair.com/cgi-sys/
pathfinder.com/sponsors
pennyweb.com/
playvertise.com/
preferences.com/image.ng
preferences.com/image;
privategold.com/cgi-bin/click
probe.prohosting.com/
quicken.ca/images/eng/ads/
quickclicknetwork.com/
realtor.com/Ads/
register.com/images/
reklama.mail.ru/
revenuemakers.com/advert
safeclicks.com/cgi-bin/
sal.kachinatech.com/banners/
samsung.com/.*/banner
secserv.imgis.com/
service.bfast.com/bfast/
sextracker.com/
sfgate.com/place-ads
showbizdata.com/banners/
slashdot.org/banner
snap.com/Ads
spanishbanner.com/cgi/bserve.cgi
speedbit.com/cgi-bin/ads
spinbox1.filez.com/
splitinfinity.com/hotmoney/banners/
sponsors.tomshardware.com/
sponsorweb.de/
spree.com/resources/link_generator/
spylog.com/
starpages.com/.*banner.*
starpages.com/.*lug.*
starsads.com/cgi-bin/
static.hotbot.com/images/ads/
static.hotbot.com/images/hb_frontdoor_ads.gif
static.hotbot.com/images/new_white_ads*
static.hotbot.com/images/white_ads
static.wired.com/advertising/
suchen.com/ad/
suchen.com:80/ad/
sulweb.com/ads/
sun-sentinel.com/ads/
superstats.com/b.cgi
svr4.iadnet.com/
swap.com/AdSwap
talkway.com/
tbssuperstation.com/ads/
techreview.com/ads/
thechipmerchant.com/ars-ads/
theglobe.com/ads/
theonion.com/ad_graphics/
ticketmaster.ca/tmimages/ads/
topad.net/
track-star.com/
tv.com/cnet.12h/Ads/
ual.com/media/
valueclick.com/
valueclick.com/cgi-bin/cycle?
valueclick.com/cycle
valueclick.ne.jp/ad.s
viele-hits.net/
view.avenuea.com/view/
view.accendo.com/
visit.theglobeandmail.com/
vrserv.com/clicktrade/
videotex.net/cf_rotate/
vtec.net/sponsors/
webconnect.net/cgi-bin/
websitesponsors.com/
websponsors.com/
whispa.com/tracking/
wired.com/advertising/
ww3.hitbox.com/servlets/Hitbox
www.abcnews.com/ad/
www.bannerswap.com/images/
www.blacklightmedia.com/adlemur/
www.boston.com/images/ads/
www.businessweek.com/sponsors/
www.chipdir.com/chipdir/adb/
www.chipdir.com/chipdir/gif/
www.circellar.com/images/PaidAds/
www.clickthrough.ca/
www.cnet.com/Ads/
www.computers.com/Ads/
www.forbes.com/forbes/gifs/ads/
www.geocities.com/toto
www.ggww.com/cgi-bin/accipiter
www.hitbox.com/p/
www.latimes.com/ADS/
www.mercurycenter.com/advert/
www.nando.net/nt/ads/
www.news.com/Ads/
www.newsbytes.com/OAS/rm/adstream
www.newsweek.com/RealMedia/ads/
www.real.com/ads/
www.sixdegrees.com/gif/ads_gif/
www.sjmercury.com/products/marcom/
www.techsightings.com/banner/
www.thestar.ca/thestar/images/ad/
www.thestar.com/images/ad/
www.thestar.com/thestar/images/ad/
www.washingtonpost.com/RealMedia/ads/
www.washingtonpost.com/wp-adv/
www.worldnetdaily.com/ads/
www.worldnetdaily/ads/
www.wotsit.org/adverts/
yahoo.com/adv/
yahoo.co.uk/adv/
yahoo.co.jp/adv/
yimg.com/a/
yimg.com/.*/adv/
z69.com/bann/
zdnet.com/adverts/
zeroknowledge.com/clickthrough/
zoneblaster.com/cgi-bin/A/zbads.cgi

Home | Résumé | Recognitions | Earl's Perls | Other Gems | Software Directory | perlSGML | MHonArc | MIME | Bookmarks

Sun Dec 31 10:38:47 PST 2000
Earl Hood, ehood@pobox.com