1
0
mirror of https://github.com/pi-hole/pi-hole synced 2024-11-17 21:59:55 +00:00

Merge pull request #818 from airencracken/development

Standardize function declaration
This commit is contained in:
Adam Warner 2016-10-20 12:01:41 +01:00 committed by GitHub
commit 266c160108
9 changed files with 123 additions and 120 deletions

View File

@ -10,19 +10,20 @@
# the Free Software Foundation, either version 2 of the License, or # the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version. # (at your option) any later version.
helpFunc() helpFunc() {
{ cat << EOM
echo "::: Immediately blacklists one or more domains in the hosts file" ::: Immediately blacklists one or more domains in the hosts file
echo ":::" :::
echo ":::" :::
echo "::: Usage: pihole -b domain1 [domain2 ...]" ::: Usage: pihole -b domain1 [domain2 ...]
echo "::: Options:" ::: Options:
echo "::: -d, --delmode Remove domains from the blacklist" ::: -d, --delmode Remove domains from the blacklist
echo "::: -nr, --noreload Update blacklist without refreshing dnsmasq" ::: -nr, --noreload Update blacklist without refreshing dnsmasq
echo "::: -f, --force Force updating of the hosts files, even if there are no changes" ::: -f, --force Force updating of the hosts files, even if there are no changes
echo "::: -q, --quiet output is less verbose" ::: -q, --quiet output is less verbose
echo "::: -h, --help Show this help dialog" ::: -h, --help Show this help dialog
echo "::: -l, --list Display your blacklisted domains" ::: -l, --list Display your blacklisted domains
EOM
exit 1 exit 1
} }
@ -71,7 +72,7 @@ if [[ -f ${piholeIPv6file} ]];then
piholeIPv6=$(ip -6 route get 2001:4860:4860::8888 | awk -F " " '{ for(i=1;i<=NF;i++) if ($i == "src") print $(i+1) }') piholeIPv6=$(ip -6 route get 2001:4860:4860::8888 | awk -F " " '{ for(i=1;i<=NF;i++) if ($i == "src") print $(i+1) }')
fi fi
HandleOther(){ HandleOther() {
#check validity of domain #check validity of domain
validDomain=$(echo "$1" | perl -ne'print if /\b((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,63}\b/') validDomain=$(echo "$1" | perl -ne'print if /\b((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,63}\b/')
if [ -z "$validDomain" ]; then if [ -z "$validDomain" ]; then
@ -81,7 +82,7 @@ HandleOther(){
fi fi
} }
PopBlacklistFile(){ PopBlacklistFile() {
#check blacklist file exists, and if not, create it #check blacklist file exists, and if not, create it
if [[ ! -f ${blacklist} ]];then if [[ ! -f ${blacklist} ]];then
touch ${blacklist} touch ${blacklist}
@ -95,7 +96,7 @@ PopBlacklistFile(){
done done
} }
AddDomain(){ AddDomain() {
#| sed 's/\./\\./g' #| sed 's/\./\\./g'
bool=false bool=false
grep -Ex -q "$1" ${blacklist} || bool=true grep -Ex -q "$1" ${blacklist} || bool=true
@ -114,7 +115,7 @@ AddDomain(){
fi fi
} }
RemoveDomain(){ RemoveDomain() {
bool=false bool=false
grep -Ex -q "$1" ${blacklist} || bool=true grep -Ex -q "$1" ${blacklist} || bool=true
@ -133,7 +134,7 @@ RemoveDomain(){
fi fi
} }
ModifyHostFile(){ ModifyHostFile() {
if ${addmode}; then if ${addmode}; then
#add domains to the hosts file #add domains to the hosts file
if [[ -r ${blacklist} ]];then if [[ -r ${blacklist} ]];then

View File

@ -17,7 +17,7 @@ gravity="/etc/pihole/gravity.list"
today=$(date "+%b %e") today=$(date "+%b %e")
CalcBlockedDomains(){ CalcBlockedDomains() {
CheckIPv6 CheckIPv6
if [ -e "$gravity" ]; then if [ -e "$gravity" ]; then
#Are we IPV6 or IPV4? #Are we IPV6 or IPV4?
@ -33,7 +33,7 @@ CalcBlockedDomains(){
fi fi
} }
CalcQueriesToday(){ CalcQueriesToday() {
if [ -e "$piLog" ];then if [ -e "$piLog" ];then
queriesToday=$(cat "$piLog" | grep "$today" | awk '/query/ {print $6}' | wc -l) queriesToday=$(cat "$piLog" | grep "$today" | awk '/query/ {print $6}' | wc -l)
else else
@ -41,7 +41,7 @@ CalcQueriesToday(){
fi fi
} }
CalcblockedToday(){ CalcblockedToday() {
if [ -e "$piLog" ] && [ -e "$gravity" ];then if [ -e "$piLog" ] && [ -e "$gravity" ];then
blockedToday=$(cat ${piLog} | awk '/\/etc\/pihole\/gravity.list/ && !/address/ {print $6}' | wc -l) blockedToday=$(cat ${piLog} | awk '/\/etc\/pihole\/gravity.list/ && !/address/ {print $6}' | wc -l)
else else
@ -49,7 +49,7 @@ CalcblockedToday(){
fi fi
} }
CalcPercentBlockedToday(){ CalcPercentBlockedToday() {
if [ "$queriesToday" != "Err." ] && [ "$blockedToday" != "Err." ]; then if [ "$queriesToday" != "Err." ] && [ "$blockedToday" != "Err." ]; then
if [ "$queriesToday" != 0 ]; then #Fixes divide by zero error :) if [ "$queriesToday" != 0 ]; then #Fixes divide by zero error :)
#scale 2 rounds the number down, so we'll do scale 4 and then trim the last 2 zeros #scale 2 rounds the number down, so we'll do scale 4 and then trim the last 2 zeros
@ -61,7 +61,7 @@ CalcPercentBlockedToday(){
fi fi
} }
CheckIPv6(){ CheckIPv6() {
piholeIPv6file="/etc/pihole/.useIPv6" piholeIPv6file="/etc/pihole/.useIPv6"
if [[ -f ${piholeIPv6file} ]];then if [[ -f ${piholeIPv6file} ]];then
# If the file exists, then the user previously chose to use IPv6 in the automated installer # If the file exists, then the user previously chose to use IPv6 in the automated installer
@ -69,7 +69,7 @@ CheckIPv6(){
fi fi
} }
outputJSON(){ outputJSON() {
CalcQueriesToday CalcQueriesToday
CalcblockedToday CalcblockedToday
CalcPercentBlockedToday CalcPercentBlockedToday
@ -79,7 +79,7 @@ outputJSON(){
printf '{"domains_being_blocked":"%s","dns_queries_today":"%s","ads_blocked_today":"%s","ads_percentage_today":"%s"}\n' "$blockedDomainsTotal" "$queriesToday" "$blockedToday" "$percentBlockedToday" printf '{"domains_being_blocked":"%s","dns_queries_today":"%s","ads_blocked_today":"%s","ads_percentage_today":"%s"}\n' "$blockedDomainsTotal" "$queriesToday" "$blockedToday" "$percentBlockedToday"
} }
normalChrono(){ normalChrono() {
for (( ; ; )) for (( ; ; ))
do do
clear clear
@ -121,16 +121,17 @@ normalChrono(){
done done
} }
displayHelp(){ displayHelp() {
echo "::: Displays stats about your piHole!" cat << EOM
echo ":::" ::: Displays stats about your piHole!
echo "::: Usage: sudo pihole -c [optional:-j]" :::
echo "::: Note: If no option is passed, then stats are displayed on screen, updated every 5 seconds" ::: Usage: sudo pihole -c [optional:-j]
echo ":::" ::: Note: If no option is passed, then stats are displayed on screen, updated every 5 seconds
echo "::: Options:" :::
echo "::: -j, --json output stats as JSON formatted string" ::: Options:
echo "::: -h, --help display this help text" ::: -j, --json output stats as JSON formatted string
::: -h, --help display this help text
EOM
exit 1 exit 1
} }

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #/usr/bin/env bash
# Pi-hole: A black hole for Internet advertisements # Pi-hole: A black hole for Internet advertisements
# (c) 2015, 2016 by Jacob Salmela # (c) 2015, 2016 by Jacob Salmela
# Network-wide ad blocking via your Raspberry Pi # Network-wide ad blocking via your Raspberry Pi
@ -27,12 +27,14 @@ PIHOLELOG="/var/log/pihole.log"
WHITELISTMATCHES="/tmp/whitelistmatches.list" WHITELISTMATCHES="/tmp/whitelistmatches.list"
# Header info and introduction # Header info and introduction
echo "::: Beginning Pi-hole debug at $(date)!" cat << EOM
echo "::: This debugging process will collect information from your running configuration," ::: Beginning Pi-hole debug at $(date)!
echo "::: and optionally upload the generated log to a unique and random directory on" ::: This debugging process will collect information from your running configuration,
echo "::: Termbin.com. NOTE: All log files auto-delete after 1 month and you are the only" ::: and optionally upload the generated log to a unique and random directory on
echo "::: person who is given the unique URL. Please consider where you post this link." ::: Termbin.com. NOTE: All log files auto-delete after 1 month and you are the only
echo "::: " ::: person who is given the unique URL. Please consider where you post this link.
:::
EOM
######## FIRST CHECK ######## ######## FIRST CHECK ########
@ -61,11 +63,11 @@ else
fi fi
### Private functions exist here ### ### Private functions exist here ###
function log_write { log_write() {
echo "$1" >> "${DEBUG_LOG}" echo "$1" >> "${DEBUG_LOG}"
} }
function version_check { version_check() {
log_write "############################################################" log_write "############################################################"
log_write "########## Installed Versions ##########" log_write "########## Installed Versions ##########"
log_write "############################################################" log_write "############################################################"
@ -83,7 +85,7 @@ function version_check {
php_ver="$(php -v |& head -n1)" && log_write "${php_ver}" || log_write "PHP not installed." php_ver="$(php -v |& head -n1)" && log_write "${php_ver}" || log_write "PHP not installed."
} }
function distro_check { distro_check() {
echo "############################################################" >> ${DEBUG_LOG} echo "############################################################" >> ${DEBUG_LOG}
echo "######## Installed OS Distribution #########" >> ${DEBUG_LOG} echo "######## Installed OS Distribution #########" >> ${DEBUG_LOG}
echo "############################################################" >> ${DEBUG_LOG} echo "############################################################" >> ${DEBUG_LOG}
@ -96,7 +98,7 @@ function distro_check {
echo >> ${DEBUG_LOG} echo >> ${DEBUG_LOG}
} }
function ip_check { ip_check() {
echo "############################################################" >> ${DEBUG_LOG} echo "############################################################" >> ${DEBUG_LOG}
echo "######## IP Address Information #########" >> ${DEBUG_LOG} echo "######## IP Address Information #########" >> ${DEBUG_LOG}
echo "############################################################" >> ${DEBUG_LOG} echo "############################################################" >> ${DEBUG_LOG}
@ -166,7 +168,7 @@ function ip_check {
echo >> ${DEBUG_LOG} echo >> ${DEBUG_LOG}
} }
function hostnameCheck { hostnameCheck() {
echo "############################################################" >> ${DEBUG_LOG} echo "############################################################" >> ${DEBUG_LOG}
echo "######## Hostname Information #########" >> ${DEBUG_LOG} echo "######## Hostname Information #########" >> ${DEBUG_LOG}
echo "############################################################" >> ${DEBUG_LOG} echo "############################################################" >> ${DEBUG_LOG}
@ -188,7 +190,7 @@ function hostnameCheck {
fi fi
} }
function portCheck { portCheck() {
echo "############################################################" >> ${DEBUG_LOG} echo "############################################################" >> ${DEBUG_LOG}
echo "######## Open Port Information #########" >> ${DEBUG_LOG} echo "######## Open Port Information #########" >> ${DEBUG_LOG}
echo "############################################################" >> ${DEBUG_LOG} echo "############################################################" >> ${DEBUG_LOG}
@ -200,7 +202,7 @@ function portCheck {
echo >> ${DEBUG_LOG} echo >> ${DEBUG_LOG}
} }
function testResolver { testResolver() {
echo "############################################################" >> ${DEBUG_LOG} echo "############################################################" >> ${DEBUG_LOG}
echo "############ Resolver Functions Check ############" >> ${DEBUG_LOG} echo "############ Resolver Functions Check ############" >> ${DEBUG_LOG}
echo "############################################################" >> ${DEBUG_LOG} echo "############################################################" >> ${DEBUG_LOG}
@ -262,7 +264,7 @@ function testResolver {
echo >> ${DEBUG_LOG} echo >> ${DEBUG_LOG}
} }
function checkProcesses { checkProcesses() {
echo "#######################################" >> ${DEBUG_LOG} echo "#######################################" >> ${DEBUG_LOG}
echo "########### Processes Check ###########" >> ${DEBUG_LOG} echo "########### Processes Check ###########" >> ${DEBUG_LOG}
echo "#######################################" >> ${DEBUG_LOG} echo "#######################################" >> ${DEBUG_LOG}
@ -279,7 +281,7 @@ function checkProcesses {
echo >> ${DEBUG_LOG} echo >> ${DEBUG_LOG}
} }
function debugLighttpd { debugLighttpd() {
echo "::: Writing lighttpd to debug log..." echo "::: Writing lighttpd to debug log..."
echo "#######################################" >> ${DEBUG_LOG} echo "#######################################" >> ${DEBUG_LOG}
echo "############ lighttpd.conf ############" >> ${DEBUG_LOG} echo "############ lighttpd.conf ############" >> ${DEBUG_LOG}
@ -420,7 +422,7 @@ fi
# Continuously append the pihole.log file to the pihole_debug.log file # Continuously append the pihole.log file to the pihole_debug.log file
function dumpPiHoleLog { dumpPiHoleLog() {
trap '{ echo -e "\n::: Finishing debug write from interrupt... Quitting!" ; exit 1; }' INT trap '{ echo -e "\n::: Finishing debug write from interrupt... Quitting!" ; exit 1; }' INT
echo -e "::: Writing current Pi-hole traffic to debug log...\n:::\tTry loading any/all sites that you are having trouble with now... \n:::\t(Press ctrl+C to finish)" echo -e "::: Writing current Pi-hole traffic to debug log...\n:::\tTry loading any/all sites that you are having trouble with now... \n:::\t(Press ctrl+C to finish)"
echo "#######################################" >> ${DEBUG_LOG} echo "#######################################" >> ${DEBUG_LOG}
@ -439,7 +441,7 @@ function dumpPiHoleLog {
} }
# Anything to be done after capturing of pihole.log terminates # Anything to be done after capturing of pihole.log terminates
function finalWork { finalWork() {
echo "::: Finshed debugging!" echo "::: Finshed debugging!"
echo "::: The debug log can be uploaded to Termbin.com for easier sharing." echo "::: The debug log can be uploaded to Termbin.com for easier sharing."
read -r -p "::: Would you like to upload the log? [y/N] " response read -r -p "::: Would you like to upload the log? [y/N] " response

View File

@ -17,8 +17,7 @@ webInterfaceDir="/var/www/html/admin"
piholeGitUrl="https://github.com/pi-hole/pi-hole.git" piholeGitUrl="https://github.com/pi-hole/pi-hole.git"
piholeFilesDir="/etc/.pihole" piholeFilesDir="/etc/.pihole"
spinner() spinner() {
{
local pid=$1 local pid=$1
local delay=0.50 local delay=0.50
local spinstr='/-\|' local spinstr='/-\|'
@ -142,4 +141,4 @@ elif [[ ${piholeVersion} != ${piholeVersionLatest} && ${webVersion} != ${webVers
echo "::: Pi-hole version is now at ${piholeVersion}" echo "::: Pi-hole version is now at ${piholeVersion}"
echo "::: If you had made any changes in '/etc/.pihole', they have been stashed using 'git stash'" echo "::: If you had made any changes in '/etc/.pihole', they have been stashed using 'git stash'"
echo "" echo ""
fi fi

View File

@ -14,7 +14,7 @@
latest=false latest=false
current=false current=false
normalOutput(){ normalOutput() {
piholeVersion=$(cd /etc/.pihole/ && git describe --tags --abbrev=0) piholeVersion=$(cd /etc/.pihole/ && git describe --tags --abbrev=0)
webVersion=$(cd /var/www/html/admin/ && git describe --tags --abbrev=0) webVersion=$(cd /var/www/html/admin/ && git describe --tags --abbrev=0)
@ -25,7 +25,7 @@ normalOutput(){
echo "::: Web-Admin version is $webVersion (Latest version is $webVersionLatest)" echo "::: Web-Admin version is $webVersion (Latest version is $webVersionLatest)"
} }
webOutput(){ webOutput() {
for var in "$@" for var in "$@"
do do
case "$var" in case "$var" in
@ -48,7 +48,7 @@ webOutput(){
fi fi
} }
coreOutput(){ coreOutput() {
for var in "$@" for var in "$@"
do do
case "$var" in case "$var" in
@ -71,21 +71,22 @@ coreOutput(){
fi fi
} }
helpFunc() helpFunc() {
{ cat << EOM
echo ":::" :::
echo "::: Show Pi-hole/Web Admin versions" ::: Show Pi-hole/Web Admin versions
echo ":::" :::
echo "::: Usage: pihole -v [ -a | -p ] [ -l | -c ]" ::: Usage: pihole -v [ -a | -p ] [ -l | -c ]
echo ":::" :::
echo "::: Options:" ::: Options:
echo "::: -a, --admin Show both current and latest versions of web admin" ::: -a, --admin Show both current and latest versions of web admin
echo "::: -p, --pihole Show both current and latest versions of Pi-hole core files" ::: -p, --pihole Show both current and latest versions of Pi-hole core files
echo "::: -l, --latest (Only after -a | -p) Return only latest version" ::: -l, --latest (Only after -a | -p) Return only latest version
echo "::: -c, --current (Only after -a | -p) Return only current version" ::: -c, --current (Only after -a | -p) Return only current version
echo "::: -h, --help Show this help dialog" ::: -h, --help Show this help dialog
echo ":::" :::
exit 0 EOM
exit 1
} }
if [[ $# = 0 ]]; then if [[ $# = 0 ]]; then
@ -99,4 +100,4 @@ do
"-p" | "--pihole" ) shift; coreOutput "$@" ;; "-p" | "--pihole" ) shift; coreOutput "$@" ;;
"-h" | "--help" ) helpFunc;; "-h" | "--help" ) helpFunc;;
esac esac
done done

View File

@ -11,19 +11,20 @@
# (at your option) any later version. # (at your option) any later version.
helpFunc() helpFunc() {
{ cat << EOM
echo "::: Immediately whitelists one or more domains in the hosts file" ::: Immediately whitelists one or more domains in the hosts file
echo ":::" :::
echo "::: Usage: pihole -w domain1 [domain2 ...]" ::: Usage: pihole -w domain1 [domain2 ...]
echo ":::" :::
echo "::: Options:" ::: Options:
echo "::: -d, --delmode Remove domains from the whitelist" ::: -d, --delmode Remove domains from the whitelist
echo "::: -nr, --noreload Update Whitelist without refreshing dnsmasq" ::: -nr, --noreload Update Whitelist without refreshing dnsmasq
echo "::: -f, --force Force updating of the hosts files, even if there are no changes" ::: -f, --force Force updating of the hosts files, even if there are no changes
echo "::: -q, --quiet output is less verbose" ::: -q, --quiet output is less verbose
echo "::: -h, --help Show this help dialog" ::: -h, --help Show this help dialog
echo "::: -l, --list Display your whitelisted domains" ::: -l, --list Display your whitelisted domains
EOM
exit 1 exit 1
} }
@ -71,7 +72,7 @@ if [[ -f ${piholeIPv6file} ]];then
piholeIPv6=$(ip -6 route get 2001:4860:4860::8888 | awk -F " " '{ for(i=1;i<=NF;i++) if ($i == "src") print $(i+1) }') piholeIPv6=$(ip -6 route get 2001:4860:4860::8888 | awk -F " " '{ for(i=1;i<=NF;i++) if ($i == "src") print $(i+1) }')
fi fi
HandleOther(){ HandleOther() {
#check validity of domain #check validity of domain
validDomain=$(echo "$1" | perl -ne'print if /\b((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,63}\b/') validDomain=$(echo "$1" | perl -ne'print if /\b((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,63}\b/')
if [ -z "$validDomain" ]; then if [ -z "$validDomain" ]; then
@ -81,7 +82,7 @@ HandleOther(){
fi fi
} }
PopWhitelistFile(){ PopWhitelistFile() {
#check whitelist file exists, and if not, create it #check whitelist file exists, and if not, create it
if [[ ! -f ${whitelist} ]];then if [[ ! -f ${whitelist} ]];then
touch ${whitelist} touch ${whitelist}
@ -96,7 +97,7 @@ PopWhitelistFile(){
done done
} }
AddDomain(){ AddDomain() {
#| sed 's/\./\\./g' #| sed 's/\./\\./g'
bool=false bool=false
@ -118,7 +119,7 @@ AddDomain(){
fi fi
} }
RemoveDomain(){ RemoveDomain() {
bool=false bool=false
grep -Ex -q "$1" ${whitelist} || bool=true grep -Ex -q "$1" ${whitelist} || bool=true
@ -137,7 +138,7 @@ RemoveDomain(){
fi fi
} }
ModifyHostFile(){ ModifyHostFile() {
if ${addmode}; then if ${addmode}; then
#remove domains in from hosts file #remove domains in from hosts file
if [[ -r ${whitelist} ]];then if [[ -r ${whitelist} ]];then
@ -245,4 +246,4 @@ fi
if ${reload}; then if ${reload}; then
Reload Reload
fi fi

View File

@ -121,8 +121,7 @@ else
fi fi
####### FUNCTIONS ########## ####### FUNCTIONS ##########
spinner() spinner() {
{
local pid=$1 local pid=$1
local delay=0.50 local delay=0.50
local spinstr='/-\|' local spinstr='/-\|'
@ -389,8 +388,7 @@ setStaticIPv4() {
fi fi
} }
function valid_ip() valid_ip() {
{
local ip=$1 local ip=$1
local stat=1 local stat=1
@ -406,7 +404,7 @@ function valid_ip()
return ${stat} return ${stat}
} }
setDNS(){ setDNS() {
DNSChooseCmd=(whiptail --separate-output --radiolist "Select Upstream DNS Provider. To use your own, select Custom." ${r} ${c} 6) DNSChooseCmd=(whiptail --separate-output --radiolist "Select Upstream DNS Provider. To use your own, select Custom." ${r} ${c} 6)
DNSChooseOptions=(Google "" on DNSChooseOptions=(Google "" on
OpenDNS "" off OpenDNS "" off
@ -497,7 +495,7 @@ setDNS(){
fi fi
} }
version_check_dnsmasq(){ version_check_dnsmasq() {
# Check if /etc/dnsmasq.conf is from pihole. If so replace with an original and install new in .d directory # Check if /etc/dnsmasq.conf is from pihole. If so replace with an original and install new in .d directory
local dnsmasq_conf="/etc/dnsmasq.conf" local dnsmasq_conf="/etc/dnsmasq.conf"
local dnsmasq_conf_orig="/etc/dnsmasq.conf.orig" local dnsmasq_conf_orig="/etc/dnsmasq.conf.orig"
@ -542,7 +540,7 @@ version_check_dnsmasq(){
sed -i 's/^#conf-dir=\/etc\/dnsmasq.d$/conf-dir=\/etc\/dnsmasq.d/' ${dnsmasq_conf} sed -i 's/^#conf-dir=\/etc\/dnsmasq.d$/conf-dir=\/etc\/dnsmasq.d/' ${dnsmasq_conf}
} }
remove_legacy_scripts(){ remove_legacy_scripts() {
#Tidy up /usr/local/bin directory if installing over previous install. #Tidy up /usr/local/bin directory if installing over previous install.
oldFiles=( gravity chronometer whitelist blacklist piholeLogFlush updateDashboard uninstall setupLCD piholeDebug) oldFiles=( gravity chronometer whitelist blacklist piholeLogFlush updateDashboard uninstall setupLCD piholeDebug)
for i in "${oldFiles[@]}"; do for i in "${oldFiles[@]}"; do
@ -642,7 +640,7 @@ update_pacakge_cache() {
fi fi
} }
notify_package_updates_available(){ notify_package_updates_available() {
# Let user know if they have outdated packages on their system and # Let user know if they have outdated packages on their system and
# advise them to run a package update at soonest possible. # advise them to run a package update at soonest possible.
echo ":::" echo ":::"
@ -659,7 +657,7 @@ notify_package_updates_available(){
fi fi
} }
install_dependent_packages(){ install_dependent_packages() {
# Install packages passed in via argument array # Install packages passed in via argument array
# No spinner - conflicts with set -e # No spinner - conflicts with set -e
declare -a argArray1=("${!1}") declare -a argArray1=("${!1}")
@ -765,7 +763,7 @@ runGravity() {
/opt/pihole/gravity.sh /opt/pihole/gravity.sh
} }
create_pihole_user(){ create_pihole_user() {
# Check if user pihole exists and create if not # Check if user pihole exists and create if not
echo "::: Checking if user 'pihole' exists..." echo "::: Checking if user 'pihole' exists..."
id -u pihole &> /dev/null && echo "::: User 'pihole' already exists" || (echo "::: User 'pihole' doesn't exist. Creating..." && useradd -r -s /usr/sbin/nologin pihole) id -u pihole &> /dev/null && echo "::: User 'pihole' already exists" || (echo "::: User 'pihole' doesn't exist. Creating..." && useradd -r -s /usr/sbin/nologin pihole)
@ -876,7 +874,7 @@ The install log is in /etc/pihole.
View the web interface at http://pi.hole/admin or http://${IPv4_address%/*}/admin" ${r} ${c} View the web interface at http://pi.hole/admin or http://${IPv4_address%/*}/admin" ${r} ${c}
} }
update_dialogs(){ update_dialogs() {
# reconfigure # reconfigure
if [ "$reconfigure" = true ]; then if [ "$reconfigure" = true ]; then
opt1a="Repair" opt1a="Repair"

View File

@ -58,8 +58,7 @@ else
exit exit
fi fi
spinner() spinner() {
{
local pid=$1 local pid=$1
local delay=0.50 local delay=0.50
local spinstr='/-\|' local spinstr='/-\|'
@ -73,9 +72,9 @@ spinner()
printf " \b\b\b\b" printf " \b\b\b\b"
} }
function removeAndPurge { removeAndPurge() {
# Purge dependencies # Purge dependencies
echo ":::" echo ":::"
for i in "${PIHOLE_DEPS[@]}"; do for i in "${PIHOLE_DEPS[@]}"; do
package_check ${i} > /dev/null package_check ${i} > /dev/null
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
@ -104,7 +103,7 @@ echo ":::"
removeNoPurge removeNoPurge
} }
function removeNoPurge { removeNoPurge() {
echo ":::" echo ":::"
# Only web directories/files that are created by pihole should be removed. # Only web directories/files that are created by pihole should be removed.
echo "::: Removing the Pi-hole Web server files..." echo "::: Removing the Pi-hole Web server files..."

View File

@ -13,15 +13,16 @@
# Run this script as root or under sudo # Run this script as root or under sudo
echo ":::" echo ":::"
helpFunc() helpFunc() {
{ cat << EOM
echo "::: Pull in domains from adlists" ::: Pull in domains from adlists
echo ":::" :::
echo "::: Usage: pihole -g" ::: Usage: pihole -g
echo ":::" :::
echo "::: Options:" ::: Options:
echo "::: -f, --force Force lists to be downloaded, even if they don't need updating." ::: -f, --force Force lists to be downloaded, even if they don't need updating.
echo "::: -h, --help Show this help dialog" ::: -h, --help Show this help dialog
EOM
exit 1 exit 1
} }
@ -196,7 +197,7 @@ gravity_Schwarzchild() {
echo " done!" echo " done!"
} }
gravity_Blacklist(){ gravity_Blacklist() {
# Append blacklist entries if they exist # Append blacklist entries if they exist
echo -n "::: Running blacklist script to update HOSTS file...." echo -n "::: Running blacklist script to update HOSTS file...."
${blacklistScript} -f -nr -q > /dev/null ${blacklistScript} -f -nr -q > /dev/null