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.
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.
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 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.
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 don’t understand why tho, what is it that let’s unblock distinguish ad video vs real video?
Unlock can read the code being sent to your browser and act accordingly. It’s much more granular.
Pihole can only see you’re going to YouTube.com. It cannot see what YouTube is sending you.