Багато сайтів та застосунків для телефону показують рекламу і роблять це часто так що реклама заважає використанню програми за призначенням. На комп'ютері часто використовуються розширення браузера AdBlock, AdGuard чи uBlock Origin для того щоб видаляти нав'язливу рекламу. Але на телефоні ситуація складніша, оскільки більшість мобільних браузерів розширення не підтримують.
Але і для цієї проблеми є рішення. В цій статті ми розглянемо як налаштувати AdGuard Home для того щоб заблокувати рекламу для всіх пристроїв в вашій локальній мережі. На додачу до блокування реклами ви отримуєте домашній DNS сервер, за допомогою якого зможете прописати зручні адреси для доступу до програм запущених на домашньому сервері.
Зміст
Як це працює?
Коли ви переглядаєте веб-сторінки, сайти і програми зазвичай завантажують рекламу з окремих доменів рекламних мереж. Це можна побачити, наприклад, відкривши techradar.com і подивившись які запити виконуються до серерів в Wireshark. Як бачите є багато DNS запитів на домен s.amazon-adsystem.com з якого завантажується реклама:
AdGuard Home це DNS сервер, який буде використовуватись пристроями в вашій локальній мережі і коли будь-якій програмі потрібно буде дізнатись IP адресу для домену, операційна система буде звертатись до AdGuard. І якщо з домена роздається реклама і він є в чорному списку, то для нього програма не надасть IP адресу. Ось так це виглядає для домену doubleclick.net:
nslookup s.amazon-adsystem.com
Таким чином реклама навіть не завантажиться і програмі буде складно зрозуміти що то був блокувальник реклами, тому що сам контент сторінки не буде модифікуватись. Звісно для того щоб це працювало вам потрібно буде налаштувати IP DNS сервера на вашому роутері.
До мінусів такого підходу можна віднести те, що AdGuard Home може пропускати деяку рекламу, яку б розширення вирізали зі сторінки. Крім того, при використанні VPN, Cloudflare WARP чи DNS over HTTPS деякі запити можуть проходити повз AdGuard.
Тому розширення для браузера часто зручніше, за допомогою них ви можете досить швидко вмикати/вимикати блокування для деяких сайтів, а також блокувати окремі блоки на сторінці візуально в реальному часі. Тому ви можете використовувати і AdGuard Home і uBlock Origin разом.
Установка та налаштування AdGuard Home
Для запуску програми вам потрібен окремий пристрій, наприклад, домашній сервер, старий ноутбук чи Raspberry Pi. Достатньо щоб на ньому було встановлено Linux та Docker. А далі встановити та налаштувати програму буде досить просто.
Установка в Docker Compose
Якщо все готово для установки, авторизуйтесь по SSH на вашому пристрої та створіть файл docker-compose.yaml з таким вмістом:
services:
adguardhome:
image: adguard/adguardhome
ports:
- 53:53/tcp # plain dns over tcp
- 53:53/udp # plain dns over udp
- 80:80/tcp # http web interface
- 3000:3000/tcp # initial setup web interface
volumes:
- ./config:/opt/adguardhome/conf
- ./work:/opt/adguardhome/work
restart: unless-stopped
Тут ми видкриваємо порти 53 (UDP та TCP) для роботи DNS сервера, 80 для веб-інтерфейсу і 3000 для інтерфейсу встановлення. Також монтуємо папки для зберігання даних програми і вказуємо що контейнер має бути запущений постійно.
Перед запуском Docker Compose треба створити папки для даних від імені звичайного користувача:
mkdir ./{config,work}
Після цього запустить контейнер:
docker compose up
Перше налаштування
Для першого налаштування програми необхідно відкрити IP адресу вашого пристрою та порт 3000. Наприклад: 192.168.1.115:3000. Відкриється ось така сторінка. Тут можна змінити мову в правому нижньому куті, або просто натиснути кнопку Get Started:
На наступному кроці установщик запропонує вибрати для яких інтерфейсів буде доступний веб-інтерфейс та DNS сервер. Оскільки це докер то можна вибрати що для всіх:
Далі потрібно задати логін та пароль для веб-інтерфейсу:
Фактично це все. Наступний крок повідомляє що треба налаштувати рутер, що ми зробимо в наступному розділі статті, а потім програма запропонує відкрити веб-інтерфейс керування.
Налаштування DNS на роутері
Для того щоб всі пристрої в мережі використовували AdGuard в якості DNS сервера необхідно налаштувати роутер. Зазвичай роутер має IP адресу 192.168.1.1 чи 192.168.0.1. Достатньо відкрити її щоб потрапити в веб-інтерфейс налаштування роутера. Далі потрібно знайти налаштування DHCP і вказати там DNS сервер. Протокол DHCP використовується для отримання IP адреси компьютером при підключення до мережі. Але разом з IP адресою буде відправлено також і DNS сервер.
Для роутерів TP-Link потрібно відкрити розділ DHCP, потім DHCP Settings і в стрічці Primary DNS Server вказати IP адресу пристрою на якому працює Wireguard. В моєму випадку це 192.168.1.115:
Тут також є Secondary DNS Server. Це сервер який буде використовуватись якщо основний не працює. Більшість пристроїв беруть завжди основний. Якщо хочете щоб точно всі запити йшли через AdGuard то можете залишити це поле порожнім. Або вкажіть там будь-який інший DNS на випадок якщо ваш не працюватиме.
Залишається натиснути Save. Оскільки данні DHCP оновлюються раз в 24 години налашування можуть застосуватись не зразу, але якщо перепідключитись до інтернету, то все повинно запрацювати.
Налаштування статичної адреси на роутері
Припустимо зараз в пристрою на якому встановлено AdGuard адреса 192.168.1.115, але оскільки пристрої отримують адреси від роутера по DHCP, то адреса може змінитись. Для того щоб вона завжди залишалась такою варто налаштувати це на роутері. Звісно є інші способи, але варіант налаштувати ротер так, що він видавав пристрою з певною MAC адресою завжди одну і ту ж IP адресу найпростіший.
Для цього знову відкрийте секцію DHCP і розділ DHCP Clients. Тут знайдіть MAC адресу пристрою з IP адресою 192.168.1.115:
Далі потрібно відкрити Address Reservation List і додати правило з IP адресою та MAC адресою з попереднього кроку:
Після цього роутер завжди буде присвоювати таку адресу цьому пристрою.
Авторизація в веб-інтерфейсі
Після цього можна авторизуватись. Для цього просто відкрийте IP адресу пристрою з AdGuard і введіть логін та пароль.
Інфопанель виглядатиме ось так:
Тут можна побачити кількість запитів всього, кількість заблокованих запитів, а також IP адреси клієнтів які звертались до DNS сервера.
Перевірка блокування
Наприклад, ось так виглядає веб-сайт Techradar з рекламою:
А ось так все буде виглядати коли реклама заблокована:
Якщо щось не працює, ви можете подивитись в Linux який DNS сервер використовується за допомогою resolvctl:
sudo resolvctl status
Якщо там не те, що ви налаштовували, то значить налаштування не застосувались.
Списки блокування
За замовчуванням в програму додано список блокування який містить 142,327 доменів з яких роздається реклама. Переглянути списки можна відкривши Filters -> DNS Blocklists.
Ви можете додати сюди додаткові списки блокування. Наприклад, список від HaGeZi, який містить ще майже 300 тисяч доменів. Для цього натисніть Add Blocklist -> Create From the List, а потім відмітьте потрібні списки:
Після цього новий пункт з'явиться в списку. Крім того ви можете додати будь-який суміcний список по URL.
Блокування сервісів
Крім доменів з рекламою можна блокувати окремі сервіси, такі як ChatGPT/Claude, Facebook, Google та багато інших. Threads тільки поки немає. Для цього відкрийте Filters -> Blocked Services:
Тут можна вибрати сервіси які треба заблокувати, а внизу сторінки налаштувати розклад коли сервіси блокувати, а коли ні.
Перевизначеня DNS записів
Крім блокування ви можете перевизначати IP адреси для потрібних доменів. Таким чином можна налаштувати досить зручний доступ до сервісів запущених на домашньому сервері. Наприклад давайте зробимо так, щоб веб інтерфейс AdGuard відкривався не по IP адресі, а на домені adguard.home.arpa. Сам домен home.arpa спеціально призначений для використання в домашніх мережах: RFC 8375
Для цього відкрийте Filters -> DNS Rewrites і натисніть Add DNS Rewrite. Далі заповніть домен: adguard.home.arpa та IP адресу свого пристрою. Наприклад:
Після цього він з'явиться в списку і ви вже можете спробувати ним скористатись:
Розширення для ПК
Також, для більшої зручності можна використовувати розширення для браузера Adguard Home Control Firefox Chrome, яке дозволяє вимикати блокування реклами на певний термін часу:
Перегляд логу запитів
Для того щоб перевірити як все працює і які запити блокуються можна подивитись журнал запитів до DNS. Для цього відкрийте вкладку Query Log:
Тут показуються всі запити які були отримані, також ті, які були заблоковані. Крім того ви можете бачити по якому списку вони були заблоковані.
Також тут можна додати домени які були заблоковані в білий список, в загальному або для певного клієнта. Для цього оберіть потрібний пункт в контекстному меню:
Всі ці правила з'являться в розділі Filters -> Custom Filtering Rules.
Власні правила
Ви можете створювати власні правила блокування чи розблокування доменів. Для цього відкрийте Filters -> Custom Filtering Rules.
Тут підтримується синтаксис файлу /etc/hosts, а також синтаксис списків фільтрації AdBlock. Запис складається з операції та регулярного виразу домену:
- || - заблокувати
- @@|| - розблокувати
Наприклад, для того щоб розблокувати домен та його піддомени, наприклад mediavine.com потрібно додати таку стрічку:
@@||mediavine.com^
Зверніть увагу, що навідмінну від розширення ви розблоковуєте не сайт на якому показується реклама, а домен з якого реклама завантажується.
А для того щоб заблокувати домен, та всі піддомени використовуйте:
@@||google-analytics.com^
Висновки
Тепер ви знаєте як встановити та налаштувати AdGuard Home. Хоч програма не вирішує на 100% всі проблеми з рекламою на ПК, вона однозначно зменшує кількість реклами на смартфонах, а також корисна для тих, хто має домашній сервер і хоче організувати зручний доступ до запущених там сервісів.
Звісно тут ще можна багато чого налаштовувати. Наприклад, можна вказати який DNS сервер буде використовувати сам AdGuard, налаштувати DNS over HTTPS, розгорнути декілька сервісів AdGuard Home для більшої надійності. Але того що показано в статті цілком достатньо щоб подивитись як це все працює і почати блокувати рекламу в локальній мережі.
Proton VPN — це сервіс від творців Proton Mail з надійним шифруванням та політикою нульового зберігання логів. Безпечно користуйтеся інтернетом, обходьте географічні обмеження та захищайте свої дані від стеження. Необмежений трафік, сервери у 120+ країнах та підключення до 10 пристроїв одночасно — для вашого спокою та цифрової свободи. Детальніше
























