Setting up ad blocking on the router?

Is it possible to block or remove ads (graphical as well as textual like Google text ads) on the level of the router? I have a Cisco Linksys WRT54GL with Tomato Firmware v1.28.1816.

Basically I want a functionality as implemented by the AdBlock Lite add-on for Firefox, or Privoxy, but not on the level of the browser or individual computer, but on the level of the router.

The motivation is, there are several devices (laptops, PS3, PSP...) connected via one router to the internet. And I want one point to block the ads.


Solution 1:

Lucky for you lifehacker have an article on how to do exactly this.

http://lifehacker.com/5060053/set-up-universal-ad-blocking-through-your-router

  1. Open the Tomato Admin Scripts interface You'll need to login with the user name and password you set in your instructions for installing Tomato. Once you're logged in, make sure to click on the WAN Up tab.

  2. Copy the ad-block script to Tomato. I'd recommend going directly to the source, since the author of the script updates it regularly.

You should paste the script into the blank text area in the WAN Up tab

3 . Save the script by clicking the Save button.

4.Reboot your router to enable the script. That's all there is to it. Next time you visit a web site, you should notice a conspicuous lack of ads. The same should be true from any computer, as long as it's connected to your Tomato router. There are some unfortunate bits and pieces about this method versus the Adblock extension that you might want to take into consideration before setting it up on your router. First, if you want to whitelist a site, you have to manually edit the script by changing the following section:

## remove/whitelist websites ## removes 3 websites (aa.com, bb.com, cc.com) ## remove the # and edit the website urls. sed -i -e '/aa.com/d' $GENFILE

...replacing aa.com with the site you wanted to whitelist. Keep in mind that whitelisting does not work for whitelisting all ads on a specific site—instead, if you're having trouble opening a site you want to look at because it's on a blacklist, whitelisting that site will let you access that one specific site.

Unfortunately the script doesn't allow you to whitelist all ads on specific sites.

Solution 2:

What you want to use is OpenDNS. Then you can set the DNS settings of your router or computers to point to their DNS. A small utility on any computer can update the IP address if it changes every few weeks, but if it's static all the better. They have an account settings section where you can block things. You just need to search the web for a black list of things to block (ad networks). You might find one by searching for a hosts file for this purpose.

Solution 3:

In order to achieve your goal you need something with a little more intelligence. In my home I run an a piece of software called Untangle. Its a Debian Linux distribution that has a full featured web interface for controlling the software.

Untangle runs on a standard x86/x64 based computer that has 2 network cards in it. You need one for the Internet traffic (WAN) and one for your network traffic (LAN).

There are many modules included for free with Untangle including an Ad Blocker that is actually based on the code from Firefox's AdBlock Plus add-on.

Some of the other free modules include:

  • Spam Filter
  • Spyware Blocker
  • Virus Blocker (Based on Clam AV)
  • Website Blocker
  • VPN (based on OpenVPN)
  • etc...

They also offer a handful of premium apps which have costs associated with them, this was mainly for business users but you may find some of them useful like the enhanced Virus Blocker which is NOT based on Clam AV.

Untangle has the ability to act as a router or a pass through (bridge) device which can sit in-line with your network and allow you to run it without replacing your current router.

Solution 4:

I set up access restriction list. It is a bit draconian, but it works and i can decide which devices it applies to. It is easy enough to disable by logging in. But, you have to enter sites manually. I have to use two lists because my list is large.

getclicky.com doubleclick.net ad.nozonedata.com ads.pointroll.com us.ard.yahoo.com us.a1.yimg.com us.js2.yimg.com ad.doubleclick.net view.atdmt.com a.tribalfusion.com ad.ca.doubleclick.net ads.deviantart.com pagead2.googlesyndication.com ad.nozonedata.com cdn.fastclick.net cdn5.tribalfusion.com adblade.com media.fastclick.net pixel.quantserve.com tribalfusion.com ads.yahoo.com mf.sitescout.com sitescout.com clicks.beap.bc.yahoo.com comparisons.org sitescout.com vibrantmedia.com adsupply.com taboola.com analytics.twitter.com googleadservices.com smartadserver.com

There are many many more, but thats all i could post