////////////////////////////////////////////////////////////////////////////// // // John's No-ADS proxy auto configuration script // http://www.schooner.com/~loverso/no-ads/ // loverso@schooner.com // Questions/help web forum at http://www.network54.com/Hide/Forum/223428 // // Copyright 1996-2002, John LoVerso. All Rights Reserved. // // Permission is given to use and distribute this file, as long as this // copyright message and author notice are not removed. // // No responsibility is taken for any errors on inaccuracies inherent // either to the comments or the code of this program, but if reported // to me, then an attempt will be made to fix them. // // ("no monies exchanged" in Copyright clause removed 11/2001) // // $Id: no-ads.pac,v 4.10 2002/12/15 20:09:36 loverso Exp loverso $ // // *** // *** Update the next line with the correct // *** hostname:port of your blackhole proxy server // *** var blackhole = "PROXY localhost:3421"; // **** // **** If you cannot go direct or need to use an actual proxy // **** (such as used by an ISP or business or on a firewall), // **** change the "DIRECT" below to "PROXY hostname:port", // **** with the correct hostname:port for your proxy server. // **** var normal = "PROXY localhost:3421"; //var normal = "DIRECT"; /////////////////////////////////////////////////////////////////////////////// // // To see the definition of this page's JavaScript contents, see // // http://home.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html // // Microsoft includes this in thie KB article: // http://support.microsoft.com/support/kb/articles/Q209/2/66.ASP // // Special PAC functions: // Hostname: // isPlainHostName(host) // dnsDomainIs(host, domain) // localHostOrDomainIs(host, hostdom) // isResolvable(host) // isInNet(host, pattern, mask) // Utility: // dnsResolve(host) // myIpAddress() // dnsDomainLevels(host) // URL: // shExpMatch(str, shexp) // Time: // weekdayRange(wd1, wd2, gmt) // dateRange(...) // timeRange(...) // // Other functions and methods that may work: // http://developer.netscape.com/docs/manuals/communicator/jsref/win1.htm // Note that "alert()" only works with Netscape4 and IE. // var isactive = 1; function FindProxyForURL(url, host) { // debug // alert("checking: " + url); // Suggestion from Quinten Martens // Make everything lower case. url = url.toLowerCase(); host = host.toLowerCase(); // Excellent kludge from Sean M. Burke: // Enable or disable no-ads for the current browser session. // // To disable, visit this URL: http://no-ads.int/off // To re-enable, visit this URL: http://no-ads.int/on // // (this will not work with Mozilla or Opera if the alert()s are present) // if (shExpMatch(host, "no-ads.int")) { if (shExpMatch(url, "*/on*")) { isactive = 1; // alert("no-ads is enabled.\n" + url); } else if (shExpMatch(url, "*/off*")) { isactive = 0; // alert("no-ads has been disabled.\n" + url); } else { // alert("no-ads unknown option.\n" + url); } return blackhole; } if (!isactive) { return normal; } // To add more sites, simply include them in the correct list in the // correct format. //////////////////// // Whitelisted sites if ( (dnsDomainIs(host, "windowsupdate.microsoft.com")) || shExpMatch(url, "*/favicon.ico") || (dnsDomainIs(host, "washingtonpost.com") && shExpMatch(url, "*article_ad_delivery.js*")) || (shExpMatch(url,"*/ads/*") && (dnsDomainIs(host, ".coopercockpit.com") || dnsDomainIs(host, ".priceworld.com") || dnsDomainIs(host, ".intertraq.com")) ) || (dnsDomainIs(host, "servertest.e-smith.com")) || (dnsDomainIs(host, "samba.org") && shExpMatch(url, "*samba_banner*")) || (dnsDomainIs(host, "webchitect.com") && shExpMatch(url, "*/Banner.gif")) || (dnsDomainIs(host, "spamarchive.org") && shExpMatch(url, "*banner.htm*")) || (dnsDomainIs(host, "nextelonline.nextel.com") && shExpMatch(url, "*/NASApp/*")) || (dnsDomainIs(host, "chrouch.com")) || (dnsDomainIs(host, "indirect.nextel.com")) || (dnsDomainIs(host, "idenupdate.motorola.com")) || (dnsDomainIs(host, "businessonline.motorola.com")) || (dnsDomainIs(host, "crutchfield.com") && shExpMatch(url, "*/popups/*")) || (dnsDomainIs(host, "toc.oscar.aol.com") && shExpMatch(url, "*banner.gif")) || (dnsDomainIs(host, "foxnews.com") && shExpMatch(url, "*logo*.gif")) || (dnsDomainIs(host, "bannerblind.mozdev.org") && shExpMatch(url, "*banner*")) || (shExpMatch(url,"*/*_banner*") && shExpMatch(url, "mscom_download_banner.gif")) ) {return normal;} //////////////////// ////////////////// // // My sites // if ( dnsDomainIs(host, "directads.mcafee.com") || shExpMatch(url, "*/wp-adv/advertisers/*") || (dnsDomainIs(host, "esmartstart.com") && ( shExpMatch(url, "*popup.pl*") ) ) || shExpMatch(url, "*/AD_PAGE/*") || dnsDomainIs(host, "bd12.com") || dnsDomainIs(host, "hera.hardocp.com") || shExpMatch(url, "*/advertising/*") || shExpMatch(url, "*rd.yahoo.com/M=*") || shExpMatch(url, "*dopop?id*") || (dnsDomainIs(host, "angelfire.com") && ( shExpMatch(url, "*popup_source*") ) ) || (dnsDomainIs(host, "angelfire.lycos.com") && ( shExpMatch(url, "*angelfire_popunder*") ) ) || (dnsDomainIs(host, "domainnamesearchengine.net") && ( (shExpMatch(url, "*/magnum/*") ) || (shExpMatch(url, "*/add/*") ) ) ) || shExpMatch(url, "*.asp?ban*") || shExpMatch(url, "*banner.cgi?*") || shExpMatch(url, "*www.digitalriver.com/v2.0-img/operations/mcafeeus/*") || shExpMatch(url, "*/banner*.gif") || shExpMatch(url, "*/Banners/*") || shExpMatch(url, "*/Banner/*") || shExpMatch(url, "*/popunder/*") || shExpMatch(url, "*/PopUps/*") || shExpMatch(url, "*/signup-pop2.html") || shExpMatch(url, "*/sponsors/*") || shExpMatch(url, "*/adserver/*") || shExpMatch(url, "*/phpAdsNew/*") || shExpMatch(url, "*/adbanners/*") || shExpMatch(url, "*/affiliatebanners/*") || shExpMatch(url, "*/home_banners/*") || shExpMatch(url, "*/bannerads/*") || shExpMatch(url, "*/cnn_adspaces/*") || shExpMatch(url, "*/adsPopup2.js*") || shExpMatch(url, "*/adsWrapper.js*") || shExpMatch(url, "*/RealMedia/ads/*") || shExpMatch(url, "*/popupad_soft.asp*") || shExpMatch(url, "*/adrotator/*") || shExpMatch(url, "*/adcycle/*") || shExpMatch(url, "*/banner.htm*") || shExpMatch(url, "*/PromotionsPopUp.php*") || shExpMatch(url, "*/popup.asp*") || shExpMatch(url, "*bannerad.gif") || shExpMatch(url, "*/fm_popup.html*") || shExpMatch(url, "*/dontleave.asp") || shExpMatch(url, "*/banniere_echange/*") || (dnsDomainIs(host, "pdf995.com") && ( shExpMatch(url, "*/promo/*") ) ) || dnsDomainIs(host, "popup.*") || dnsDomainIs(host, "click.absoluteagency.com") || dnsDomainIs(host, "directads.*") || dnsDomainIs(host, "remotead.*") || dnsDomainIs(host, "sfads.*") || dnsDomainIs(host, "adserver.*") || dnsDomainIs(host, "ad.*") || dnsDomainIs(host, "ads.*") // || dnsDomainIs(host, "isapiad.weatherbug.com") || dnsDomainIs(host, "banners.*") || dnsDomainIs(host, "realmedia*.d4p.net") || dnsDomainIs(host, "213.165.64.35") || (dnsDomainIs(host, "anonymizer.com") && ( shExpMatch(url, "*/bars/*") ) ) || shExpMatch(url, "*468x60.gif") || (dnsDomainIs(host, "gmx.net") && ( shExpMatch(url, "*/cgi/hpad*") ) ) || (dnsDomainIs(host, "dcimarketing.com") && ( shExpMatch(url, "*_popup.*") ) ) || (dnsDomainIs(host, "zeroping.com") && ( shExpMatch(url, "*Poweredby-ZP.swf*") ) ) || (dnsDomainIs(host, "images.worldnow.com") && ( shExpMatch(url, "*/Images/*") ) ) || (dnsDomainIs(host, "rcm-images.amazon.com") && ( shExpMatch(url, "*banner*") ) ) || dnsDomainIs(host, "remotead.cnet.com") || (dnsDomainIs(host, "*.memoryoptimizer.com") && ( shExpMatch(url, "*/mcafee/*") ) ) || dnsDomainIs(host, "media.fastclick.net") || (dnsDomainIs(host, "infinisource.com") && ( shExpMatch(url, "*/advertising/*") ) ) || dnsDomainIs(host, "venus.goclick.com") || (dnsDomainIs(host, "affiliate.doteasy.com") && ( shExpMatch(url, "*ads*") ) ) || (dnsDomainIs(host, "*.ozbytes.net.au") && ( shExpMatch(url, "*/ads.pl*") ) ) || (dnsDomainIs(host, "62.27.38.2") && ( shExpMatch(url, "*.swf*") ) ) || dnsDomainIs(host, "62.26.220.2") || (dnsDomainIs(host, "*.nzads.net.nz") && ( shExpMatch(url, "*/ad.asp*") ) ) || (dnsDomainIs(host, "*.bannerads.uk.co") && ( shExpMatch(url, "*banner*") ) ) || (dnsDomainIs(host, "*.zdnet.com") && ( shExpMatch(url, "*/adverts/*") ) ) || (dnsDomainIs(host, "computing.net") && ( shExpMatch(url, "*/adjuggler*") ) ) || dnsDomainIs(host, "rcm.amazon.com") || (dnsDomainIs(host, "rcm-images.amazon.com") && ( shExpMatch(url, "*banner.gif") ) ) || (dnsDomainIs(host, "amazon.com") && ( shExpMatch(url, "*banner.gif") ) ) || (dnsDomainIs(host, "tv7-4.com") && ( shExpMatch(url, "*/ad.asp*") ) ) || (dnsDomainIs(host, "ibsys.com") && ( shExpMatch(url, "*/sponsors/*") ) ) || (dnsDomainIs(host, "fanclub64.co.uk") && ( (shExpMatch(url, "*/genie.html*") ) || (shExpMatch(url, "*/sms/adpane/*") ) || (shExpMatch(url, "*/sms/infopane/*") ) ) ) || (dnsDomainIs(host, "dsl.com") && ( shExpMatch(url, "*Banners/*") ) ) || (dnsDomainIs(host, "summitracing.com") && ( shExpMatch(url, "*banner.gif") ) ) || (dnsDomainIs(host, "networkingnews.org") && ( shExpMatch(url, "*/banner*") ) ) || (dnsDomainIs(host, "weather.com") && ( (shExpMatch(url, "*/ads/*")) || (shExpMatch(url, "*/creatives/*")) ) ) || (dnsDomainIs(host, "targetsearches.com") && ( shExpMatch(url, "*/468x60*") ) ) || (dnsDomainIs(host, "powerquest.com") && ( shExpMatch(url, "*ad.swf") ) ) || dnsDomainIs(host, "netcomm.spinbox.net") || dnsDomainIs(host, "adfarm.mediaplex.com") || (dnsDomainIs(host, "purenetworking.net") && ( shExpMatch(url, "*banner.gif") ) ) || dnsDomainIs(host, "toolbar.netscape.com") || dnsDomainIs(host, "specialoffers.aol.com") || dnsDomainIs(host, "popme.163.com") || dnsDomainIs(host, "45495915461") || dnsDomainIs(host, "151.196.147.197") || dnsDomainIs(host, "*.fuck-portal.com") || dnsDomainIs(host, "clickit.go2net.com") || dnsDomainIs(host, "adincl.gopher.com") || dnsDomainIs(host, "*.qksrv.net") || dnsDomainIs(host, "*.popuptraffic.com") || dnsDomainIs(host, "*.pinkchocolate.com") || dnsDomainIs(host, "*.lickinlovers.com") || dnsDomainIs(host, "*.cutegirlfriend.com") || dnsDomainIs(host, "*.maximumcash.com") || dnsDomainIs(host, "*.vulgarteens.com") || dnsDomainIs(host, "*.amateuruniversity.com") || dnsDomainIs(host, "*.sinfulhardcore.com") || dnsDomainIs(host, "link.siccash.com") || dnsDomainIs(host, "*.justtoons.com") || dnsDomainIs(host, "*.hardinterracial.com") || dnsDomainIs(host, "*.allpetite.com") || dnsDomainIs(host, "arsconsole.global-intermedia.com") || dnsDomainIs(host, "66.40.3.5") || dnsDomainIs(host, "209.25.173.3") || dnsDomainIs(host, "209.25.173.4") || dnsDomainIs(host, "html.andr.net") || dnsDomainIs(host, "*.adscpm.com") || dnsDomainIs(host, "*.xxxteenclub.de") || dnsDomainIs(host, "hg1.hitbox.com") || dnsDomainIs(host, "*.babylonteen.com") || dnsDomainIs(host, "*.babylonlesbian.com") || dnsDomainIs(host, "*.hardcorepornos.org") || dnsDomainIs(host, "ad-adex3.flycast.com") || dnsDomainIs(host, "js-adex3.flycast.com") || dnsDomainIs(host, "itrash.discountclick.com") || dnsDomainIs(host, "connect.247media.ads.link4ads.com") || dnsDomainIs(host, "servedby.advertising.com") || dnsDomainIs(host, "euniverseads.com") || dnsDomainIs(host, "ads3.zdnet.com") || dnsDomainIs(host, "lubid.lycos.com") || dnsDomainIs(host, "leader.linkexchange.com") || dnsDomainIs(host, "media.admonitor.net") || dnsDomainIs(host, "exitstitial.gopher.com") || dnsDomainIs(host, "ads14.focalink.com") || dnsDomainIs(host, "image.ugo.com") || dnsDomainIs(host, "mjxads.internet.com") || dnsDomainIs(host, "205.180.85.40") // pinkwet.com spam || dnsDomainIs(host, "4.47.96.141") ) {return blackhole;} // ////////////////// // The sites below are ones I currently block. Tell me of others you add! if (0 // Block IE4/5 "favicon.ico" fetches // (to avoid being tracked as having bookmarked the site) // // NOTE: IE5 *sometimes* fetches facicon.ico w/o using the proxy! || shExpMatch(url, "*/favicon.ico") ////// // // Global Section // tries to match common names // // This section targets most command "ad" URLs. These try to avoid // the problems with a rule of this form: // || shExpMatch(url, "*ads*") // (in that it will disallow all URLs that say "downloads") || (shExpMatch(url,"*/ads/*") // avoid false positives // http://www.coopercockpit.com/ads && !dnsDomainIs(host, ".coopercockpit.com") // www.priceworld.com/Ads/SundayAds_sub.asp && !(dnsDomainIs(host, ".priceworld.com") || dnsDomainIs(host, ".intertraq.com")) // Apple.com "Switch" ads && !shExpMatch(url, "*.apple.com/switch/ads/*") ) // Some people remove the directories from the following rules // (i.e., they use "*banners" rather than "*/banners/*). // I think that allows too many false positives, so the rules // aren't that way by default. // || shExpMatch(url,"*/banner/*") || shExpMatch(url,"*/banners/*") || shExpMatch(url,"*/banner_*") || shExpMatch(url,"*/*_banner*") || shExpMatch(url,"*/popunder/*") || shExpMatch(url,"*/popunders/*") || shExpMatch(url,"*/popup/*") || shExpMatch(url,"*/popups/*") || shExpMatch(url,"*/ad/*") || shExpMatch(url,"*adframe*") // This removes all hostnames starting with "ad????." // (matches things like ad., ads., ads03., etc), but not others // (such as add.yahoo.com) Modified with suggestion from Kevin Roth. /// || (shExpMatch(url, "http://ad*") && /// !( shExpMatch(url, "http://add*") /// || shExpMatch(url, "http://admin*") /// || shExpMatch(url, "http://advogato*"))) || (shExpMatch(host, "ad*") && ( shExpMatch(host, "ad.*") || shExpMatch(host, "ad?.*") || shExpMatch(host, "ad??.*") || shExpMatch(host, "ad???.*") || shExpMatch(host, "ads???.*") ) && !( shExpMatch(host, "add*") || shExpMatch(host, "admin*") ) ) /// || ( ( shExpMatch(host,"ad.*") /// || shExpMatch(host,"ad?.*") /// || shExpMatch(host,"ad??.*") /// || shExpMatch(host,"ad???.*") /// || shExpMatch(host,"ads???.*") /// ) && !( /// shExpMatch(host,"add*") /// ) /// ) // Match hostnames || shExpMatch(host, "*banner*") || shExpMatch(host, "*adserv*") // or any subdomain "ads" || (dnsDomainLevels(host) > 2 && shExpMatch(host, "*.ads.*")) ////// // // banner/ad organizations // Just delete the entire namespace // // these set cookies || dnsDomainIs(host, ".doubleclick.com") || dnsDomainIs(host, ".doubleclick.net") || dnsDomainIs(host, ".globaltrack.com") || dnsDomainIs(host, ".burstnet.com") || dnsDomainIs(host, ".adbureau.net") || dnsDomainIs(host, ".targetnet.com") || dnsDomainIs(host, ".humanclick.com") || dnsDomainIs(host, ".linkexchange.com") || dnsDomainIs(host, ".fastclick.com") || dnsDomainIs(host, ".fastclick.net") // one whole class C full of ad servers (fastclick) || isInNet(host, "205.180.85.0", "255.255.255.0") // these use 1x1 images to track you || dnsDomainIs(host, ".admonitor.com") || dnsDomainIs(host, ".focalink.com") || dnsDomainIs(host, ".websponsors.com") || dnsDomainIs(host, ".commission-junction.com") || dnsDomainIs(host, ".advertising.com") || dnsDomainIs(host, ".cybereps.com") || dnsDomainIs(host, ".postmasterdirect.com") || dnsDomainIs(host, ".advertising.com") || dnsDomainIs(host, ".mediaplex.com") || dnsDomainIs(host, ".adtegrity.com") || dnsDomainIs(host, ".bannerbank.ru") || dnsDomainIs(host, ".bannerspace.com") || dnsDomainIs(host, ".theadstop.com") || dnsDomainIs(host, ".l90.com") || dnsDomainIs(host, ".webconnect.net") || dnsDomainIs(host, ".avenuea.com") || dnsDomainIs(host, ".flycast.com") || dnsDomainIs(host, ".engage.com") || dnsDomainIs(host, ".imgis.com") || dnsDomainIs(host, ".datais.com") || dnsDomainIs(host, ".link4ads.com") || dnsDomainIs(host, ".247media.com") || dnsDomainIs(host, ".hightrafficads.com") || dnsDomainIs(host, ".qkimg.net") || dnsDomainIs(host, ".tribalfusion.com") || dnsDomainIs(host, ".rightserve.net") || dnsDomainIs(host, ".admaximize.com") || dnsDomainIs(host, ".valueclick.com") || dnsDomainIs(host, ".adlibris.se") || dnsDomainIs(host, ".vibrantmedia.com") || dnsDomainIs(host, ".coremetrics.com") || dnsDomainIs(host, ".vx2.cc") || dnsDomainIs(host, ".webpower.com") || dnsDomainIs(host, ".everyone.net") || dnsDomainIs(host, ".zedo.com") || dnsDomainIs(host, ".bigbangmedia.com") || dnsDomainIs(host, ".ad-annex.com") || dnsDomainIs(host, ".iwdirect.com") || dnsDomainIs(host, ".adlink.de") || dnsDomainIs(host, ".bidclix.net") || dnsDomainIs(host, ".webclients.net") || dnsDomainIs(host, ".linkcounter.com") // */adv/* || dnsDomainIs(host, ".bluestreak.com") // Virtumundo -- as annoying as they get || dnsDomainIs(host, ".virtumundo.com") || dnsDomainIs(host, ".treeloot.com") || dnsDomainIs(host, ".memberprize.com") // internetfuel and _some_ of the sites they redirect to // (more internetfuel - from Sam G) || dnsDomainIs(host, ".internetfuel.net") || dnsDomainIs(host, ".internetfuel.com") || dnsDomainIs(host, ".peoplecaster.com") || dnsDomainIs(host, ".cupidsdatabase.com") || dnsDomainIs(host, ".automotive-times.com") || dnsDomainIs(host, ".healthy-lifetimes.com") || dnsDomainIs(host, ".us-world-business.com") || dnsDomainIs(host, ".internet-2-web.com") || dnsDomainIs(host, ".my-job-careers.com") || dnsDomainIs(host, ".freeonline.com") || dnsDomainIs(host, ".exitfuel.com") || dnsDomainIs(host, ".netbroadcaster.com") || dnsDomainIs(host, ".spaceports.com") || dnsDomainIs(host, ".mircx.com") || dnsDomainIs(host, ".exitchat.com") || dnsDomainIs(host, ".atdmt.com") || dnsDomainIs(host, ".partner2profit.com") || dnsDomainIs(host, ".centrport.net") || dnsDomainIs(host, ".centrport.com") ////// // // banner servers // (typically these set cookies or serve animated ads) // || dnsDomainIs(host, "commonwealth.riddler.com") || dnsDomainIs(host, "banner.freeservers.com") || dnsDomainIs(host, "usads.futurenet.com") || dnsDomainIs(host, "banners.egroups.com") || dnsDomainIs(host, "ngadclient.hearme.com") || dnsDomainIs(host, "affiliates.allposters.com") || dnsDomainIs(host, "adincl.go2net.com") || dnsDomainIs(host, "webads.bizservers.com") // web ads and "cheap Long Distance" || dnsDomainIs(host, "zonecms.com") || dnsDomainIs(host, "zoneld.com") // AOL || dnsDomainIs(host, ".atwola.com") || dnsDomainIs(host, "toolbar.aol.com") /// matched by global rules /// || shExpMatch(url, "*freewebsites.com/banner/*") /// || shExpMatch(url, "*linkexchange.com/*banner*") /// || dnsDomainIs(host, "ad.linkexchange.com") /// || dnsDomainIs(host, "ads.infi.net") /// || dnsDomainIs(host, "adclub.net") /// || dnsDomainIs(host, "adserv.newcentury.net") /// || dnsDomainIs(host, "ad.adsmart.net") /// || dnsDomainIs(host, "adbot.com") /// || dnsDomainIs(host, "ads.softbank.net") /// || dnsDomainIs(host, "ad.preferences.com") /// || dnsDomainIs(host, "ads.jwtt3.com") /// || dnsDomainIs(host, "ads.ugo.com") /// || dnsDomainIs(host, "ads.csi.com") /// || dnsDomainIs(host, "ads.enliven.com") /// || dnsDomainIs(host, "adcontent.gamespy.com") /// || dnsDomainIs(host, "adrunner.mycomputer.com") /// || shExpMatch(url, "*.computers.com/Ads*") /// || shExpMatch(url, "*.cnet.com/Ads*") /// || shExpMatch(url, "*/cnet*/Ads*") /// || shExpMatch(url, "*socialnet.com/banners*") /// || shExpMatch(url, "*adex*.flycast.com/*") /// || shExpMatch(url, "*ads*.sandpiper.com/*") /// || dnsDomainIs(host, "ads.bla-bla.com") ////// // // popups/unders // || dnsDomainIs(host, "remotead.cnet.com") || dnsDomainIs(host, ".1st-dating.com") || dnsDomainIs(host, ".mousebucks.com") || dnsDomainIs(host, ".yourfreedvds.com") || dnsDomainIs(host, ".popupsavings.com") || dnsDomainIs(host, ".popupmoney.com") || dnsDomainIs(host, ".popuptraffic.com") || dnsDomainIs(host, ".popupnation.com") || dnsDomainIs(host, ".infostart.com") || dnsDomainIs(host, ".popupad.net") || dnsDomainIs(host, ".usapromotravel.com") || dnsDomainIs(host, ".goclick.com") || dnsDomainIs(host, ".trafficwave.net") || dnsDomainIs(host, ".popupad.net") // Popups from ezboard || dnsDomainIs(host, ".greenreaper.com") || dnsDomainIs(host, ".spewey.com") || dnsDomainIs(host, ".englishharbour.com") || dnsDomainIs(host, ".casino-trade.com") || dnsDomainIs(host, "got2goshop.com") // more ezboard crud (from Miika Asunta) || dnsDomainIs(host, ".addynamix.com") || dnsDomainIs(host, ".trafficmp.com") || dnsDomainIs(host, ".makingmoneyfromhome.net") || dnsDomainIs(host, ".leadcart.com") // http://www.power-mark.com/js/popunder.js || dnsDomainIs(host, ".power-mark.com") // handled by */popunder/* above // http://www.tripod.lycos.com/popunder/tripod_popunder.html ////// // // User tracking (worse than ads) && hit counting "services" // // "web trends live" || dnsDomainIs(host, "webtrendslive.com") || dnsDomainIs(host, ".wtlive.com") // 1x1 tracking images // ** (but also used in some pay-for-clicks that I want to follow, // ** so disabled for now. 9/2001) // || dnsDomainIs(host, "service.bfast.com") // one whole class C full of ad servers || isInNet(host, "66.40.16.0", "255.255.255.0") || dnsDomainIs(host, ".web-stat.com") || dnsDomainIs(host, ".superstats.com") || dnsDomainIs(host, ".allhits.ru") || dnsDomainIs(host, ".list.ru") || dnsDomainIs(host, ".counted.com") || dnsDomainIs(host, ".rankyou.com") || dnsDomainIs(host, ".clickcash.com") || dnsDomainIs(host, ".clickbank.com") || dnsDomainIs(host, ".paycounter.com") || dnsDomainIs(host, ".cashcount.com") || dnsDomainIs(host, ".clickedyclick.com") || dnsDomainIs(host, ".clickxchange.com") || dnsDomainIs(host, ".sitestats.com") || dnsDomainIs(host, ".site-stats.com") || dnsDomainIs(host, ".hitbox.com") || dnsDomainIs(host, ".exitdirect.com") || dnsDomainIs(host, ".realtracker.com") || dnsDomainIs(host, ".etracking.com") || dnsDomainIs(host, ".livestat.com") || dnsDomainIs(host, ".spylog.com") || dnsDomainIs(host, ".freestats.com") || dnsDomainIs(host, ".addfreestats.com") || dnsDomainIs(host, ".addfreestats.com") || dnsDomainIs(host, ".topclicks.net") || dnsDomainIs(host, ".mystat.pl") || dnsDomainIs(host, ".hitz4you.de") ////// // // Spyware/worms // || dnsDomainIs(host, ".friendgreetings.com") || dnsDomainIs(host, ".permissionedmedia.com") ////// // // "Surveys" // || dnsDomainIs(host, ".zoomerang.com") ////// // // "Casino" ads (scams) // || dnsDomainIs(host, ".aceshigh.com") || dnsDomainIs(host, ".idealcasino.net") || dnsDomainIs(host, ".casinobar.net") || dnsDomainIs(host, ".casinoionair.com") || (dnsDomainIs(host, ".go2net.com") && shExpMatch(url, "*adclick*")) ////// // // Spammers // || dnsDomainIs(host, ".Licensed-Collectibles.com") || dnsDomainIs(host, ".WebDesignProfessional.com") ////// // // Directed at extra annoying places // // Attempts to download ad-supported spyware without asking first || dnsDomainIs(host, ".gator.com") // Bravenet & Ezboard || (dnsDomainIs(host, ".ezboard.com") && shExpMatch(url, "*/bravenet/*")) || (dnsDomainIs(host, ".bravenet.com") && ( shExpMatch(host, "*counter*")) || shExpMatch(url, "*/jsbanner*") ) // GeoCities // (checking "toto" from Prakash Persaud) || (( dnsDomainIs(host,"geo.yahoo.com") || dnsDomainIs(host,".geocities.com")) && ( shExpMatch(url,"*/toto?s*") || shExpMatch(url, "*geocities.com/js_source*") || dnsDomainIs(host, "visit.geocities.com") ) ) // Yahoo ads via Akamai // http://us.a1.yimg.com/us.yimg.com/a/... || (dnsDomainIs(host,"yimg.com") && shExpMatch(url,"*yimg.com/a/*")) // "eyewonder" ads at Yahoo || dnsDomainIs(host,"qz3.net") // FortuneCity - ads and tracking || (dnsDomainIs(host,".fortunecity.com") && (shExpMatch(url,"*/js/adscript*") || shExpMatch(url,"*/js/fctrack*"))) // zdnet || (dnsDomainIs(host, ".zdnet.com") && (dnsDomainIs(host, "ads3.zdnet.com") || shExpMatch(url, "*/texis/cs/ad.html") || shExpMatch(url, "*/adverts"))) // nytimes || (dnsDomainIs(host, ".nytimes.com") && shExpMatch(url,"*/adx/*")) // Be Free affiliate ads || dnsDomainIs(host, ".reporting.net") || dnsDomainIs(host, ".affliate.net") || (dnsDomainIs(host, ".akamai.net") && shExpMatch(url, "*.affiliate.net/*")) // Infospace.com popunder // for "webmarket.com" & "shopping.dogpile.com" -- just say no! || (dnsDomainIs(host, ".infospace.com") && shExpMatch(url, "*/goshopping/*")) || dnsDomainIs(host, ".webmarket.com") || dnsDomainIs(host, "shopping.dogpile.com") // goto.com popunder for information.gopher.com || dnsDomainIs(host, "information.gopher.com") // About.com popunder || (dnsDomainIs(host, ".about.com") && shExpMatch(url, "*/sprinks/*")) // Dell || (dnsDomainIs(host, ".dell.com") && shExpMatch(url, "*/images/affiliates/*")) /// matched by global rules /// // intellicast /// || (dnsDomainIs(host, ".intellicast.com") && /// shExpMatch(url, "*images/ads/*")) // tomshardware // they are most annoying: // - cookies on their background images to track you // - looping shockwave ads // this kills most of the crud || ((dnsDomainIs(host, ".tomshardware.com") || isInNet(host, "216.92.21.0", "255.255.255.0")) && ( shExpMatch(url, "*/cgi-bin/banner*") || shExpMatch(url, "*/cgi-bin/bd.m*") || shExpMatch(url, "*/images/banner/*") ) ) /// matched by global rules /// // these set cookies /// || shExpMatch(url, "*.dejanews.com/ads*") /// || shExpMatch(url, "*.deja.com/ads*") || shExpMatch(url, "*MapsOnUs.com/ad.images*") // Slashdot: added these when I saw hidden 1x1 images with cookies || dnsDomainIs(host, "adfu.blockstackers.com") || (dnsDomainIs(host, "slashdot.org") && ( shExpMatch(url, "*/slashdot/pc.gif*") || shExpMatch(url, "*/pagecount.gif*") || shExpMatch(url, "*/adlog.pl*") ) ) // it-aint-cool.com || (dnsDomainIs(host, "aintitcool.com") && ( shExpMatch(url, "*/newline/*") || shExpMatch(url, "*/drillteammedia/*") || shExpMatch(url, "*swf") ) ) // OfficeMax affiliate art || (dnsDomainIs(host, ".officemax.com") && shExpMatch(url, "*/affArt/*") ) /// matched by global rules /// // shockwave & animated ads /// || shExpMatch(url, "*sharkyextreme.com/ads/*") /// || (dnsDomainIs(host,"anandtech.com") /// && shExpMatch(url,"*/banners/*")) // complicated JavaScript for directed ads! || (dnsDomainIs(host, ".anandtech.com") && (shExpMatch(url,"*/js/*") || shExpMatch(url,"*/bnr_*") ) ) // cnet ads || dnsDomainIs(host, "promo.search.com") ////// // // "Other Scum And Villainry" // // Popup from "reserved" domains at register.com // (I considered blocking all of register.com) || (dnsDomainIs(host, ".register.com") && (shExpMatch(url,"*.js") || shExpMatch(host, "searchtheweb*") || shExpMatch(host, "futuresite*") ) ) || dnsDomainIs(host, ".oingo.com") || dnsDomainIs(host, ".namingsolutions.com") // "Data collection" || dnsDomainIs(host, ".coremetrics.com") // Sets your home page || dnsDomainIs(host, ".firehunt.com") // tracking || dnsDomainIs(host, ".appliedsemantics.com") // Scum who buy ad space from the above // || dnsDomainIs(host, ".hartfordrents.com") // || dnsDomainIs(host, ".chicagocomputerrentals.com") // || dnsDomainIs(host, ".ccrsolutions.com") // || dnsDomainIs(host, ".rushcomputer.com") // || dnsDomainIs(host, ".localesimates.com") // || dnsDomainIs(host, ".unitedvision.com") || isInNet(host, "216.216.246.31", "255.255.255.255") // bogus "search" sites at non-existent sites || dnsDomainIs(host, ".search411.com") ////// // // Contributed adult sites // || dnsDomainIs(host, ".porntrack.com") || dnsDomainIs(host, ".sexe-portail.com") || dnsDomainIs(host, ".sextracker.com") || dnsDomainIs(host, ".sexspy.com") || dnsDomainIs(host, ".offshoreclicks.com") || dnsDomainIs(host, ".exxxit.com") // debug // || (alertmatch("NOT:" + url) && 0) ) { // alert("blackholing: " + url); // deny this request return blackhole; } else { // debug // alert("allowing: " + url); // all other requests go direct and avoid any overhead return normal; } } /////////////////////////////////////////////////////////////////////////////// // // This line is just for testing; you can ignore it. But, if you are having // problems where you think this PAC file isn't being loaded, then change this // to read "if (1)" and the alert box should appear when the browser loads this // file. // // This works for IE4, IE5, IE5.5, IE6 and Netscape 2.x, 3.x, and 4.x. // This does not work for Mozilla (and probably not for Netscape 6.x). // (For IE6, tested on Win2K) // if (0) { alert("autoconfig notice: LOADED"); } // The above should show you that this JavaScript is executed in an // unprotected global context. NEVER point at someone elses autoconfig file; // always load from your own copy! // an alert that returns true function alertmatch(url) { alert("match: "+url); return 1; } // "window.confirm" does not work. // function confirmmatch(url) // { // if (window.confirm(url)) // return 0; // else // return 1; // } /////////////////////////////////////////////////////////////////////////////// // // Tired of reading boring comments? Try reading today's comics: // http://www.schooner.com/~loverso/comics/ // // or getting a quote from my collection: // http://www.schooner.com/~loverso/quote/ // // eof