A black hole for Internet advertisements
Find a file
korhadris 98c94912e1 Replace use of grep -w with grep -x.
Prepend "^" to start of latentWhitelist.txt lines.

The -x switch requires a full line match of the regexp, where as -w
will try to find the match somewhere in the line, looking for work
breaks. Combined with turning the whitelist lines into full regexps,
this results in significantly faster parsing.

Having "^" prepended to the lines also keeps false whitelisting from
occuring, such as the following example:

If whitelist.txt contains "google.com" it would whitelist many other
sites that end in "google.com" as long as there is a non-word
character preceeding the google (such as "-", or ".").
2015-08-22 23:37:01 -07:00
advanced missed a few more /etc/host changes 2015-07-30 18:10:26 +01:00
automated install Fix URL of chronometer.sh 2015-08-10 22:50:06 +02:00
block hulu ads preparing files for merge and for testing automated install 2015-06-16 11:15:15 -05:00
gravity.sh Replace use of grep -w with grep -x. 2015-08-22 23:37:01 -07:00
LICENSE Initial commit 2014-06-08 10:02:55 -05:00
README.md donate buttons and link to Web interface 2015-07-26 18:36:01 -05:00

Raspberry Pi Ad Blocker

A black hole for ads, hence Pi-hole

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

  1. Install Raspbian
  2. Set a static IP address
  3. 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.

Donate

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 900,000 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.

Donate