I first got hold of this Raspberry Pi 1 Model B back in May 2012. At the time, I bought the pi to replace an ageing Apple TV 2 which I had jail broken and was using as a kodi media centre. It worked well, but I preferred the Aluminium apple remote & IR sensor on the ATV2 so the pi was largely mothballed.
A few years later I bought a Raspberry Pi 2 Model B and this became our main Kodi media centre, replacing the Apple TV 2 and coupled with a Rii keyboard. It was much faster & more stable running Libreelec.
A couple more years passed and I realized I still had my first Pi, complete with an awesome perspex case, so I had a look for projects to complete with it. I stumbled across the PiHole project and the rest is history.
PiHole is a network ad blocker/filter and DNS server. It has a great browser interface & you can add lots of adblock/ublock blocklists to the pi, to block ads on all devices on the network at a hardware level. Unlike adblockers on a browser which use more cosmetic ways of blocking ads, the pihole blocks them at DNS level, meaning a request to the ad/blocked server never leaves the network. From a privacy standpoint this is huge. It also means I can control traffic/trackers on devices such as our Smart TV and iOS devices. It’s surprising how many requests these devices make without your knowledge.
PiHole’s web interface shows all traffic & destinations and allows you to whitelist or blacklist IP’s & domains for fine-grained control over outgoing traffic on your network.
I took my setup one step further & coupled it with DNSCrypt 2.0 to encrypt all of my outbound DNS traffic. DNSCrypt coupled with PiHole on the pi & HTTPS everywhere in my browser ensures no unencrypted traffic leaves my browser. All DNS lookups are encrypted & I use non logging DNSCrypt Servers for my DNS lookups. This adds an extra layer of protection for my network traffic & prevents eavesdropping & sniffing of my traffic.
The Pi Hole raspberry pi sits in a cupboard downstairs and filters all of our network traffic. We have around 20 Wi-Fi connected devices on the network & around 10 hard-wired devices & it copes fine. It’s running 24/7 and the blocklist contains almost 1.3 million blocked domains without a hitch. Even with DNScrypt running alongside Pi Hole (which are both Python based) and a MySQL server for Kodi, the old Pi with its modest hardware isn’t stressed, runs silently, uses very little CPU time and has a 50% memory footprint. It’s even running the original SD card which has been in use since 2012.
This is a great solution. It’s silent, uses only a few watts of power & saves thousands of extra requests per day, not to mention the amount of data which is never downloaded. Browsing is generally much quicker on my home network & an added benefit is that we don’t see advertising on catch up TV services on our Smart TV.
I’m going to do a full post on setting up the pi for this usage, so if you would like to see that, check back soon.
For those of you willing to dive in, you need a Pi running raspbian. You can install Pi Hole using the instructions on their website