mirror of
https://github.com/pi-hole/pi-hole.git
synced 2024-11-15 10:43:55 +00:00
Merge pull request #2887 from tlk/fix/reenable
Prevent "pihole disable $timeout" from messing up future state changes
This commit is contained in:
commit
7b41b99549
2 changed files with 26 additions and 2 deletions
23
advanced/Scripts/pihole-reenable.sh
Executable file
23
advanced/Scripts/pihole-reenable.sh
Executable file
|
@ -0,0 +1,23 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Pi-hole: A black hole for Internet advertisements
|
||||||
|
# (c) 2020 Pi-hole, LLC (https://pi-hole.net)
|
||||||
|
# Network-wide ad blocking via your own hardware.
|
||||||
|
#
|
||||||
|
# This file is copyright under the latest version of the EUPL.
|
||||||
|
# Please see LICENSE file for your rights under this license.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# The pihole disable command has the option to set a specified time before
|
||||||
|
# blocking is automatically re-enabled.
|
||||||
|
#
|
||||||
|
# Present script is responsible for the sleep & re-enable part of the job and
|
||||||
|
# is automatically terminated if it is still running when pihole is enabled by
|
||||||
|
# other means.
|
||||||
|
#
|
||||||
|
# This ensures that pihole ends up in the correct state after a sequence of
|
||||||
|
# commands suchs as: `pihole disable 30s; pihole enable; pihole disable`
|
||||||
|
|
||||||
|
readonly PI_HOLE_BIN_DIR="/usr/local/bin"
|
||||||
|
|
||||||
|
sleep "${1}"
|
||||||
|
"${PI_HOLE_BIN_DIR}"/pihole enable
|
5
pihole
5
pihole
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue