Анти-реклама на базе Pi-Hole позволяющая обходить фильтрацию dns запросов с помощью cloudflared

 

 Устанавливаем Apache и требуемые зависимости для Pi-hole

apt install apache2 -y
apt install php php-common php-gd php-mysql php-sqlite3 php7.4 php7.4-cli php7.4-common php7.4-gd php7.4-json php7.4-mysql php7.4-opcache php7.4-readline php7.4-sqlite3 libapache2-mod-php libapache2-mod-php


Отредактируем файл 000-default.conf что бы сразу попадать на наш веб сервер

nano /etc/apache2/sites-available/000-default.conf
DocumentRoot /var/www/html/admin



Установим Pi-hole

curl -sSL https://install.pi-hole.net | bash

 

Установим cloudflared

Загрузим и установим пакет

wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
apt-get install ./cloudflared-linux-amd64.deb
cloudflared -v

 

 

Создадим пользователя cloudflared:

useradd -s /usr/sbin/nologin -r -M cloudflared

Создадим конфигурационный файл:

nano /etc/default/cloudflared

И добавим в него

# Commandline args for cloudflared, using Cloudflare DNS
CLOUDFLARED_OPTS=--port 5053 --upstream https://1.1.1.1/dns-query --upstream https://1.0.0.1/dns-query

Обновим разрешения на папку для пользователя:

chown cloudflared:cloudflared /etc/default/cloudflared
chown cloudflared:cloudflared /usr/local/bin/cloudflared

Cоздаем файл /lib/systemd/system/cloudflared.service, который позволит интегрировать сервис в systemd

nano /etc/systemd/system/cloudflared.service
[Unit]
Description=cloudflared DNS over HTTPS proxy
After=syslog.target network-online.target

[Service]
Type=simple
User=cloudflared
EnvironmentFile=/etc/default/cloudflared
ExecStart=/usr/local/bin/cloudflared proxy-dns $CLOUDFLARED_OPTS
Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target

Разрешаем запускаем и проверяем сервис

systemctl enable cloudflared
systemctl start cloudflared
systemctl status cloudflared

 Для проверки в командной строке можно ввести:

dig @127.0.0.1 -p 5053 google.com

 

 Настройка Pi-Hole производится в настройках веб интерфейса путем добавления ip адреса 127.0.0.1#5053

 

 

А эти ссылки вы можете добавить для блокировки рекламы и порно последовательно в разделе Adlist

https://blocklistproject.github.io/Lists/abuse.txt
https://blocklistproject.github.io/Lists/crypto.txt
https://blocklistproject.github.io/Lists/ads.txt
https://blocklistproject.github.io/Lists/drugs.txt
https://blocklistproject.github.io/Lists/everything.txt
https://blocklistproject.github.io/Lists/fraud.txt
https://blocklistproject.github.io/Lists/gambling.txt
https://blocklistproject.github.io/Lists/malware.txt
https://blocklistproject.github.io/Lists/phishing.txt
https://blocklistproject.github.io/Lists/piracy.txt
https://blocklistproject.github.io/Lists/porn.txt
https://blocklistproject.github.io/Lists/ransomware.txt
https://blocklistproject.github.io/Lists/redirect.txt
https://blocklistproject.github.io/Lists/scam.txt
https://blocklistproject.github.io/Lists/tracking.txt