diff options
Diffstat (limited to 'pihole')
-rwxr-xr-x | pihole | 113 |
1 files changed, 69 insertions, 44 deletions
@@ -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,76 +26,98 @@ 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 updatePiholeFunc { + echo "::: Fetching latest changes from Github..." + cd /etc/.pihole + ${SUDO} git pull + ${SUDO} /etc/.pihole/automated\ install/basic-install.sh pihole + 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 queryFunc { + domain=$2 + for list in /etc/pihole/list.*;do echo $list;grep ${domain} $list;done + 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 { + ${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 "::: 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 "::: -ud, updateDashboard Update the web dashboard manually" + echo "::: -up, updatePihole Update Pi-hole" + 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 "::: -q, query Query the adlists for a specific domain" + echo "::: uninstall Uninstall Pi-Hole from your system :(!" + exit 1 } if [[ $# = 0 ]]; then - helpFunc + helpFunc fi # Handle redirecting to specific functions based on arguments @@ -104,11 +126,14 @@ case "$1" in "-b" | "blacklist" ) blacklistFunc "$@";; "-d" | "debug" ) debugFunc;; "-f" | "flush" ) flushFunc;; -"-u" | "updateDashboard" ) updateDashboardFunc;; -"-g" | "updateGravity" ) updateGravityFunc;; +"-ud" | "updateDashboard" ) updateDashboardFunc;; +"-up" | "updatePihole" ) updatePiholeFunc;; +"-g" | "updateGravity" ) updateGravityFunc "$@";; "-s" | "setupLCD" ) setupLCDFunction;; "-c" | "chronometer" ) chronometerFunc "$@";; "-h" | "help" ) helpFunc;; +"-v" | "version" ) versionFunc;; +"-q" | "query" ) queryFunc "$@";; "uninstall" ) uninstallFunc;; * ) helpFunc;; esac |