Temporarily disable Pi-Hole: Difference between revisions
From WickyWiki
Created page with "Category:202211 Category:Ubuntu Category:Ubuntu System = Create scripts = <syntaxhighlight lang=bash> sudo nano /home/pi/wjv-pause-pihole-5m.sh sudo /usr/local/bin/pihole disable 5m </syntaxhighlight> <syntaxhighlight lang=bash> sudo nano /home/pi/wjv-pause-pihole-10m.sh sudo /usr/local/bin/pihole disable 10m </syntaxhighlight> = Make executable = <syntaxhighlight lang=bash> sudo chmod +x /home/pi/wjv-pause-pihole-*.sh </syntaxhighlight> = Install all..." |
|||
| Line 87: | Line 87: | ||
* [[Allow a user to sudo execute a script without password]] | * [[Allow a user to sudo execute a script without password]] | ||
* [[Raspberry Pi - Pi-Hole Network-wide ad blocking]] | |||
Revision as of 22:19, 28 November 2022
Create scripts
sudo nano /home/pi/wjv-pause-pihole-5m.sh sudo /usr/local/bin/pihole disable 5m
sudo nano /home/pi/wjv-pause-pihole-10m.sh sudo /usr/local/bin/pihole disable 10m
Make executable
sudo chmod +x /home/pi/wjv-pause-pihole-*.sh
Install all scripts to root
sudo cp -v /home/pi/wjv-*.* /root/.
Create sudoers file, add lines
Allow webserver user to execute the scripts.
sudo visudo /etc/sudoers.d/wjv-pause-pihole www-data ALL=NOPASSWD: /root/wjv-pause-pihole-5m.sh www-data ALL=NOPASSWD: /root/wjv-pause-pihole-10m.sh
PHP page
sudo nano /var/www/html/wjv-pause-pihole.php
<?php
$run = $_GET['run'];
$until = $_GET['until'];
if (isset($run)) {
$output = shell_exec("sudo /root/wjv-pause-pihole-" . $run . "m.sh");
$output = str_replace(array("\n", "\r"),"",htmlentities($output, ENT_QUOTES));
if (strpos($output,"Blocking already disabled")) {
$until = "unknown";
}
elseif (strpos($output,"Pi-hole Disabled")) {
$until = date('H:i:s', strtotime("+". $run . " minutes"));
}
else {
$until = "failed";
}
header("Location: ?output=$output&until=$until");
die();
}
elseif (isset($until)) {
$output=$_GET['output'];
if ($until == "unknown") {
echo "<hr/> Pi-Hole Adblocker previously disabled, you need to wait";
}
elseif ($until == "failed") {
echo "<hr/> Pi-Hole Adblocker disable failed";
}
else {
echo "<hr/> Pi-Hole Adblocker DISABLED until $until";
}
}
else { $output=$_GET['output'];
echo "<hr/> <form action='/wjv-pause-pihole.php'><input type=hidden name=run value='5'/>";
echo "<input type=submit value='Disable Pi-Hole Adblocker for 5 minutes'/></form>";
echo "<hr/> <form action='/wjv-pause-pihole.php'><input type=hidden name=run value='10'/>";
echo "<input type=submit value='Disable Pi-Hole Adblocker for 10 minutes'/></form>";
}
echo "<hr/> Output: $output<hr/>";
?>