mirror of
https://github.com/pi-hole/pi-hole.git
synced 2025-04-27 09:40:12 +00:00
Mcat12 requests. Added bash-completion support
This commit is contained in:
parent
767b72fbfa
commit
d47fbbbe96
4 changed files with 35 additions and 29 deletions
103
pihole
Executable file
103
pihole
Executable file
|
@ -0,0 +1,103 @@
|
|||
#!/bin/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
|
||||
# Controller for all pihole scripts and functions.
|
||||
#
|
||||
# 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.
|
||||
|
||||
# Must be root to use this tool
|
||||
if [[ $EUID -eq 0 ]];then
|
||||
echo "::: You are root."
|
||||
else
|
||||
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 [[ $(dpkg-query -s sudo) ]];then
|
||||
export SUDO="sudo"
|
||||
else
|
||||
echo "::: Please install sudo or run this as root."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
function whitelistFunc {
|
||||
shift
|
||||
$SUDO /opt/pihole/whitelist.sh "$@"
|
||||
exit 1
|
||||
}
|
||||
|
||||
function blacklistFunc {
|
||||
shift
|
||||
$SUDO /opt/pihole/blacklist.sh "$@"
|
||||
exit 1
|
||||
}
|
||||
|
||||
function debugFunc {
|
||||
$SUDO /opt/pihole/piholeDebug.sh
|
||||
exit 1
|
||||
}
|
||||
|
||||
function flushFunc {
|
||||
$SUDO /opt/pihole/piholeLogFlush.sh
|
||||
exit 1
|
||||
}
|
||||
|
||||
function updateDashboardFunc {
|
||||
$SUDO /opt/pihole/updateDashboard.sh
|
||||
exit 1
|
||||
}
|
||||
|
||||
function setupLCDFunction {
|
||||
$SUDO /opt/pihole/setupLCD.sh
|
||||
exit 1
|
||||
}
|
||||
|
||||
function chronometerFunc {
|
||||
$SUDO /opt/pihole/chronometer.sh
|
||||
exit 1
|
||||
}
|
||||
function gravityFunc {
|
||||
$SUDO /opt/pihole/gravity.sh
|
||||
exit 1
|
||||
}
|
||||
|
||||
function helpFunc {
|
||||
echo "::: Control all PiHole specific functions!"
|
||||
echo ":::"
|
||||
echo "::: Usage: pihole.sh [options]"
|
||||
printf ":::\tAdd -h after -w (whitelist), -b (blacklist), or -c (chronometer) for more information on usage\n"
|
||||
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"
|
||||
exit 1
|
||||
}
|
||||
|
||||
if [[ $# = 0 ]]; then
|
||||
helpFunc
|
||||
fi
|
||||
|
||||
# Handle redirecting to specific functions based on arguments
|
||||
case "$1" in
|
||||
"-w" | "whitelist" ) whitelistFunc "$@";;
|
||||
"-b" | "blacklist" ) blacklistFunc "$@";;
|
||||
"-d" | "debug" ) debugFunc;;
|
||||
"-f" | "flush" ) flushFunc;;
|
||||
"-u" | "-updateDashboard" ) updateDashboardFunc;;
|
||||
"-s" | "setupLCD" ) setupLCDFunction;;
|
||||
"-c" | "chronometer" ) chronometerFunc;;
|
||||
"-h" | "help" ) helpFunc;;
|
||||
* ) helpFunc;;
|
||||
esac
|
Loading…
Add table
Add a link
Reference in a new issue