
ublockdnsclient v0.3.1
Кроссплатформенный системный DNS-клиент для uBlockDNS с блокировкой рекламы и трекеров на уровне всего устройства и обновлением фильтров в реальном времени.
Клиент uBlockDNS
Клиент uBlockDNS — это независимый проект и не связан, не одобрен и не имеет отношения к uBlock Origin или его сопровождающему.
Клиент uBlockDNS обеспечивает блокировку рекламы и трекеров на уровне DNS для всего вашего устройства. Он использует поддерживаемые сообществом списки фильтров, такие как EasyList и EasyPrivacy, применяемые на уровне DNS, поэтому приложения, браузеры и фоновые службы охвачены без расширений для каждого браузера.
Веб-сайт: ublockdns.com
Клиент uBlockDNS предназначен для настольных и серверных сред, где вам нужна одна точка установки, защита на уровне всей системы и удалённая настройка через панель управления uBlockDNS.
Основные возможности
- Системная DNS-фильтрация для браузеров, приложений и фонового трафика
- Зашифрованное восходящее соединение DNS-over-HTTPS со службой uBlockDNS
- Обновление списков фильтров и пользовательских правил в реальном времени из вашей панели управления
- Локальная модель службы с проверками состояния и командами управления службой
- Кроссплатформенная поддержка macOS, Linux, Windows 10+ и FreeBSD
Установка
Создайте бесплатную учётную запись на ublockdns.com, затем следуйте руководству по настройке в вашей панели управления. Руководство охватывает все поддерживаемые платформы с командами для копирования и вставки и пошаговыми инструкциями.
Быстрая установка для macOS и Linux:
curl -sSfL https://ublockdns.com/install.sh | sh -s -- <profile-id>
Используйте -L, чтобы curl следовал за редиректами Cloudflare на размещённом установочном скрипте.
Во время установки вам может быть предложено ввести пароль администратора Mac или Linux для обновления системных DNS-настроек.
Проверка контрольной суммы установочного скрипта (Linux):
curl -sSfLO https://ublockdns.com/install.sh
curl -sSfLO https://github.com/ugzv/ublockdnsclient/releases/latest/download/SCRIPT_SHA256SUMS
grep " install.sh$" SCRIPT_SHA256SUMS | sha256sum -c -
sh install.sh <profile-id>
Windows 10 или новее (PowerShell от имени администратора):
irm https://ublockdns.com/install?id=<profile-id> | iex
Панель управления использует этот процесс начальной загрузки. Он загружает установщик из /install-script, что позволяет избежать проблем с редиректами Cloudflare, которые могут нарушить прямые загрузки /install.ps1.
Опубликованные установщики и двоичные файлы для Windows требуют Windows 10 или новее. Windows 7, Windows 8 и Windows 8.1 не поддерживаются.
Проверка контрольной суммы установочного скрипта (PowerShell):
iwr https://ublockdns.com/install-script -OutFile install.ps1
iwr https://github.com/ugzv/ublockdnsclient/releases/latest/download/SCRIPT_SHA256SUMS -OutFile SCRIPT_SHA256SUMS
$expected = (Select-String -Path .\SCRIPT_SHA256SUMS -Pattern " install.ps1$").Line.Split()[0].ToLower()
$actual = (Get-FileHash .\install.ps1 -Algorithm SHA256).Hash.ToLower()
if ($actual -ne $expected) { throw "install.ps1 checksum mismatch" }
powershell -ExecutionPolicy Bypass -File .\install.ps1 -ProfileId <profile-id>
Графический установщик для Windows (.exe) также доступен на странице релизов.
Обновление
Служба обновляет себя ежедневно; релизы проверяются на подпись ключом uBlockDNS перед применением. Установите UBLOCKDNS_NO_AUTOUPDATE=1 в окружении службы, чтобы отказаться от автоматических обновлений, или обновитесь вручную с помощью sudo ublockdns upgrade.
Автоматические обновления применяются на macOS, Windows и Linux. На FreeBSD rc.d не перезапускает службу, которая завершает работу, поэтому клиент там не обновляется самостоятельно; используйте sudo ublockdns upgrade. Клиент записывает в журнал, в каком режиме он работает, при запуске.
Старые версии без команды upgrade: повторно выполните команду установки один раз, и автоматические обновления вступят в силу.
Удаление
macOS и Linux:
sudo ublockdns uninstall
Windows (PowerShell от имени администратора):
& "$env:ProgramFiles\uBlockDNS\ublockdns.exe" uninstall
Ведущий символ & обязателен. Без него PowerShell воспринимает путь в кавычках как обычную строку и сообщает Unexpected token 'uninstall'.
Удаление останавливает службу и восстанавливает ваши предыдущие DNS-настройки. Двоичный файл остаётся на диске; удалите его вручную, если он больше не нужен. После этого выполните ublockdns status, чтобы убедиться, что системный DNS больше не указывает на 127.0.0.1.
Другие платформы
Руководство по настройке в панели управления также охватывает Chrome, Firefox, iOS, Android и маршрутизаторы. Они используют DNS-over-HTTPS напрямую и не требуют этого клиента.
Поддерживаемые архитектуры
linux/amd64, linux/arm64, linux/armv7, darwin/amd64, darwin/arm64, windows/amd64, windows/arm64, freebsd/amd64
Использование
ublockdns install -profile <profile-id> Установить как системную службу
ublockdns uninstall Удалить службу и восстановить DNS
ublockdns start Запустить службу
ublockdns stop Остановить службу
ublockdns status Показать состояние службы и сведения о готовности
ublockdns status -json Показать машиночитаемый статус с ready_code и probe_error
ublockdns wait-ready -timeout 45s Ждать, пока служба и DNS не станут активными
ublockdns wait-ready -timeout 45s -json Выдать машиночитаемое состояние готовности для автоматизации
ublockdns upgrade Обновить до последнего релиза и перезапустить службу
ublockdns version Вывести версию
Управляйте своими списками фильтров, пользовательскими правилами и журналом запросов из панели управления. Интерфейс командной строки намеренно узкий: установите локальную службу, проверьте её работоспособность и позвольте панели управления обрабатывать изменения политик.
Как это работает
Клиент запускает локальный DNS-прокси на 127.0.0.1:53 и, если доступен IPv6, на [::1]:53. Он пересылает все запросы в службу uBlockDNS через зашифрованный DNS-over-HTTPS. Служба оценивает каждый запрос по спискам фильтров и пользовательским правилам, включённым для вашего профиля, а затем возвращает либо обычный DNS-ответ, либо ответ с блокировкой.
Когда вы обновляете списки фильтров или пользовательские правила в панели управления, клиент получает эти изменения в реальном времени и автоматически очищает локальный DNS-кэш, чтобы новые решения вступали в силу быстро.
Сборка из исходного кода
Требуется Go 1.25 или новее.
go build -o ublockdns .
sudo ./ublockdns install -profile <profile-id>
Обратная связь и проблемы
Нашли ошибку или есть предложение? Откройте вопрос.
При проблемах с блокировкой (реклама проходит или сайт ошибочно заблокирован) сначала проверьте, какие списки фильтров включены в вашей панели управления. uBlockDNS использует списки, поддерживаемые сообществом, и не контролирует их содержимое.
Безопасность
Сообщайте об уязвимостях безопасности конфиденциально через GitHub Security Advisories. Не открывайте публичные вопросы по проблемам безопасности.
Подробнее о модели доверия, прозрачности разработки и текущем статусе аудита см. в SECURITY.md.
Лицензия
MIT