diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 071fdf89..b289a1c0 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -8,4 +8,4 @@ Changes proposed in this pull request: - -@pihole/gravity +@pi-hole/gravity diff --git a/README.md b/README.md index c58d6820..19cc174f 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ reddit: [/r/pihole](https://www.reddit.com/r/pihole/) [![Pi-hole exlplained](http://i.imgur.com/qNybJDX.png)](https://vimeo.com/135965232) ## Pi-hole Projects +- [Get LED alerts for each blocked ad](http://www.stinebaugh.info/get-led-alerts-for-each-blocked-ad-using-pi-hole/) - [Pi-hole on Ubuntu 14.04 on VirtualBox](http://hbalagtas.blogspot.com/2016/02/adblocking-with-pi-hole-and-ubuntu-1404.html) - [x86 Docker container that runs Pi-hole](https://hub.docker.com/r/diginc/pi-hole/) - [Splunk: Pi-hole Visualizser](https://splunkbase.splunk.com/app/3023/) @@ -41,6 +42,7 @@ reddit: [/r/pihole](https://www.reddit.com/r/pihole/) - [Minibian Pi-hole](http://munkjensen.net/wiki/index.php/See_my_Pi-Hole#Minibian_Pi-hole) ## Coverage +- [TekThing: 5 fun, easy projects for a Raspberry Pi](https://youtu.be/QwrKlyC2kdM?t=1m42s) - [Pi-hole on Adafruit's blog](https://blog.adafruit.com/2016/03/04/pi-hole-is-a-black-hole-for-internet-ads-piday-raspberrypi-raspberry_pi/) - [The Defrag Show - MSDN/Channel 9](https://channel9.msdn.com/Shows/The-Defrag-Show/Defrag-Endoscope-USB-Camera-The-Final-HoloLens-Vote-Adblock-Pi-and-more?WT.mc_id=dlvr_twitter_ch9#time=20m39s) - [MacObserver Podcast 585](http://www.macobserver.com/tmo/podcast/macgeekgab-585) diff --git a/advanced/Scripts/piholeDebug.sh b/advanced/Scripts/piholeDebug.sh old mode 100644 new mode 100755 index d2c8e245..e9d95234 --- a/advanced/Scripts/piholeDebug.sh +++ b/advanced/Scripts/piholeDebug.sh @@ -118,7 +118,7 @@ function testNslookup { ### Check Pi internet connections ### # Log the IP addresses of this Pi -IPADDR=$(ifconfig | perl -nle 's/dr:(\S+)/print $1/e') +IPADDR=$($SUDO ifconfig | perl -nle 's/dr:(\S+)/print $1/e') echo "::: Writing local IPs to debug log" echo "IP Addresses of this Pi:" >> $DEBUG_LOG echo "$IPADDR" >> $DEBUG_LOG @@ -258,8 +258,8 @@ then cat "$ADLISTSFILE" >> $DEBUG_LOG echo >> $DEBUG_LOG else - echo "No adlists.list file found!" >> $DEBUG_LOG - printf ":::\tNo adlists.list file found!\n" + echo "No adlists.list file found... using adlists.default!" >> $DEBUG_LOG + printf ":::\tNo adlists.list file found... using adlists.default!\n" fi diff --git a/advanced/index.js b/advanced/index.js new file mode 100644 index 00000000..c9da5aff --- /dev/null +++ b/advanced/index.js @@ -0,0 +1 @@ +var x = "Pi-hole: A black hole for Internet advertisements." diff --git a/advanced/lighttpd.conf b/advanced/lighttpd.conf index 5a662ffa..124371a9 100644 --- a/advanced/lighttpd.conf +++ b/advanced/lighttpd.conf @@ -53,4 +53,6 @@ $HTTP["url"] =~ "^/admin/" { $HTTP["url"] =~ "^(?!/admin)/.*" { # Create a response header for debugging using curl -I setenv.add-response-header = ( "X-Pi-hole" => "A black hole for Internet advertisements." ) + # rewrite only js requests + url.rewrite = ("(.*).js" => "pihole/index.js") } diff --git a/automated install/basic-install.sh b/automated install/basic-install.sh index ae0a831f..ff306d45 100755 --- a/automated install/basic-install.sh +++ b/automated install/basic-install.sh @@ -115,12 +115,12 @@ welcomeDialogs() { verifyFreeDiskSpace() { - # 25MB is the minimum space needed (20MB install + 5MB one day of logs.) + # 50MB is the minimum space needed (45MB install (includes web admin bootstrap/jquery libraries etc) + 5MB one day of logs.) requiredFreeBytes=51200 - - existingFreeBytes=$(df -lk / 2>&1 | awk '{print $4}' | head -2 | tail -1) - if ! [[ "$existingFreeBytes" =~ ^([0-9])+$ ]]; then - existingFreeBytes=$(df -lk /dev 2>&1 | awk '{print $4}' | head -2 | tail -1) + + existingFreeBytes=`df -lk / 2>&1 | awk '{print $4}' | head -2 | tail -1` + if ! [[ "$existingFreeBytes" =~ ^([0-9])+$ ]]; then + existingFreeBytes=`df -lk /dev 2>&1 | awk '{print $4}' | head -2 | tail -1` fi if [[ $existingFreeBytes -lt $requiredFreeBytes ]]; then @@ -633,8 +633,8 @@ installPiholeWeb() { else printf "\n:::\tNo default index.lighttpd.html file found... not backing up" fi - $SUDO cp /etc/.pihole/advanced/index.html /var/www/html/pihole/index.html - $SUDO echo "::: done!" + $SUDO cp /etc/.pihole/advanced/index.* /var/www/html/pihole/. + $SUDO echo " done!" fi } diff --git a/automated install/uninstall.sh b/automated install/uninstall.sh old mode 100755 new mode 100644 index 8c19709f..146d5dae --- a/automated install/uninstall.sh +++ b/automated install/uninstall.sh @@ -114,7 +114,17 @@ function removeNoPurge { $SUDO mv /etc/lighttpd/lighttpd.conf.orig /etc/lighttpd/lighttpd.conf fi fi + + $SUDO rm /usr/local/bin/gravity.sh &> /dev/null + $SUDO rm /usr/local/bin/chronometer.sh &> /dev/null + $SUDO rm /usr/local/bin/whitelist.sh &> /dev/null + $SUDO rm /usr/local/bin/blacklist.sh &> /dev/null + $SUDO rm /usr/local/bin/piholeLogFlush.sh &> /dev/null + $SUDO rm /usr/local/bin/piholeDebug.sh &> /dev/null + $SUDO rm /usr/local/bin/updateDashboard.sh &> /dev/null + $SUDO rm /usr/local/bin/uninstall.sh &> /dev/null $SUDO rm /etc/dnsmasq.d/adList.conf &> /dev/null + $SUDO rm /etc/dnsmasq.d/01-pihole.conf &> /dev/null $SUDO rm -rf /var/log/*pihole* &> /dev/null $SUDO rm -rf /etc/pihole/ &> /dev/null $SUDO rm -rf /etc/.pihole/ &> /dev/null diff --git a/gravity.sh b/gravity.sh index 6184ea72..48f7c569 100755 --- a/gravity.sh +++ b/gravity.sh @@ -170,9 +170,6 @@ function gravity_transport() { fi # Silently curl url - curl -s $cmd_ext $heisenbergCompensator -A "$agent" $url > $patternBuffer - # Check for list updates - gravity_patternCheck $patternBuffer curl -s "$cmd_ext" "$heisenbergCompensator" -A "$agent" "$url" > "$patternBuffer" # Check for list updates gravity_patternCheck "$patternBuffer" @@ -225,7 +222,7 @@ function gravity_Schwarzchild() { truncate -s 0 $piholeDir/$matterandlight & spinner $! for i in "${activeDomains[@]}" do - "$i" |tr -d '\r' >> $piholeDir/$matterandlight + cat "$i" | tr -d '\r' >> $piholeDir/$matterandlight done echo " done!" @@ -285,12 +282,12 @@ function gravity_hostFormat() { if [[ -n $piholeIPv6 ]];then #Add dummy domain Pi-Hole.IsWorking.OK to the top of gravity.list to make ping result return a friendlier looking domain! echo -e "$piholeIP Pi-Hole.IsWorking.OK \n$piholeIPv6 Pi-Hole.IsWorking.OK" > $piholeDir/$accretionDisc - $piholeDir/$eventHorizon | awk -v ipv4addr="$piholeIP" -v ipv6addr="$piholeIPv6" '{sub(/\r$/,""); print ipv4addr" "$0"\n"ipv6addr" "$0}' >> $piholeDir/$accretionDisc + cat $piholeDir/$eventHorizon | awk -v ipv4addr="$piholeIP" -v ipv6addr="$piholeIPv6" '{sub(/\r$/,""); print ipv4addr" "$0"\n"ipv6addr" "$0}' >> $piholeDir/$accretionDisc else # Otherwise, just create gravity.list as normal using IPv4 #Add dummy domain Pi-Hole.IsWorking.OK to the top of gravity.list to make ping result return a friendlier looking domain! echo -e "$piholeIP Pi-Hole.IsWorking.OK" > $piholeDir/$accretionDisc - $piholeDir/$eventHorizon | awk -v ipv4addr="$piholeIP" '{sub(/\r$/,""); print ipv4addr" "$0}' >> $piholeDir/$accretionDisc + cat $piholeDir/$eventHorizon | awk -v ipv4addr="$piholeIP" '{sub(/\r$/,""); print ipv4addr" "$0}' >> $piholeDir/$accretionDisc fi # Copy the file over as /etc/pihole/gravity.list so dnsmasq can use it cp $piholeDir/$accretionDisc $adList