AdGuard Home - блокируем рекламу во всем доме.

adguard

adguard logo

Adguard Home - бесплатное ПО с открытым исходным кодом для блокировки рекламы, трекинга, фишинга и прочей нечисти на всех устройствах в сети: планшеты, телефоны, приставки, телевизоры и прочие роботы-пылесосы. Так что китайцы не узнают от вашего робота-пылесоса сколько у вас комнат.

Что нужно.

Что-то, куда можно установить AdGuard, у меня это Raspberry Pi 4. Но это может быть и роутер, и сетевой накопитель Synology/QNAP. Да вообще всё что угодно, на самом деле. Ну, кроме робота-пылесоса.

Установка

Установка очень простая, как инструкция из Икеи. Заходим по ssh и вводим:

wget 'https://static.adguard.com/adguardhome/release/AdGuardHome_linux_armv6.tar.gz'
tar -f AdGuardHome_linux_armv6.tar.gz -x -v
Правда, стоит выбрать пакет под свою архитектуру.

Затем:

cd ./AdGuardHome/
sudo ./AdGuardHome -s install

Всё, установили. Переходим по http://192.168..:3000/ и за 5 простых шагов настраиваем. 192.168.. тут - ip устройства, куда установили AdGuard.

Что касается фильтров и настройки DNS

Я выбрал следующие Upstream DNS-серверы:

tls://security.cloudflare-dns.com
https://security.cloudflare-dns.com/dns-query
И выбрал пункт “Параллельные DNS запросы”, для ускорения обработки запросов. Что бы DNS запросы шифровались, нужно перейти в “Настройки” - “Настройки шифрования” и поставить галку “Включить шифрование”.

Перепробовав несколько фильтров остановился на этих:

https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
https://adaway.org/hosts.txt
https://v.firebog.net/hosts/Easyprivacy.txt
https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/spy.txt
https://raw.githubusercontent.com/AdguardTeam/FiltersRegistry/master/filters/filter_1_Russian/filter.txt
https://raw.githubusercontent.com/AdguardTeam/FiltersRegistry/master/filters/filter_11_Mobile/filter.txt

Устанавливаем сертификат для корректной работы шифрования

Ставить будем бесплатный Let`s Encrypt. Для подтверждения домена не хочется открывать веб-интерфейс наружу и заморачиваться с правилами файрвола, поэтому воспользуюсь DNS подтверждением от CloudFlare.

Делегируем домен на CloudFlare. Меняем ns на те, что предлагает CF и ждем обновления зоны.

Устанавливаем необходимые пакеты:

sudo apt install certbot python3-certbot-dns-cloudflare
Создаем файл с авторизационными данными:
mkdir /secrets/ 
touch /secrets/cloudflare.ini
nano /secrets/cloudflare.ini 
Вставляем в файл token для доступа к CF. Нам пойдет токен из шаблона “Edit zone DNS”

dns_cloudflare_api_token = token
Меняем права:
sudo chmod 0700 /secrets/
sudo chmod 0400 /secrets/cloudflare.ini
Отправляем запрос на сертификат:
sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials /home/pi/secrets/cloudflare.ini -d example.com,*.example.com --preferred-challenges dns-01
Не забудьте поменять домен. Сертификаты сохранятся в /etc/letsencrypt/live/example.com/

Осталось добавить их в AdGuard. “Настройки” - “Настройки шифрования”. И вставляем наши сертификаты.

adguard logo

Вот и всё.