From 6a17a3eeec3dfb5de0920e96ca8f419cb844389d Mon Sep 17 00:00:00 2001 From: Promofaux Date: Tue, 2 Aug 2016 19:44:11 +0100 Subject: [PATCH 1/4] Add command to pihole script --- pihole | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pihole b/pihole index bbcb82d0..73c7fa64 100755 --- a/pihole +++ b/pihole @@ -74,6 +74,10 @@ function uninstallFunc { exit 1 } +function versionFunc{ + $SUDO /opt/pihole/version.sh + exit 1 +} function helpFunc { echo "::: Control all PiHole specific functions!" echo ":::" @@ -90,6 +94,7 @@ function helpFunc { echo "::: -s, setupLCD Automatically configures the Pi to use the 2.8 LCD screen to display stats on it" echo "::: -c, chronometer Calculates stats and displays to an LCD" echo "::: -h, help Show this help dialog" + echo "::: -v, version Show current versions" echo "::: uninstall Uninstall Pi-Hole from your system!" exit 1 } @@ -109,6 +114,7 @@ case "$1" in "-s" | "setupLCD" ) setupLCDFunction;; "-c" | "chronometer" ) chronometerFunc "$@";; "-h" | "help" ) helpFunc;; +"-v" | "version" ) versionFunc;; "uninstall" ) uninstallFunc;; * ) helpFunc;; esac From e11ef5a7f01a50e6e1a7373345b907b9a3e6234f Mon Sep 17 00:00:00 2001 From: Promofaux Date: Tue, 2 Aug 2016 20:07:09 +0100 Subject: [PATCH 2/4] Add version display script. Also checks current version on web and reports version. --- advanced/Scripts/version.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 advanced/Scripts/version.sh diff --git a/advanced/Scripts/version.sh b/advanced/Scripts/version.sh new file mode 100644 index 00000000..e7e7c782 --- /dev/null +++ b/advanced/Scripts/version.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +# Pi-hole: A black hole for Internet advertisements +# (c) 2015, 2016 by Jacob Salmela +# Network-wide ad blocking via your Raspberry Pi +# http://pi-hole.net +# Whitelists domains +# +# Pi-hole is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. + +piholeVersion=$(cd /etc/.pihole/ && git describe --tags --abbrev=0) +webVersion=$(cd /var/www/html/admin/ && git describe --tags --abbrev=0) + +piholeVersionLatest=$(curl -s https://api.github.com/repos/pi-hole/pi-hole/releases/latest | grep -Po '"tag_name":.*?[^\\]",' | perl -pe 's/"tag_name": "//; s/^"//; s/",$//') +webVersionLatest=$(curl -s https://api.github.com/repos/pi-hole/AdminLTE/releases/latest | grep -Po '"tag_name":.*?[^\\]",' | perl -pe 's/"tag_name": "//; s/^"//; s/",$//') + +echo "::: Pi-hole version is $piholeVersion (Latest version is $piholeVersionLatest)" +echo "::: Web-Admin version is $webVersion (Latest version is $webVersionLatest)" \ No newline at end of file From 57df56dc629e2b71c15fef812c96d52f19eee244 Mon Sep 17 00:00:00 2001 From: Promofaux Date: Tue, 2 Aug 2016 20:08:21 +0100 Subject: [PATCH 3/4] Add version.sh to the install script --- automated install/basic-install.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/automated install/basic-install.sh b/automated install/basic-install.sh index 29e3237f..d99433c2 100755 --- a/automated install/basic-install.sh +++ b/automated install/basic-install.sh @@ -547,7 +547,8 @@ installScripts() { $SUDO cp /etc/.pihole/advanced/Scripts/updateDashboard.sh /opt/pihole/updateDashboard.sh $SUDO cp /etc/.pihole/automated\ install/uninstall.sh /opt/pihole/uninstall.sh $SUDO cp /etc/.pihole/advanced/Scripts/setupLCD.sh /opt/pihole/setupLCD.sh - $SUDO chmod 755 /opt/pihole/{gravity,chronometer,whitelist,blacklist,piholeLogFlush,updateDashboard,uninstall,setupLCD}.sh + $SUDO cp /etc/.pihole/advanced/Scripts/version.sh /opt/pihole/version.sh + $SUDO chmod 755 /opt/pihole/{gravity,chronometer,whitelist,blacklist,piholeLogFlush,updateDashboard,uninstall,setupLCD, version}.sh $SUDO cp /etc/.pihole/pihole /usr/local/bin/pihole $SUDO chmod 755 /usr/local/bin/pihole $SUDO cp /etc/.pihole/advanced/bash-completion/pihole /etc/bash_completion.d/pihole From 2bc364023afec556b9f04d7c7ad6673b0234b705 Mon Sep 17 00:00:00 2001 From: Promofaux Date: Tue, 2 Aug 2016 20:14:36 +0100 Subject: [PATCH 4/4] Remove erroneous space in chmod command Fix spacing in help function --- automated install/basic-install.sh | 2 +- pihole | 89 +++++++++++++++--------------- 2 files changed, 46 insertions(+), 45 deletions(-) diff --git a/automated install/basic-install.sh b/automated install/basic-install.sh index d99433c2..254d601f 100755 --- a/automated install/basic-install.sh +++ b/automated install/basic-install.sh @@ -548,7 +548,7 @@ installScripts() { $SUDO cp /etc/.pihole/automated\ install/uninstall.sh /opt/pihole/uninstall.sh $SUDO cp /etc/.pihole/advanced/Scripts/setupLCD.sh /opt/pihole/setupLCD.sh $SUDO cp /etc/.pihole/advanced/Scripts/version.sh /opt/pihole/version.sh - $SUDO chmod 755 /opt/pihole/{gravity,chronometer,whitelist,blacklist,piholeLogFlush,updateDashboard,uninstall,setupLCD, version}.sh + $SUDO chmod 755 /opt/pihole/{gravity,chronometer,whitelist,blacklist,piholeLogFlush,updateDashboard,uninstall,setupLCD,version}.sh $SUDO cp /etc/.pihole/pihole /usr/local/bin/pihole $SUDO chmod 755 /usr/local/bin/pihole $SUDO cp /etc/.pihole/advanced/bash-completion/pihole /etc/bash_completion.d/pihole diff --git a/pihole b/pihole index 73c7fa64..64a36c59 100755 --- a/pihole +++ b/pihole @@ -12,13 +12,13 @@ # Must be root to use this tool if [[ ! $EUID -eq 0 ]];then - #echo "::: You are root." + #echo "::: You are root." #else - #echo "::: Sudo will be used for this tool." + #echo "::: Sudo will be used for this tool." # Check if it is actually installed # If it isn't, exit because the pihole cannot be invoked without privileges. if [ -x "$(command -v sudo)" ];then - export SUDO="sudo" + export SUDO="sudo" else echo "::: Please install sudo or run this as root." exit 1 @@ -26,81 +26,82 @@ if [[ ! $EUID -eq 0 ]];then fi function whitelistFunc { - shift - $SUDO /opt/pihole/whitelist.sh "$@" - exit 1 + shift + $SUDO /opt/pihole/whitelist.sh "$@" + exit 1 } function blacklistFunc { - shift - $SUDO /opt/pihole/blacklist.sh "$@" - exit 1 + shift + $SUDO /opt/pihole/blacklist.sh "$@" + exit 1 } function debugFunc { - $SUDO /opt/pihole/piholeDebug.sh - exit 1 + $SUDO /opt/pihole/piholeDebug.sh + exit 1 } function flushFunc { - $SUDO /opt/pihole/piholeLogFlush.sh - exit 1 + $SUDO /opt/pihole/piholeLogFlush.sh + exit 1 } function updateDashboardFunc { - $SUDO /opt/pihole/updateDashboard.sh - exit 1 + $SUDO /opt/pihole/updateDashboard.sh + exit 1 } function updateGravityFunc { - $SUDO /opt/pihole/gravity.sh - exit 1 + $SUDO /opt/pihole/gravity.sh + exit 1 } function setupLCDFunction { - $SUDO /opt/pihole/setupLCD.sh - exit 1 + $SUDO /opt/pihole/setupLCD.sh + exit 1 } function chronometerFunc { - shift - $SUDO /opt/pihole/chronometer.sh "$@" - exit 1 + shift + $SUDO /opt/pihole/chronometer.sh "$@" + exit 1 } function uninstallFunc { - $SUDO /opt/pihole/uninstall.sh - exit 1 + $SUDO /opt/pihole/uninstall.sh + exit 1 } -function versionFunc{ +function versionFunc { $SUDO /opt/pihole/version.sh exit 1 } + function helpFunc { - echo "::: Control all PiHole specific functions!" - echo ":::" - echo "::: Usage: pihole [options]" - echo "::: Add -h after -w (whitelist), -b (blacklist), or -c (chronometer) for more information on usage" - echo ":::" - echo "::: Options:" - echo "::: -w, whitelist Whitelist domains" - echo "::: -b, blacklist Blacklist domains" - echo "::: -d, debug Start a debugging session if having trouble" - echo "::: -f, flush Flush the pihole.log file" - echo "::: -u, updateDashboard Update the web dashboard manually" - echo "::: -g, updateGravity Update the list of ad-serving domains" - echo "::: -s, setupLCD Automatically configures the Pi to use the 2.8 LCD screen to display stats on it" - echo "::: -c, chronometer Calculates stats and displays to an LCD" - echo "::: -h, help Show this help dialog" - echo "::: -v, version Show current versions" - echo "::: uninstall Uninstall Pi-Hole from your system!" - exit 1 + echo "::: Control all PiHole specific functions!" + echo ":::" + echo "::: Usage: pihole [options]" + echo "::: Add -h after -w (whitelist), -b (blacklist), or -c (chronometer) for more information on usage" + echo ":::" + echo "::: Options:" + echo "::: -w, whitelist Whitelist domains" + echo "::: -b, blacklist Blacklist domains" + echo "::: -d, debug Start a debugging session if having trouble" + echo "::: -f, flush Flush the pihole.log file" + echo "::: -u, updateDashboard Update the web dashboard manually" + echo "::: -g, updateGravity Update the list of ad-serving domains" + echo "::: -s, setupLCD Automatically configures the Pi to use the 2.8 LCD screen to display stats on it" + echo "::: -c, chronometer Calculates stats and displays to an LCD" + echo "::: -h, help Show this help dialog" + echo "::: -v, version Show current versions" + echo "::: uninstall Uninstall Pi-Hole from your system :(!" + exit 1 } if [[ $# = 0 ]]; then - helpFunc + helpFunc fi # Handle redirecting to specific functions based on arguments