Как я написал системный AdBlock для Windows, который блокирует рекламу на уровне DNS
Устали от рекламы казино перед началом любимого сериала? Я тоже. Особенно раздражает, когда она появляется не в браузере, а в стороннем приложении или даже в лаунчере игр. Так появился JxIteraBlock — мой собственный блокировщик рекламы, который работает не через расширение, а на уровне всей системы.
Зачем вообще писать свой AdBlock?
Раньше я пользовался классическими решениями — uBlock Origin, AdGuard, Pi-hole. Но столкнулся с рядом ограничений:
Браузерные блокировщики не работают в мессенджерах, играх и лаунчерах.
Pi-hole требует отдельного устройства (или виртуалки).
Установка и настройка AdGuard требует регистрации и не всегда предсказуема.
Хотелось чего-то:
локального (без зависимости от внешнего сервиса),
простого (включил — и забыл),
гибкого (возможность белого/чёрного списка),
действительно системного — чтобы реклама вообще не доходила до приложений.
Так появился JxIteraBlock.

Как работает JxIteraBlock
В основе лежит простой, но эффективный подход — блокировка DNS-запросов. Когда приложение пытается обратиться к рекламному домену (например, ads.example.com
), JxIteraBlock перехватывает этот запрос и возвращает пустой ответ или локальный IP.
📌 Это значит:
реклама не загружается вообще (в отличие от скрытия средствами CSS);
работает во всех приложениях: браузерах, Telegram, Steam, Discord и даже некоторых играх;
не зависит от расширений и обходов анти-AdBlock скриптов.
Технически программа реализована как локальный DNS-прокси:
При запуске система перенастраивается на использование
127.0.0.1
как DNS-сервера.JxIteraBlock обрабатывает DNS-запросы, сравнивает их с правилами и решает — пропускать или блокировать.
Базовые фильтры совместимы с EasyList, но есть и собственные наборы.
Что уже реализовано
✅ DNS-фильтрация рекламы и трекеров
Работает по аналогии с Pi-hole, но без необходимости в отдельном устройстве. Устанавливается и запускается на самой Windows-системе.
✅ Встроенный белый и чёрный список
Можно вручную разрешить домен или, наоборот, заблокировать то, что пропущено в основных фильтрах.
✅ Фоновый режим
Программа сворачивается в трей и не требует постоянного внимания.
✅ Обновляемые списки блокировки
Фильтры регулярно скачиваются с сервера и обновляются автоматически.
✅ Обход блокировок провайдера
JxIteraBlock может использовать внешние "чистые" DNS (например, 1.1.1.1
, 8.8.8.8
), тем самым открывая доступ к заблокированным сайтам.

Для кого это
Геймеры — убираем рекламу в лаунчерах и игровых клиентах.
Родители — защита детей от сомнительного контента в приложениях.
Разработчики и технические специалисты — оценят приватность и скорость.
Обычные пользователи, уставшие от рекламы даже вне браузера.
Планы на будущее
✍️ Граф статистики заблокированных запросов (в реальном времени).
🌍 Поддержка пользовательских DNS-серверов по списку.
💬 Уведомления при блокировке неизвестного домена (по желанию).
🔄 Возможность создания и публикации своих списков блокировки.
Почему решил поделиться
Сначала это был просто pet-проект для себя. Но потом, дав программу друзьям, получил удивительно положительный фидбэк. Люди не верили, что она действительно блокирует рекламу в Discord, Skype и Steam одновременно.
Решил оформить и выложить, чтобы протестировать гипотезу: можно ли сделать простой, но эффективный системный AdBlock без лишнего.
Если интересно, могу опубликовать технические подробности архитектуры (как работает DNS-перехват, какие списки парсит, как реализована фильтрация и обновления).
Где скачать
Программа доступна для Windows 10/11: 👉 Скачать JxIteraBlock (v0.0.9) [🔒 Безопасно, без телеметрии, без скрытых функций]
Если интересно — пишите в комментариях, с радостью отвечу на вопросы, поделюсь опытом и бэклогом.
P.S.
Да, я в курсе, что Pi-hole уже «всё умеет». Но у него нет GUI, не работает без отдельной машины и не очень дружелюбен для обычного пользователя. JxIteraBlock — попытка сделать Pi-hole внутри Windows — в один клик, с треем и автоматикой.