I expected PiHole to block advertisement and trackers on every device connected to my local network, either through WiFi or cable, in a completely transparent way. And it does block. The problem is that it is not possible to bypass (or turn it off) temporarily for a specific website in a specific device. It is only possible to completely turn off PiHole, for the entire network, either for the next minutes or indefinitely.
This was a problem for me in two situations:
A guest trying to check the prices of a product using my WiFi. It is very convenient to just Google the product and go to the shopping tab. It shows the prices different sellers/shops in one page, at the price of tracking you. With PiHole, Google Shopping was blocked. This is just an example, but the point is: guests get annoyed with the internet blocking their websites.
Sometimes a website, or part of its content, is blocked and I wanted to “debug” it, to find the reason that a particular content is blocked. It is very complicated to debug it on a network level, specially after adding some extra lists of trackers. It is possible to allow a specific domain, but not everything from a specific web page, in this case you need to do it manually for every entry you find.
Another inconvenience I found was in the response time. It was taking too long to start loading new websites. I did not measure the latency, but it was there and was annoying. It was specially horrible in my phone, it took seconds to start loading. Too long to be useful.
So I returned to my previous solution:
dnsmasqto cache DNS queries
- use uBLock Origin to block ads and trackers, also available for mobile browsers
- do not install crapware in your phone
Latency is significantly lower, easy to debug, easy to disable blocking in a single browser tab, and there’s no need to maintain a server.
Now I need to find another use for my Raspberry…