Pihole is a great project, but it is objectively less capable than uBlock Origin.
That is not a criticism of the software. It is just a fundamental fact that DNS based adblockers are less powerful, and less granular/precise than Browser based adblockers.
They do work well in combination though (the DNS level adblockers gives you moderately effective network wide blocking, and uBlock Origin gives you exceptional blocking but is limited to the browser.
I'm not technical enough, but why can't pihole do as much as ublock? It's at the router level before anything gets to the browser, it has all the same info the browser will eventually get.
Shouldn't it be theoretically possible to do the same?
It’s a DNS server and does not have the same capabilities as the router
It has all the same info the browser will eventually get.
It does not. Not just because of the previous reason but also because most traffic is encrypted nowadays (https) which means that even the router can’t read/modify the traffic to the device.
Another issue is that some things blocked by uBlock are hard to detect with static analysis in comparison to reading the rendered HTML.
pihole does not deceypt https traffic, so it cant change dom. even if it could, it can't modify stuff added by js.
also it can only block whole domains, not individual urls
uBlock has direct access to the DOM and so can modify what the browser renders. For example, YouTube ads are hosted on the same domains as their videos and so PiHole cannot block them, but uBlock can.
I’m using both uBlock and Pi-Hole and I have to say that Pi-Hole is great. The monitoring features are pretty good and the ad blocking that it offers is, although way less than uBlock, still way better than none at all. It blocks most ads from the random apps I have installed on my phone and a surprising amount of trackers that are sent through my network. It also acts as a pretty good fallback if whatever I’m using physically cannot use a browser like an app or an embedded system.
For me personally I also like to use Pi-Hole for network wide site filtering. If I find a website that’s really sketchy or obviously a scam or trying to make you download malware, I just add it to my blacklist.
Of course each serves its own purposes and it won’t always be useful for everyone. I personally find the tools that it offers has a lot of benefit for what I do.
TLDR; The ad blocking, although way less than uBlock, is more than enough to act as a basic ad blocker. Not to mention the monitoring tools are an added bonus. It also acts as a great fallback if something I’m using physically can’t make use of uBlock.
UBlock is awesome. Pihole only really breaks if you add too many or too aggressive blocklists. The main benefit of pihole is you can block ads and trackers from any device on your network. I find the biggest offenders to be smart devices.