コンテンツへスキップ
Home » パイホール管理者アクセスなしでホワイトリストエントリーを追加する

パイホール管理者アクセスなしでホワイトリストエントリーを追加する

Advertisements

Some of the links shared in this post are affiliate links. If you click on the link and make a purchase, we will receive an affiliate commission at no additional cost to you.


Pi-holeはネットワーク全体の広告ブロッカーで、DNSシンクホールとして機能し、ネットワーク内のすべてのデバイスで広告とトラッキングをブロックする。Pi-holeはDNSレベルで動作し、Raspberry Piや他のLinuxサーバーのような小さなコンピューターにインストールすることができる。

問題:他の家族の誤検知

公式のブロックリストを使えば、誤検知はほんのわずかしかないはずだ。しかし、Piholeのためにもっと多くのブロックリストを使うと、いくつかのウェブサイトが正しく動作しなかったり、まったくアクセスできなかったりすることがすぐに起こりうる。Piholeの管理者であるあなたは、ドメインをホワイトリストに登録するだけで、Piholeを利用する他の家族は、管理者がこれを行うまで待たなければならない。幸い、これには解決策がある:

Piholeシンプルホワイトリスト

画像Github.com/zigzag1001

Pihole Simple Whitelistをインストールする

sudo su
cd  /var/www/html/
mkdir ホワイトリスト
cd ホワイトリスト
curl  -O https://raw.githubusercontent.com/zigzag1001/pihole-Simple-Whitelist/main/whitelist-add.php  \
     -O https://raw.githubusercontent.com/zigzag1001/pihole-Simple-Whitelist/main/style.css 
     -O https://raw.githubusercontent.com/zigzag1001/pihole-Simple-Whitelist/main/index.html

Pihole Webuiのパスワードのハッシュ値を決定し、コピーする:

cat  /etc/pihole/setupVars.conf  | grep WEBPASSWORD

16行目の$authにパスワード・ハッシュを設定する。

nano whitelist-add.php
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {if (isset($_POST['action']) && $_POST['action'] 。
    if (isset($_POST['action']) && $_POST['action'] === 'list'){
        // リスト ホワイトリスト ドメイン
       コマンド = "sudo pihole -w -l | awk '{print $1, $2}'";
        
       $output = [];
        exec("$command 2>&1", $output);
        
        echo "<pre>" . implode("\n", $output) . "</pre>";
   } elseif (isset($_POST['action']) && $_POST['action'] === 'disable'){
        // https://www.crosstalksolutions.com/the-worlds-greatest-pi-hole-and-unbound-tutorial-2023/
        
       XMin =  5; //   無効 ブロッキング
       XSec = $XMin * 60
       $auth = "YOUR_PASSWORD_HASH"; // `cat /etc/pihole/setupVars.conf | grep WEBPASSWORD`
        
       command = "curl -s \"http://localhost/admin/api.php?disable={$XSec}&auth={$auth}}"";
        
       出力 = [];
       returnVar =  0
        exec("$command 2>&1", $output, $returnVar);
        
        if ($returnVar === 0) {以下のようにする。
            echo " $XMin分のブロッキングを無効に  する。". implode(' ', $output);
           t=time();
           d=date("M-d H:i e",$t);
            error_log("{$_SERVER['REMOTE_ADDR']}によって無効化された。- d}n",  3, "/var/log/pihole_disabled.log");
       } else {
            echo "失敗した。ブロックが無効になっていない。出力: " . implode(' ', $output);
       }
   } else { {.
        // ホワイトリスト   ドメイン
       t=time();
       d=date("M-d H:i e",$t);
       domain = escapeshellarg($_POST['domain']);
       $regex_domain = "/[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z]{2,6}/";
       is_match = preg_match($regex_domain, $domain);
        if ($is_match == 1) { $command=  "su_domain".
            com  m and =  "sudo  pihole -w$domain--comment  \"{$_SERVER['REMOTE_ADDR']} {$d} "; if ($is_match == 1) { $command = "sudo pihole -w $domain --comment -{$d}\"";
            
           $output = [];
           returnVar =  0
            exec("$command 2>&1", $output, $returnVar);
            
            if ($returnVar === 0) {以下のようにする。
                echo "ドメイン $domain はホワイトリストに登録された
           } else {
                echo " $domain ドメインのホワイトリストに失敗した 。出力: " . implode(' ', $output);
           }
       } else {
            echo "ドメインの入力が間違っている。";
       }
   }
}
?>

保存する:CTRL + O と閉じる:CTRL + X

これで、ブラウザでhttp://pi.hole/whitelist/

Pihole:Simple Whitelistは、Githubのzigzag1001によるプロジェクトである。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Mastodon