PiHole is a DNS Server for the main purpose of ad-blocking. PiHole has a good list of domain names it blocks that are known ad domains, lets you add custom domains (note, doesn’t have to be ad domains, which is great if you want to restrict certain websites from your kiddos), gives you logs so you can see what DNS queries have been made by what devices on your network, and more all for free. It’s lightweight enough to run on anything from a Raspbery Pi to a spare computer you have in your closet, a Docker container, or in a virtual machine. They’re latest update allows you to set up different groups of users based on their IP addresses, so User A and User B can both use the PiHole for DNS but have a different list of blocked domains.

To get PiHole up and running, it just takes one command and a quick setup prompt:

curl -sSL https://install.pi-hole.net | bash

Here is a great video by Lawrence Systems explaining it in more detail, check it out.