A few months ago I set up a Pi-hole at home. I tried to create a decent blacklist by first adding some regexes I found online and then doing some manual optimization by finding ads and blocking the ad requester through the queries page. But in the end it did not work so well. I still get a lot of YouTube ads, for example. So I still rely on uBlock for my ad-blocking.
I just read that Chrome is planning to start weakening ad blocker plugins. I use Firefox, but it is still worrying that the space could potentially keep moving in this direction over time. So I am now more invested in learning how to have more control over my ad-blocking.
Has any of you managed to optimize your Pi-hole to the point that it is possible to browse the internet without an ad-blocker? If so, how did you do it? Are there other good ad-blocking alternatives?
Thanks!
Why is this the case? What rules do Adblock plugins use that allow them to determine that something that is being served is an ad? I understand from what you are saying that Adblock will block on the basis of the HTTP requests instead of filtering at the DNS level - do ads come with specific HTTP headers that are not processed by the pi-hole DNS server and thus can’t be used for filtering? I don’t fully understand yet the details of how the two ad-blocking mechanisms operate, so their differences are not obvious to me.
Let’s say YouTube has a video and 2 ads:
videos.example.tld/video.mp4
.videos.example.tld/ads/ads1.mp4
.ads.company.tld/ads2.mp4
.PiHole will be able to block only (3) because DNS applies at domain level, as in
videos.example.tld
. DNS requests only send the domain part and re-use the response for all addresses using that domain.Browser extension, on the other hand, sees a request to
.../ads...
and block it since it handled each HTTP/S request and know the full URL.