Pi-hole


Pi-hole is a Linux network-level advertisement and Internet tracker blocking application which acts as a DNS sinkhole and optionally a DHCP server, intended for use on a private network. It is designed for use on embedded devices with network capability, such as the Raspberry Pi, but it can be used on other machines running Linux and cloud implementations.
Pi-hole has the ability to block traditional website advertisements as well as advertisements in unconventional places, such as smart TVs and mobile operating system advertisements.

History

The Pi-hole project was created by Jacob Salmela as an open source alternative to the AdTrap in 2014 and was hosted on GitHub. Since then, several contributors have joined the project.

Features

The Pi-hole makes use of a modified dnsmasq called FTLDNS, cURL, lighttpd, PHP and the AdminLTE Dashboard to block DNS requests for known tracking and advertising domains. The application serves as a DNS server for a private network, with the ability to block advertisements and tracking domains for users' devices. It obtains lists of advertisement and tracking domains from predefined sources that the Pi-hole uses to compare DNS queries to. These predefined sources can be modified by the user. If a match is found within any of the lists, or the user blacklist, the Pi-hole will refuse to resolve the requested domain and respond to the requesting device with a blank webpage.
Because Pi-hole blocks domains at the network level, it is able to block advertisements, such as banner advertisements on a webpage, but it can also block advertisements in unconventional locations, such as on Android, iOS and smart TVs.
Using VPN services, Pi-Hole can block domains without using a DNS filter setup in a router. Any device that supports VPN can use Pi-Hole on a cellular network or a home network without a DNS server configured.
The nature of Pi-hole allows it to also block website domains in general by manually blacklisting the domain name. Likewise, domains can be whitelisted manually should a website's function be impaired by domains being blocked. Pi-hole can also function as a network monitoring tool, which can aid in troubleshooting DNS requests and faulty networking troubleshooting.

Difference from traditional advertisement blockers

Pi-hole functions similarly to a network firewall, meaning that advertisements and tracking domains are blocked for all devices behind it, whereas traditional advertisement blockers only run in a user's browser, and remove advertisements only on the same machine.