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 на роутере. Тогда все устройства в доме автоматически ходят через него, ничего настраивать на клиентах не надо. В админке роутера в настройках DHCP меняю DNS на IP сервера с AdGuard:

DNS server: 192.168.1.10

После этого новые устройства, цепляясь к Wi-Fi, получают этот DNS сами.

Статистика

Отдельное удовольствие — дашборд. Видно, сколько запросов прошло, сколько заблокировано, какие домены чаще всего стучатся. У меня стабильно режется около 15–20% всех DNS-запросов. Особенно показательно смотреть, как смарт-телевизор в простое ломится на десятки трекинговых доменов в час — после AdGuard эта телеметрия просто упирается в стену.

Если что-то нужное случайно заблокировалось — в логе запросов видно домен, добавляешь его в исключения в один клик. За пару месяцев белый список у меня вышел из трёх записей. Мелочь, а сеть стала заметно чище.