Prevent "pihole disable $timeout" from messing up future state changes

Signed-off-by: Thomas L. Kjeldsen <tlk@closureconsulting.com>
This commit is contained in:
Thomas L. Kjeldsen 2019-08-23 19:49:13 +02:00
parent 5dc7ec0fa0
commit 852f6b95f5
2 changed files with 19 additions and 2 deletions

View File

@ -0,0 +1,16 @@
#!/bin/bash
# Pi-hole: A black hole for Internet advertisements
# (c) 2019 Pi-hole, LLC (https://pi-hole.net)
# Network-wide ad blocking via your own hardware.
#
# Wrapper script to re-enable Pi-hole after a period of it being disabled.
#
# This script will be aborted by the `pihole enable` command using `killall`.
# As a consequence, the filename of this script is limited to max 15 characters
# and the script does not use `env`.
#
# This file is copyright under the latest version of the EUPL.
# Please see LICENSE file for your rights under this license.
sleep "${1}"
pihole enable

5
pihole
View File

@ -164,7 +164,7 @@ Time:
local str="Disabling blocking for ${tt} seconds" local str="Disabling blocking for ${tt} seconds"
echo -e " ${INFO} ${str}..." echo -e " ${INFO} ${str}..."
local str="Blocking will be re-enabled in ${tt} seconds" local str="Blocking will be re-enabled in ${tt} seconds"
nohup bash -c "sleep ${tt}; ${PI_HOLE_BIN_DIR}/pihole enable" </dev/null &>/dev/null & nohup "${PI_HOLE_SCRIPT_DIR}"/pihole-reenable.sh ${tt} </dev/null &>/dev/null &
else else
local error=true local error=true
fi fi
@ -175,7 +175,7 @@ Time:
echo -e " ${INFO} ${str}..." echo -e " ${INFO} ${str}..."
local str="Blocking will be re-enabled in ${tt} minutes" local str="Blocking will be re-enabled in ${tt} minutes"
tt=$((${tt}*60)) tt=$((${tt}*60))
nohup bash -c "sleep ${tt}; ${PI_HOLE_BIN_DIR}/pihole enable" </dev/null &>/dev/null & nohup "${PI_HOLE_SCRIPT_DIR}"/pihole-reenable.sh ${tt} </dev/null &>/dev/null &
else else
local error=true local error=true
fi fi
@ -197,6 +197,7 @@ Time:
fi fi
else else
# Enable Pi-hole # Enable Pi-hole
killall -q pihole-reenable
if grep -cq "BLOCKING_ENABLED=true" "${setupVars}"; then if grep -cq "BLOCKING_ENABLED=true" "${setupVars}"; then
echo -e " ${INFO} Blocking already enabled, nothing to do" echo -e " ${INFO} Blocking already enabled, nothing to do"
exit 0 exit 0