mirror of
https://github.com/pi-hole/web.git
synced 2026-04-23 02:09:58 +01:00
@@ -1,70 +1,72 @@
|
||||
<?php
|
||||
|
||||
ob_end_flush();
|
||||
ini_set("output_buffering", "0");
|
||||
ini_set('output_buffering', '0');
|
||||
ob_implicit_flush(true);
|
||||
header('Content-Type: text/event-stream');
|
||||
header('Cache-Control: no-cache');
|
||||
|
||||
require "password.php";
|
||||
require "auth.php";
|
||||
require 'password.php';
|
||||
|
||||
require 'auth.php';
|
||||
|
||||
if (!$auth) {
|
||||
die("Unauthorized");
|
||||
exit('Unauthorized');
|
||||
}
|
||||
|
||||
check_cors();
|
||||
|
||||
$token = isset($_GET["token"]) ? $_GET["token"] : "";
|
||||
$token = isset($_GET['token']) ? $_GET['token'] : '';
|
||||
check_csrf($token);
|
||||
|
||||
function echoEvent($datatext) {
|
||||
function echoEvent($datatext)
|
||||
{
|
||||
$ANSIcolors = array(
|
||||
chr(27)."[1;91m" => '<span class="log-red">',
|
||||
chr(27)."[1;32m" => '<span class="log-green">',
|
||||
chr(27)."[1;33m" => '<span class="log-yellow">',
|
||||
chr(27)."[1;34m" => '<span class="log-blue">',
|
||||
chr(27)."[1;35m" => '<span class="log-purple">',
|
||||
chr(27)."[1;36m" => '<span class="log-cyan">',
|
||||
chr(27).'[1;91m' => '<span class="log-red">',
|
||||
chr(27).'[1;32m' => '<span class="log-green">',
|
||||
chr(27).'[1;33m' => '<span class="log-yellow">',
|
||||
chr(27).'[1;34m' => '<span class="log-blue">',
|
||||
chr(27).'[1;35m' => '<span class="log-purple">',
|
||||
chr(27).'[1;36m' => '<span class="log-cyan">',
|
||||
|
||||
chr(27)."[90m" => '<span class="log-gray">',
|
||||
chr(27)."[91m" => '<span class="log-red">',
|
||||
chr(27)."[32m" => '<span class="log-green">',
|
||||
chr(27)."[33m" => '<span class="log-yellow">',
|
||||
chr(27)."[94m" => '<span class="log-blue">',
|
||||
chr(27)."[95m" => '<span class="log-purple">',
|
||||
chr(27)."[96m" => '<span class="log-cyan">',
|
||||
chr(27).'[90m' => '<span class="log-gray">',
|
||||
chr(27).'[91m' => '<span class="log-red">',
|
||||
chr(27).'[32m' => '<span class="log-green">',
|
||||
chr(27).'[33m' => '<span class="log-yellow">',
|
||||
chr(27).'[94m' => '<span class="log-blue">',
|
||||
chr(27).'[95m' => '<span class="log-purple">',
|
||||
chr(27).'[96m' => '<span class="log-cyan">',
|
||||
|
||||
chr(27)."[1m" => '<span class="text-bold">',
|
||||
chr(27)."[4m" => '<span class="text-underline">',
|
||||
chr(27).'[1m' => '<span class="text-bold">',
|
||||
chr(27).'[4m' => '<span class="text-underline">',
|
||||
|
||||
chr(27)."[0m" => '</span>',
|
||||
chr(27).'[0m' => '</span>',
|
||||
);
|
||||
|
||||
$data = str_replace(array_keys($ANSIcolors), $ANSIcolors, htmlspecialchars($datatext));
|
||||
|
||||
if (!isset($_GET["IE"])) {
|
||||
echo "data: ".implode("\ndata: ", explode("\n", $data))."\n\n";
|
||||
if (!isset($_GET['IE'])) {
|
||||
echo 'data: '.implode("\ndata: ", explode("\n", $data))."\n\n";
|
||||
} else {
|
||||
echo $data;
|
||||
}
|
||||
}
|
||||
|
||||
// Execute "pihole" using Web option
|
||||
$command = "export TERM=dumb && sudo pihole -d -w";
|
||||
$command = 'export TERM=dumb && sudo pihole -d -w';
|
||||
|
||||
// Add auto-upload option
|
||||
if (isset($_GET["upload"])) {
|
||||
$command .= " -a";
|
||||
if (isset($_GET['upload'])) {
|
||||
$command .= ' -a';
|
||||
}
|
||||
|
||||
// Execute database integrity_check
|
||||
if (isset($_GET["dbcheck"])) {
|
||||
$command .= " -c";
|
||||
if (isset($_GET['dbcheck'])) {
|
||||
$command .= ' -c';
|
||||
}
|
||||
|
||||
$proc = popen($command, "r");
|
||||
$proc = popen($command, 'r');
|
||||
|
||||
while (!feof($proc)) {
|
||||
echoEvent(fread($proc, 4096));
|
||||
}
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user