c563841714
Originally, I had this set to /run/shm (in RAM) but ran into errors when the list reached 900,000 entries. Then I moved it to /tmp. Finally, I decided to just put the files in the pihole dir so they are available after reboots. This will help with only downloading the lists when absolutely needed--respecting the bandwidth of the people serving the lists. It is also possible to add addn-hosts=/path/to/hosts.conf within the dnsmasq.conf file if you don't want to use hosts. For simplicity and speed, I just use the regular hosts file. |
||
---|---|---|
advanced | ||
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.
Coverage
Featured on MakeUseOf and Lifehacker!
Automated Install
On a clean installation of Raspbian, you can run this command to auto-install the Pi-hole. Once installed, configure any device to use the Raspberry Pi as your DNS server and the ads will be blocked.
curl -s "https://raw.githubusercontent.com/jacobsalmela/pi-hole/master/automated%20install/basic-install.sh" | bash
Gravity
The gravity-adv.sh does most of the magic. The script pulls in ad domains from many sources and compiles them into a single list of over 120,000 entries.
Whitelist and blacklist
You can add a whitelist or blacklist in /etc/pihole/
and the script will apply those files automatically.
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.
Optimizations
I am working on some great optimizations to allow the script to run much faster. I also have a bunch of new sources for ad domains but I still need to see if the lists are OK.