Pi-Hole is a nice tool to reduce ads on your network. The way it’s working is pretty simple: The main component doing the magic is a DNS server, which’s job is to give bogus answers for unwanted domains so that the client either asks ‘localhost’ or the pi. What’s being blocked depends on a few lists which are merged into the DNS. So basically unwanted domains are unreachable.
But what’s so special about this? Well, it works on a whole network for smartphones, pcs or even smart TVs. The question that remains: is it any good?
For a testdrive I put Pi-Hole on my docker-host, as I didn’t have a free Raspberry-Pi to use for. Not a big deal though, as the resource usage is close to zero. My observation so far is that it’s blocking a fair share on ads, but not all. For those who want to know why it doesn’t catch all, there’s an easy example: YouTube delivers ads from similar domains and it’s a bigger problem to find the right ones as they change way too often and you do not want to block videos.
To be fair, the amount of blocked queries is quite nice: about 10% of the queries are getting filtered without disturbing normal operation. Sadly Pi-Hole is no 100% solution, but I have a better feeling about it than to intercept traffic and peek around in those packets which feels like a sacrilege…