Ad-blocking seems to be quite a “thing” these days and I have to say that sometimes the amount of ads on web pages just gets too much !

I do understand it’s a way to get your product noticed, but some web pages have way too many ads on it 😦 and most of the time not really related to me [sorry Google/whoever for profiling me 🙂 ]

I’ve been looking around for an easy and cost-effective solution and found “Pi-hole(tm) : A black hole for Internet advertisements” 🙂

The idea is not to “hide away” (i.e. get some privacy), but rather to block ads so we don’t see them anymore.

I had a Raspberry Pi 2+ available (using it for some home automation testing) and I thought I’d give Pi-hole a go.

Pi-hole essentially runs as a DNS server on your network and block requests for known ad-serving addresses/domains.

Pi-hole can also be used as a DHCP server and in my configuration, I decided to utilize this feature as well (main reason being that my router’s configuration limits me from specifying my own DNS settings). Using DHCP on the Raspberry Pi, I can serve out IP addresses on the network and as part of the configuration, the Pi-hole server is specified as the DNS server !

Installation is very easy:

  • Install a unix based OS on your Raspberry Pi
    • I opted for the latest Raspbian Lite version (Jessie) found here
  • Once you have the basic configuration going, with your Raspberry Pi on your network and connected to the internet, you need to start the installation.
  • I used the following command (although you can get the code from GitHub & run the installer locally as well)
    • curl -sSL | bash
    • This connects to the latest Pi-hole installation and runs the scripts to install it on your Raspberry Pi
  • Basically follow the instructions
    • Select the IP address you want to use (your Pi-hole server needs a static address, as you want to ensure your network clients point to it even after restarts, etc.)
    • Once installed, the installer will tell you which IP address to connect to for the web configuration and the password to use (192.168.x.x/admin)
      • It’s important to note the password as it’s only given to you once
      • If you loose it for some reason, you can only change it via command line (see notes below)
    • Configure your router DNS to point to the Pi-hole server to ensure it uses it for your network traffic OR as in my case, configure DHCP on the Pi-hole to serve the IP addresses with the DNS information.
    • Use the web interface to check the DHCP configuration, etc. and rest of the configuration (very easy to follow)

The dashboard view gives you a quick overview of the DNS blocking, requests, etc. as well as access to the settings page to configure DHCP, etc.


That’s essentially it !

Some notes:

The Web interface password is only given to you ONCE at the end of the installation – if you don’t make a note of this, you will have to use the command line on your Raspberry Pi to reset the password.

Use the following command from the command line to reset your password:

  • “pihole -a -p somepasswordhere”
  • You can also remove the password using the following command – “pihole -a -p”

Have fun !

BTW – this is an interesting article as well … “Ad-blockers might actually make it easier for advertisers to track you” – TNW