First of all, Merry Christmas to whomever is reading this article! ;)
I hate ads, and only tend to enable them on pages I use frequently (to support the page). I’ve been using various ad-block extensions/plugins with the browsers I use–I only use Chromium for the time being. I like the extensions, but with Chrome the ad-block extension does not actually remove the ads–it only hides them–fair enough you may say, but I like not using bandwidth on ads or material I never actually see. Therefore you can go back to use your machines /etc/hosts file. This is actually much better, because you can then “blacklist” the domains that hosts the ads; affectively never using bandwidth from these domains/hosts. This is easy, you just add the hosts to your /etc/hosts file and set their pointing IP-address to your localhost… problem solved. This is tiresome to do manually because there are so many different hosts handling ads. Therefore I decided to write a little tool. I made the tool in C, rather than a shell-script, this is because I like C, simple as that. Completely overkill.
The C program grabs ad-block hosts lists that are provided by third-party providers that frequently updates these lists–you can also add addional ad-block hosts sources to a file yourself and then fetch this file to the program. The C program then merge these hosts to your /etc/hosts file… and voila… ads are gone! You can add this program to your crontab and have it update your host-file on a regular basis; ie. every day or week. You are never dependent on a browser extension/plugin after this.
The source is freely available and I invite you to tamper with it as much as you’d want. You can of course just download, and compile it yourself, then use it on your machine.
You can grab the source here; https://bitbucket.org/Tobiaswk/adblock-c/
Please fork it and make changes/additions/fixes, I’d appricate that! Or just give it a spin ;)