963eacfe05
Due to so many users having issues with this list blocking legitimate domains such as microsoft.com, apple.com, xkcd.com and more, I am turning it off by default. While this drastically reduces the amount of domains blocked, ad-blocking performance still seems to function quite well. Long-time users can simply uncomment the list, but this will make it so new users have a more pleasant experience. If you already have the mahakala list, you will need to remove it first with this command: sudo rm /etc/pihole/list.2.adblock.mahakala.is.domains There are a few other lists I am looking at including, but this will provide an immediate fix. |
||
---|---|---|
advanced | ||
automated install | ||
block hulu ads | ||
gravity.sh | ||
LICENSE | ||
README.md |
Raspberry Pi Ad Blocker
A black hole for ads, hence Pi-hole
The Pi-hole is a DNS/Web server that will block ads for any device on your network.
Coverage
Featured on MakeUseOf and Lifehacker!
Automated Install
- Install Raspbian
- Set a static IP address
- Run the command below
curl -s "https://raw.githubusercontent.com/jacobsalmela/pi-hole/master/automated%20install/basic-install.sh" | bash
Once installed, configure any device to use the Raspberry Pi as its DNS server and the ads will be blocked. You can also configure your router's DHCP options to assign the Pi as clients DNS server so they do not need to do it manually.
A more detailed explanation of the installation can be found here.
Gravity
The gravity.sh does most of the magic. The script pulls in ad domains from many sources and compiles them into a single list of over 1.6 million entries.
Whitelist and blacklist
You can add a whitelist.txt
or blacklist.txt
in /etc/pihole/
and the script will apply those files automatically.
Web Interface
I am also working on a Web interface so you can view stats and change settings.
Custom Config File
If you want to use your own variables for the gravity script (i.e. storing the files in a different location) and don't want to have to change them every time there is an update to the script, create a file called /etc/pihole/pihole.conf
. In it, you should add your own variables in a similar fashion as shown below:
origin=/var/run/pihole
adList=/etc/dnsmasq.d/adList
See this PR for more details.
How It Works
A technical and detailed description can be found here!
Other Operating Systems
This script will work for other UNIX-like systems with some slight modifications. As long as you can install dnsmasq
and a Webserver, it should work OK. The automated install only works for a clean install of Raspiban right now since that is how the project originated.