Анти-реклама на базе 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