Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/pi-hole/pi-hole.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/pihole
diff options
context:
space:
mode:
Diffstat (limited to 'pihole')
-rwxr-xr-xpihole113
1 files changed, 69 insertions, 44 deletions
diff --git a/pihole b/pihole
index bbcb82d0..29f8821b 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,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