AdGuard
AdGuard
AdGuard — семейство продуктов для блокировки рекламы и трекинга: приложения,
браузерные расширения, DNS-сервис и VPN. Работает не внутри браузера, а на
уровне сети — фильтрует трафик всей системы или даже всего дома.
История
AdGuard появился в 2009 году в России как блокировщик рекламы для Windows.
Сооснователь и технический директор — Андрей Мешков, разработчик, который
позже стал одним из самых заметных публичных экспертов по DNS и приватности
(его разборы рекламных SDK и утечек данных регулярно расходятся по
профильным СМИ). Второго сооснователя называть не буду — точно не помню,
найди на официальном сайте в разделе «About».
Какую проблему решали: к концу 2000-х баннерная реклама в рунете стала
агрессивной — попапы, кликандеры, звук без спроса. Браузерные блокировщики
уже существовали (Adblock для Firefox — с 2002 года), но они работали только
внутри одного браузера. Идея AdGuard была в том, чтобы фильтровать трафик
на уровне системы: один раз поставил — чисто везде, включая другие браузеры
и десктопные программы.
Ключевые вехи:
- 2009 — первая версия для Windows.
- 2014–2016 — выход на мобильные платформы: Android (отдельным APK, мимо
Google Play — Google не пускает системные блокировщики в свой магазин)
и iOS (в рамках того, что разрешает Apple). - 2016 — запуск AdGuard DNS, публичного DNS-сервиса с блокировкой
рекламы на уровне резолвинга (разрешения доменных имён). - 2018 — AdGuard Home: self-hosted (запускаемый у себя) DNS-сервер
с фильтрацией, open source, написан на Go. Быстро стал главным конкурентом
Pi-hole. - 2020 — AdGuard VPN как отдельный продукт со своим протоколом.
- 2022 — AdGuard одними из первых в мире внедрил DNS-over-QUIC — свежий
стандарт шифрования DNS (RFC 9250).
Текущий статус: компания Adguard Software Limited, штаб-квартира на Кипре
(Лимасол), команда распределённая. Бизнес-модель — freemium: базовые
расширения и DNS бесплатны, полные приложения и VPN — по подписке или
пожизненной лицензии. Компания заявляет о десятках миллионов пользователей;
точные цифры ищи на adguard.com — независимой верификации таких цифр нет.
Что это такое
AdGuard — это не одна программа, а зонтичный бренд над четырьмя разными
способами резать рекламу и трекинг. Важно их различать, потому что работают
они на разных уровнях и умеют разное.
Браузерное расширение — самый простой уровень. Живёт внутри Chrome или
Firefox, видит запросы страницы и режет их по спискам правил. Ограничено
тем, что разрешает браузер (об этом ниже — история с Manifest V3).
Системное приложение (Windows, macOS, Android, iOS) — главный продукт.
Ставит себя «между» системой и сетью: весь трафик всех программ проходит
через локальный фильтрующий прокси. Может резать рекламу в любом браузере,
в мессенджерах, в играх — везде.
AdGuard DNS и AdGuard Home — фильтрация на уровне DNS. Когда устройство
спрашивает «какой IP у ads.example.com», фильтрующий DNS отвечает «никакого»
— и реклама просто не загружается. AdGuard DNS — облачный сервис (публичные
адреса 94.140.14.14 и 94.140.15.15), AdGuard Home — то же самое, но крутится
у тебя дома на Raspberry Pi или сервере и фильтрует всю домашнюю сеть.
AdGuard VPN — формально соседний продукт: обычный VPN-сервис с выходными
узлами (egress — точка выхода трафика в интернет) в разных странах. Его
особенность — собственный протокол, маскирующийся под обычный HTTPS-трафик,
из-за чего его сложнее детектировать и блокировать, чем классические
OpenVPN или WireGuard. Есть CLI-версия, которая поднимает локальный
SOCKS5-прокси — удобно для скриптов и автоматизации.
Явные пары для различения. AdGuard vs uBlock Origin: uBlock — только
браузерное расширение, бесплатное и open source; AdGuard-приложение работает
на всю систему, но за деньги. AdGuard Home vs Pi-hole: оба — домашние
DNS-фильтры, но AdGuard Home из коробки умеет шифрованный DNS (DoH/DoT/DoQ)
и родительский контроль, а Pi-hole старше и имеет более крупное сообщество.
AdGuard VPN vs обычный VPN: то же назначение, но протокол заточен под
незаметность.
Аналогии из жизни
Секретарь на телефоне. DNS-фильтрация — как секретарь, который принимает
все входящие звонки офиса и просто не соединяет с известными спамерами: у
него есть чёрный список номеров. Работает: ты вообще не слышишь звонка,
нагрузка нулевая. Где ломается: секретарь видит только «кто звонит», но не
слышит разговор. Если спамер звонит с номера, которого нет в списке, — или
если реклама приходит с того же домена, что и полезный контент (реклама
ВКонтакте живёт на серверах ВКонтакте), — секретарь бессилен. Отсюда главный
предел DNS-блокировки: YouTube-рекламу так не вырезать.
Фильтр для воды на входе в квартиру. Системное приложение AdGuard — как
магистральный фильтр: ставится один раз на трубу, и чистая вода идёт во все
краны сразу — в кухню, в ванную, в стиральную машину. Браузерное расширение
— кувшин-фильтр на одном кухонном столе. Работает: одна точка установки —
эффект везде. Где ломается: магистральный фильтр не различает, кому какая
вода нужна. Если какому-то приложению «грязный» трафик нужен для работы
(антивирус со своей телеметрией, банковский клиент с certificate pinning —
жёсткой привязкой к своему сертификату), фильтр придётся точечно отключать,
и настройка исключений — постоянная рутина.
Дегустатор при дворе. Фильтрация HTTPS — как дегустатор, который
пробует каждое блюдо до короля. Чтобы читать зашифрованный трафик, AdGuard
делает то же, что делает mitmproxy: подсовывает системе свой корневой
сертификат и расшифровывает-перешифровывает поток. Работает: видно всё
содержимое, можно вырезать рекламный скрипт из середины страницы. Где
ломается: дегустатор — единая точка доверия и отказа. Если его подкупят
(уязвимость в самом AdGuard), яд попадёт во все блюда сразу. Именно поэтому
банковские приложения с certificate pinning отказываются есть «продегустированное»
— они замечают подмену сертификата и рвут соединение.
Как это работает
Разберём три уровня по отдельности — от простого к сложному.
Уровень 1: DNS. Каждое обращение к сайту начинается с DNS-запроса:
«ads.doubleclick.net — это какой IP?» Фильтрующий резолвер сверяет домен со
списками (у AdGuard DNS в базовом фильтре — сотни тысяч доменов) и для
рекламных отвечает отказом или пустым адресом. Браузер считает, что сервер
недоступен, и страница рендерится без баннера. Дёшево, работает для любых
устройств (умный телевизор, IoT-лампочка), но грануляция грубая — только
целыми доменами.
Уровень 2: сетевой фильтр. Системное приложение встраивается в сетевой
стек: на Windows — через WFP (Windows Filtering Platform, штатный механизм
перехвата трафика), на Android и iOS — через локальный VPN-туннель: система
думает, что подключена к VPN, а «VPN-сервер» — это сам AdGuard на этом же
устройстве, петля через фильтр. Дальше HTTP-трафик разбирается, и к нему
применяются правила.
Уровень 3: правила. Синтаксис правил AdGuard совместим с форматом
Adblock Plus — стандартом де-факто, на котором написаны публичные списки
вроде EasyList (ведётся сообществом с 2005 года). Три главных типа:
||ads.example.com^ — сетевое правило: резать запросы к домену
example.com##.banner — косметическое: скрыть элемент с классом .banner
example.com#%#//scriptlet(…) — скриптлет: внедрить JS, обманывающий антиблокировщик
Сетевые правила не дают запросу уйти. Косметические прячут то, что уже
загрузилось или оставило пустую дырку в вёрстке. Скриптлеты — тяжёлая
артиллерия против сайтов, которые детектируют блокировщик и ноют «отключите
AdBlock»: маленькие JS-заглушки прикидываются рекламным кодом.
HTTPS-фильтрация. Почти весь веб сегодня зашифрован, и чтобы применять
правила к содержимому, AdGuard ставит в системное хранилище свой корневой
сертификат и терминирует TLS на себе: расшифровал → отфильтровал →
зашифровал заново. Это классический локальный MITM (man-in-the-middle,
«человек посередине») — ровно та же механика, что у отладочного инструмента
mitmproxy.
Корневой сертификат — это доверие на максималках
Установив корневой сертификат AdGuard, ты разрешаешь одной программе читать весь свой HTTPS-трафик, включая банки и пароли. Для AdGuard это штатный, публично описанный механизм с локальной обработкой — но понимать, что именно ты подписал, обязательно. И это же объясняет, почему антивирусы и блокировщики так часто конфликтуют: двое «посередине» не помещаются.
Как устроен AdGuard VPN. Классические VPN-протоколы (OpenVPN, WireGuard)
легко распознаются по сигнатурам пакетов — провайдер или файрвол видит «это
VPN» и может резать. Протокол AdGuard VPN маскирует туннель под обычную
HTTPS-сессию: снаружи трафик неотличим от похода на веб-сайт. Внутри CLI-режима
это выглядит так: демон держит туннель до выбранной локации, а приложениям
выставляет локальный SOCKS5-прокси — любой скрипт, умеющий ходить через
прокси, получает чужой выходной IP без глобального перенаправления всей
системы.
Блокировщик и VPN — одна и та же механика с разными целями
И фильтр рекламы, и VPN, и корпоративный DLP, и mitmproxy — это один приём: встать между приложением и сетью. Разница только в намерении: вырезать мусор, сменить точку выхода, следить или отлаживать. Поняв один из этих инструментов, ты понимаешь все четыре.
Где встречается в обычной жизни
- Ставишь блокировщик, и сайт пишет «мы заметили AdBlock, отключите его» —
это сработал детектор блокировщика, а если после обновления фильтров
плашка исчезла — значит, против детектора выкатили скриптлет. - В самолётном Wi-Fi или гостиничной сети реклама вдруг «чинится» — DNS в
чужой сети принудительно свой, и твой фильтрующий резолвер не используется. - Родительский контроль в роутере, который режет «взрослые» сайты, — это та
же DNS-фильтрация, что в AdGuard Home, только со списком другой тематики. - Приложение банка пишет «обнаружен перехват соединения» — сработал
certificate pinning, заметивший корневой сертификат блокировщика или
антивируса. - Умный телевизор показывает рекламу в меню — и владельцы AdGuard Home
вырезают её на уровне домашнего DNS, потому что на сам телевизор ничего
не поставить.
Где встречается в IT и бизнесе
- Парсинг и автоматизация. VPN с SOCKS5-режимом — готовый способ дать
скрипту чужой выходной IP, когда твой адрес попал под WAF (Web Application
Firewall — файрвол уровня приложений) целевого сайта. Нужно, когда объём
запросов легитимный, но защита сайта груба и режет по IP. - Маркетинг и веб-аналитика. Блокировщики — системная погрешность всех
метрик: заметная доля аудитории не видна счётчикам, потому что запросы к
ним отфильтрованы. Нужно понимать, когда сверяешь цифры рекламной
площадки со своей аналитикой — расхождение отчасти объясняется именно этим. - Корпоративная гигиена. AdGuard Home в офисной сети — дешёвый способ
разом отрезать всем сотрудникам фишинговые и мусорные домены, без агентов
на каждой машине. - Разработка. Фильтрующий прокси с расшифровкой HTTPS — способ увидеть,
куда на самом деле стучится приложение: какие SDK, какие трекеры, какая
телеметрия. Команда AdGuard сама регулярно публикует такие расследования. - Медиабизнес. Для издателей блокировщики — прямой минус к выручке;
отсюда индустрия anti-adblock-скриптов, «мягких» просьб отключить и
программ типа Acceptable Ads.
Кто пользуется
- Сама компания заявляет о десятках миллионов установок по всем продуктам;
независимого аудита цифр нет. - AdGuard Home — один из самых популярных self-hosted-проектов вообще:
на GitHub (AdguardTeam/AdGuardHome) у него десятки тысяч звёзд, он входит
в стандартный набор «домашнего сервера» рядом с Home Assistant и Nextcloud. - AdGuard DNS обрабатывает миллиарды DNS-запросов в сутки (порядок
оценивается по публичным отчётам компании; точные цифры смотри в их блоге). - Роутерные прошивки (OpenWrt, Keenetic) и NAS-платформы предлагают AdGuard
Home как встроенный пакет — это косвенный признак массовости. - Для сравнения масштаба ниши: у браузерного uBlock Origin только в Chrome
Web Store было свыше 30 миллионов пользователей до истории с Manifest V3.
Альтернативы и конкуренты
- uBlock Origin.
Плюсы: бесплатный, open source, эталонная эффективность в браузере, минимум ресурсов.
Минусы: только браузер; в Chrome урезан переходом на Manifest V3 (лимиты на правила), полноценно живёт в Firefox. - Pi-hole.
Плюсы: старейший домашний DNS-фильтр, огромное сообщество, гибкость.
Минусы: только DNS-уровень (ни косметики, ни скриптлетов), шифрованный DNS и некоторые удобства требуют ручной доводки. - NextDNS.
Плюсы: облачный фильтрующий DNS с личным кабинетом, ничего не надо хостить, тонкая настройка списков.
Минусы: подписка после бесплатного лимита; трафик резолвинга уходит третьей стороне — вопрос доверия. - Brave.
Плюсы: блокировка встроена в сам браузер, ничего ставить не надо.
Минусы: привязан к своему браузеру; собственная крипто-рекламная экосистема нравится не всем.
Когда НЕ стоит использовать
- Когда сайт живёт с рекламы и ты хочешь его поддержать — потому что
блокировщик режет выручку издателя напрямую; честнее внести сайт в белый
список или оформить подписку. - HTTPS-фильтрацию — на машине с чувствительной работой (бухгалтерия,
админ-доступы) без ясного понимания рисков — потому что корневой
сертификат в хранилище означает, что одна программа технически видит весь
расшифрованный трафик, и её компрометация равна компрометации всего. - Для обхода блокировок как единственную опору в проде — потому что
сторонний VPN-сервис — это чужая инфраструктура без SLA (гарантий уровня
сервиса): его control-серверы могут не отвечать, локации — отваливаться,
а частые переподключения — упереться в рейтлимит. Для критичных пайплайнов
нужен свой резервный канал.
Связанные понятия
- DNS — «телефонная книга интернета», превращающая имена доменов в IP-адреса; уровень, на котором работает половина продуктов AdGuard.
- DoH / DoT / DoQ — DNS поверх HTTPS, TLS и QUIC: три способа шифровать DNS-запросы, чтобы их не читал и не подменял провайдер.
- MITM-прокси — перехват трафика «посередине» с расшифровкой TLS; механика HTTPS-фильтрации AdGuard и инструмента mitmproxy.
- Certificate pinning — жёсткая привязка приложения к конкретному сертификату сервера; главный враг любой HTTPS-фильтрации.
- WAF — файрвол уровня веб-приложения, который среди прочего банит подозрительные IP; причина, по которой парсерам нужны чужие выходные адреса.
- EasyList — главный публичный список фильтров, на котором стоят почти все блокировщики; ведётся сообществом с 2005 года.
Литература и источники
- AdGuard Knowledge Base — официальная база знаний: как устроена фильтрация,
синтаксис правил, HTTPS-фильтрация (adguard.com, раздел Knowledge Base, en/ru). - Репозиторий AdGuard Home на GitHub — github.com/AdguardTeam/AdGuardHome:
код, документация, сравнение с Pi-hole (en). - Блог AdGuard (adguard.com/blog) — расследования Андрея Мешкова про
трекеры и рекламные SDK; полезно для понимания индустрии (en/ru). - RFC 9250 «DNS over Dedicated QUIC Connections» (2022) — спецификация DoQ,
которую AdGuard внедрял одним из первых (rfc-editor.org, en). - Статья «Ad blocking» в английской Wikipedia — обзор индустрии блокировки,
история EasyList и войн с издателями (en). - Про Manifest V3 и судьбу браузерных блокировщиков — искать в Google по
запросу «Manifest V3 ad blockers impact» (материалы EFF и Ars Technica, en).
Где встретилось у меня
Вчера собирал каталог новостроек одного региона с крупного классифайда —
прямой IP машины оказался под блоком их WAF, и весь сбор пошёл через
AdGuard VPN в режиме локального прокси с перебором локаций. К вечеру
control-серверы AdGuard перестали отвечать на запрос списка локаций —
похоже, рейтлимит после десятков переподключений за день тестов ротатора.
Живая иллюстрация пункта «чужая инфраструктура без SLA».
Краткое резюме
- AdGuard — зонтичный бренд из четырёх инструментов: браузерное расширение,
системный блокировщик, DNS-фильтр (облачный и домашний) и VPN. Начался в
2009 году в России, сейчас — кипрская Adguard Software Limited. - Три уровня фильтрации: DNS (дёшево, но грубо — целыми доменами), сетевой
прокси (вся система), правила и скриптлеты (тонкая резка внутри страниц). - Фильтрация HTTPS — это локальный MITM со своим корневым сертификатом:
мощно, но требует полного доверия к программе. - AdGuard Home — один из самых популярных self-hosted-проектов, домашний
DNS-фильтр на всю сеть; главный конкурент — Pi-hole. - AdGuard VPN маскирует туннель под обычный HTTPS и умеет отдавать локальный
SOCKS5-прокси — удобно для автоматизации, но помни: это чужая
инфраструктура без гарантий.