Morals are intentionally left out of this post, my focus is on the technology that allows to achieve the stated goal (block all ads) in the most efficient way.
Present issue with adblockers is that they are fairly easy to detect and many sites are doing that, detecting adblockers and redirecting viewers to some warning pages or payed subscription prompts – try www.forbes.com for example.
So, how can you achieve results that are better than say AdBlock Plus?
Use alternative DNS service
This approach will work for the whole network that is connected to the router, which DNS setting will be changed to the alternative DNS, not the one coming from your ISP. See the example of router settings below. Despite the fact that I get address from my ISP automatically I chose to set DNS server manually and 192.168.1.240 is the IP of my alternative DNS server that filters out advertisers’ domains and ads simply do not load. Bonus points: ads in ‘free’ mobile apps are also not showing on all devices, connected to the router. Also no other adblockers are required to be installed on your mobile devices/PCs/Macs.
Curious reader might wonder why the IP address of DNS server is within the local network, and the answer is Pi-hole. I have installed this app using steps provided on their site and should say it works like a charm out of the box! A bit more details if you’re interested which Pi model works with Pi-hole: I have installed latest Raspbian on Raspberry Pi 1 Model B and it seems to be powerful enough to run the service.
However you absolutely do not need to install anything or own Raspberry Pi device – there is a free service that filters away ads for you, see here and use the following IPs for DNS settings on your router: 22.214.171.124 and 126.96.36.199.
UPDATE: after several weeks of using the above mentioned DNS servers I suddenly got a message informing me about the end of trial period and if I want to continue using the service I would have to subscribe for 2.99$ a month. They do offer PayPal subscription which is convenient and more secure than just using credit cards.
AdBlock Plus with Anti-Adblock Killer
First of all you would need the gold standard of ad-blocking which is AdBlock Plus and now, to make it undetectable, follow the steps outlined here.
I was able to successfully install and use the combination on Firefox:
Unfortunately did not manage to get this stuff to work on Safari due to the Tampermonkey extension being unable to install for whatever reason.
Both approaches presented above could work independently, obviously DNS approach will not be available on networks, where you do not have access to router or you do not wish to setup your personal router.
Second approach will work in all networks and won’t require to make any modification to router settings, however it is less universal than the DNS filtering approach and some sites could still detect ad-blockers being used.
I am using a combination of the two which would also be my advice for those, who would like to get maximum efficiency in blocking the ads. It’s not guaranteed to work 100% of the time but it seems to be the best available method right now.