AdGuard Home — режу рекламу на уровне DNS для всей сети
Долго ставил uBlock Origin в каждый браузер и каждый раз заново на новом устройстве. Потом понял, что глупо чинить проблему на десяти клиентах, когда можно один раз на уровне сети. Поднял AdGuard Home — это локальный DNS-сервер, который режет рекламу и трекеры до того, как они вообще загрузятся. На телефоне, на телевизоре, в приложениях — везде, без расширений.
Как это работает
Идея простая. Когда устройство хочет загрузить условный ads.example.com, оно сперва спрашивает у DNS его IP. AdGuard Home смотрит в блок-листы, видит там этот домен и отвечает «нет такого». Реклама просто не подгружается, страница чище и грузится быстрее. Бонусом — приватность: трекеры аналитики тоже сидят в этих списках.
Установка
Стек в /app/adguard/, обычный compose:
services:
adguardhome:
image: adguard/adguardhome:latest
container_name: adguardhome
restart: unless-stopped
network_mode: host
volumes:
- ./work:/opt/adguardhome/work
- ./conf:/opt/adguardhome/conf
network_mode: host тут важен — DNS работает на 53 порту, и пробрасывать его через bridge-сеть Docker неудобно. После первого старта вебморда висит на :3000, проходишь визард, и дальше панель и сам DNS уже на :80.
Блок-листы
Из коробки включён базовый AdGuard-фильтр. Я докинул ещё пару проверенных:
- AdGuard DNS filter (основной)
- OISD Big — большой общий список рекламы и трекеров
- AdAway — заточен под мобильную рекламу
Списки обновляются автоматически. Главное — не уходить в дебри и не подключать десяток агрессивных листов: начнут отваливаться нормальные сайты, и потом сиди разбирайся, почему не грузится корзина в магазине.
Подключаю всю сеть
Самый сок — прописать AdGuard как DNS на роутере. Тогда все устройства в доме автоматически ходят через него, ничего настраивать на клиентах не надо. В админке роутера в настройках DHCP меняю DNS на IP сервера с AdGuard:
DNS server: 192.168.1.10
После этого новые устройства, цепляясь к Wi-Fi, получают этот DNS сами.
Статистика
Отдельное удовольствие — дашборд. Видно, сколько запросов прошло, сколько заблокировано, какие домены чаще всего стучатся. У меня стабильно режется около 15–20% всех DNS-запросов. Особенно показательно смотреть, как смарт-телевизор в простое ломится на десятки трекинговых доменов в час — после AdGuard эта телеметрия просто упирается в стену.
Если что-то нужное случайно заблокировалось — в логе запросов видно домен, добавляешь его в исключения в один клик. За пару месяцев белый список у меня вышел из трёх записей. Мелочь, а сеть стала заметно чище.