|latest exciting news updates LIVE from the front|
|→ Older news updates can be viewed on a seperate page|
|about this list|
Why would anyone want a list of hostnames?
The ad banners that you see all over the web are stored on servers. Stopping your computer communicating with another computer can be quite simple. So, if you have a list of the servers used for ad banners, it's easy to stop ad banners even getting to your browser.
But ad banners don't bother me
If ad banners aren't a problem for you, then these pages aren't really going to do much for you. But personally, I hate them. I've never got used to having flashing images in the corner of my vision when I'm trying to read. Imagine if real books came with neon lights that blinked messages at you over and over again. And imagine that every time you turned the page, you had to wait a few seconds whilst they changed from neon green to neon yellow. And then they'd send the title of the book, your reading speed, and what chapters you've skipped to the central Library so that they can sell the information to all the big bookstores. Reading real books would be even more unpopular than it is now! But, I guess, maybe it wouldn't - millions of people do exactly the same thing on the Interweb every day (if you substitute the book for a web site).
Why do we do it to ourselves? We need to stop this. It's time to rise up! Let us be blinked at no longer! Let the flashing cease! Down with banners! Up with transfer rates! STOP THE MADNESS!
And, Brothers and Sisters, the first step starts with YOU. Blocking ads makes sense! Start today!
Isn't this a bit much for a list of hostnames?
I started doing this a while ago, and thought I'd put my list up on the Interweb for everyone to use. That was way back in the mists of 'Net time, when the Interweb was just the Web, and dotcoms were still getting funding. Eons later, a simple list of hostnames has evolved in to what you see before you. I guess it just goes to show - even the tiniest amoebic piece of slime can become the President of the USA if you leave it alone long enough.
Why not just use JunkBuster / Adblock / some other piece of software?
There's lots of great ad blocking software out there that's probably far more effective than just using this list. But there are also disadvantages to using these pieces of software, and sometimes people are unable to use them:
|submit a hostname for the list|
If you know of any other lists like this, or any ad servers I don't have listed, please mail me or type the hostname in here. (you don't need to give me your email address, but it would be nice to be able to say thanks. I promise not to use it for anything bad).
Please note: although I sincerely appreciate being sent huge lists of hostnames, I don't have the time to check them for duplicates, invalid hostnames, hosts that aren't actually ad servers, etc. Submissions from the form below go into a database that allows me to easily check them and add them to the list. Please use it!
Feel free to combine this list with yours or lists from other sites and put it up on the web, though!
Also: I only add top level ad server domains. So, please don't submit hostnames like "ad.se.doubleclick.net", as "doubleclick.net" is already listed, and please don't submit "host1.ads.example.com" if "ads.example.com" is already listed. Unfortunately, including all subdomains would be too time consuming for me. If you find an ad server that you want added but won't be according to these criteria, the best thing to do would be to keep a personal list which you just add this one to.
Unfortunately it's probably not worth submitting anything at the moment - spam has taken over. 10,000 mails a month to sift through, even with automated checking, is just too much extra. Fuckin spammers.
Please send general stuff to firstname.lastname@example.org or just fill out the comments form below.
Ad server submission disabled until further notice.
|start blocking ads now: four easy steps|
So, to start blocking ads:
|how it works|
It's possible to set up a name server as authoritative for any domain you choose, allowing you to specify the DNS records for that domain. You can also configure most computers to be sort of mini-nameservers for themselves, so that they check their own DNS records before asking a nameserver. Either way, you get to say what hostname points to what IP address. If you haven't guessed already, the way you block ads it to provide bogus information about the domains we don't want to see - ie, all those servers out there that dedicate their existence to spewing out banner ads.
The hosts file
Probably the most common way people block ads like this is with something called the "hosts file". The hosts file is a simple list of hostnames and their corresponding IP addresses, which your computer looks at every time you try and contact a previously unknown hostname. If it finds an entry for the computer you're trying to reach, it sets the IP address for that computer to be whatever's in the hosts file.
127.0.0.1 is a special IP address which, to a computer, always means that computer. Any time a machine sends a network request to 127.0.0.1, it is talking to itself. This is very useful when it comes to blocking ads, because all we have to do is specify the IP address of any ad server to be 127.0.0.1. And to do that, all we have to do is edit the hosts file. What will happen then is something like this:
Of course, that's not the only way to use the list, but it's probably the most simple for most people.
A much more efficient way of using the list is with a nameserver. See below for details.
|other ways to use this list|
I use this list with a local nameserver, but you can also use this list with windows to block ads. to do this, download the list hosts format and put it in your C:\Windows folder (C:\WinNT\system32\drivers\etc under Windows 2000; C:\WinNT under Windows NT; C:\Windows\system32\drivers\etc under Windows XP) as a file called "hosts" (just "hosts", no .txt or anything). if you already have a file called "hosts" there, just add this list on to the end. (See above for a more detailed explanation of how this works.) NB: after updating your hosts file, it is recommended to run the command "nbtstat -R" to ensure changes are recognized by your computer (see this news update for more details).
You can of course also just put the contents of the list in hosts file format in /etc/hosts, and it'll have the same effect as running a local nameserver (as long as the machine is configured to check /etc/hosts of course).
You can also use this list with Elsa/LANCOM routers, as described (in German) at http://www.maceinsteiger.de/html/anleitung/elsa2.html. (Lars has also been very helpful with suggesting entries for the list; thanks Lars!)
If you're behind a proxy, and your browser allows you to specify pages that don't use the proxy, then putting the entries in the list of internal sites will effectively block traffic from those sites. If your browser supports automatic configuration of its proxy settings via an external URL, you can simple set your autoconfig script to be either of these URLs to stop seeing ads:
http://pgl.yoyo.org/adservers/serverlist.php?hostformat=proxyautoconfig;showintro=0 (uses the ad server hostnames)
http://pgl.yoyo.org/adservers/iplist.php?ipformat=proxyautoconfig;showintro=0 (uses ad server IP addresses);
Pinder Johal detailed in his blogzilla how to use the list to block ads with Mozilla. to do this, download the list as a cookie permission file, and put it in "C:\Documents and Settings\User\Application Data\Mozilla\Profiles\user\*.slt" (this is the directory for Windows 2000/XP users, so it will probably differ on other platforms). have a look at his site for more info.
Wolfram Kraushaar has kindly provided instructions on how to use the list with Microsoft's internal DNS cache. You will need a null zone file (similar to the one provided for use with Bind 8) which he also provided: adservers.dns. This file should go in %SystemRoot%\system32\dns (so, C:\WinNT\system32\dns for most people). Then, follow these steps:
Wolfram also suggests: "setting up a Virtual Host on an Apache with an ErrorDocument 404 which says 'this host has been zapped'", as some browsers complain if they can't connect to hosts needed by web pages. I use Opera, which has this problem, and this is exactly what I do to get around it. If you think Apache is a bit overkill or too much effort, have a look at SimpleServer from AnalogX - as the name implies, it's easy to set up and use.
Another way to stop your browser complaining is to point the IP addresses to a live web server instead of 127.0.0.1 (although it would probably be a bit slower as the browser would try to connect to it for each ad). You can specify an alternative IP address to be used on the list ad servers when the HTML intro is included.
Using the list of ad servers with a name server is one of the most efficient methods. It allows you to block entire domains, rather than just individual host by configuring your nameserver to act as master for the zone. For example, by setting your DNS server to be master for "doubleclick.net", all requests for hostnames under "doubleclick.net" will fail, instead of having to add entries for "ad1.doubleclick.net", "ad2.doubleclick.net", etc.
Another advantage is that if you use a nameserver on a LAN, setting up a machine to block ads is as easy as changing its nameserver. There's only one machine that needs to be kept up to date, and no extra software or configuration is needed on any other machine.
I've made a list of freeware software that you can use with this list. Again, if you know something that should be on the list but isn't, please let me know (but please, only if the product doesn't have to be paid for).
If you're thinking about switching to using a nameserver instead of a hosts file, you might find these scripts useful:
Also, check out the links page for more tools & resources.
You might also want to have a look at a list of DNS servers that Microsoft recommends as working with their operating systems, or DNS Resources Directory's index of server software.
Squid is a proxy server commonly used in big networks to lower bandwidth usage and speed up download times. It sits between the users and the Internet so it can control network usage intelligently (unlike most browsers / OSes / anything). You can configure it to deny access to particular hostnames or IP addresses, so it's easy to set it up to block ads. I don't use it myself, but Stephen Patterson kindly sent in a script he uses with Squid to block ads. Unfortunately due to me forgetting to add the "plain text (no HTML)" option for viewing the hostnames, it's not necessary anymore, but he did give some good information on how to configure Squid. Apparently all you need to do is define an ads acl in Squid's config file that points to the file with the list of hostnames, then just set that acl to deny:
acl ads dstdomain "/etc/squid.adservers" http_access deny adsAfter that all you need is to keep the list of hostnames up to date. To give you an idea of how you might do that, check out Stephen's script (slightly modified by me). Cheers Stephen!
Note: This information was originally incorrect (it said "acl ads src" instead of "acl dstdomain src". Many thanks to Patrick Steiner emailing me to point this out.
Update: Another way of configuring Squid might be effective at blocking ads. Instead of using the "dst" acl type (which only blocks access to a specific hostname), the "dstdom_regex" type allows you to block access to domains and all subdomains under them. The first line from the Squid configuration above would then change to:
acl ads dstdom_regex -i "/etc/squid.adservers"Because of the way regular expressions work, you also have to specify the list of ad servers in a particular format to avoid potentially blocking legitimate servers as well as ad servers. To view the list in this format, just select the Squid dstdom_regex option from the select box above.
|tools and extras|
|news and stuff|
|Old news is archived here|
|# // Fri, 05 Jul 2013 16:04:12 +0100|
I've added a new little feature to the ad list. You can now skip hostnames by using the parameter "skip". An example would be like this:|
or for multiple servers:
So, if you have problems with individual hostnames, update your subscription to skip whatever's causing you problems.
|# // Tue, 17 Jan 2012 10:31:29 +0000|
Just a quick update to note that the iptables format now uses REJECT instead of DROP. This is thanks to a tip from Tilman Vogel, who kindly sent me a note to say that:
"the generated iptables script should use "-j REJECT" instead of "-j DROP" because the latter just drops the packet without notification, so the browser (or other client) will just wait for a reply until timeout. REJECT will immediately send back a "Connection refused" packet, so the browser can stop waiting."Thanks Tilman!
|# // Thu, 21 Jul 2011 15:43:46 +0100|
Drahnier Rasche emailed to ask whether I could add a new format for IE9's Tracking Protection list format, and helpfully pointed me in the direction of an example. Thanks to him, you can now view the list as a tracking protection list for use with IE9. Cheers Drahnier!|
Further details on this format can be found on the AdBlock Plus site.
|# // Thu, 21 Jul 2011 13:28:49 +0100|
Tina Kent has very kindly sent in some information about updating the hosts file on Mac OS X:|
I believe the Mac OS X instructions are not up to date. I cannotThanks very much for this detailed information, Tina.
|# // Thu, 21 Jul 2011 13:20:54 +0100|
Léomike Hébert mailed me to let me know about an extension for Opera (of which I am a closet evangelist): Opera AdBlock, described as "The true ad blocking solution for Opera". The extensions can use several different lists, including mine.|
|# // Thu, 21 Jul 2011 13:14:31 +0100|
David Watson has kindly sent in a copy of a script he's written in perl for configuring Bind. In his own words:|
[The script] formats csv domain lists into master zone definitions for inclusion in a BIND config file. It merges multiple lists, processes an exclusion list, and removes any duplications that would cause BIND startup to fail. Intended to run periodically within a cron process.Here's the script itself: bind_config.pl.
2012-01-24 Update: David has sent over a URL for an updated version of the script: http://perl.dustbin.homeip.net/wiki/Bind_config.pl.