I've wanted to be able to block or at least reduce the quantity of advertisements on my devices and had previously used Adblock Plus and uBlock Origin extensions in Chrome. I also use private DNS (dns.adguard.com) on my Android phone. But what if there was a way to block ads at a network level? Enter Pi-hole and an old Raspberry Pi...

Pi-hole works by blocking access to domains or hostnames which are known to serve ads. Essentially, a regularly updated blacklist of ad serving DNS entries prohibit access to servers that would display advertisements to any device on my home network. It works as well for me as it does my wife, even without her noticing. It also has the added benefit of reducing overall network traffic!

Pi-hole is also being used as a DHCP server, a role that my router previously fulfilled. I'm using Pi-hole as the DHCP server to ensure that the upstream DNS servers (Google) that I want are  used rather than what my ISP desires. I'd also like to configure DNS over HTTPS for increased security but this may not be possible with the original Raspberry Pi that I am using.

For my Pi-hole set up I am currently using an original Raspberry Pi Model B with a 2GB SD card which is apparently too small so I will need to upgrade to a newer SD card in the near future. I used a lightweight Raspbian image based on Debian Buster for the base image before installing and configuring Pi-hole.

Ads be gone!

Pi-hole dashboard showing blocked ads

Pi-hole in it's natural habitat

The Raspberry Pi running Pi-hole is in a black case and has been screwed to the bottom of the shelf holding my router

I'm considering setting up my own private VPN with PiVPN in conjunction with the Pi-hole set up.