AntiZapret-Core — это инструмент для расширенного управления сетевой маршрутизацией и DNS на стороне сервера. Он позволяет автоматизировать процесс перенаправления трафика для определенных списков ресурсов и настраивать избирательное проксирование через систему подменных IP-адресов.
- Гибкая настройка DNS: Использование Knot Resolver с поддержкой RPZ (Response Policy Zones) и различными апстрим-резолверами.
- Сетевая фильтрация: Защита от рекламы, трекеров и вредоносного ПО на уровне DNS.
- Поддержка IPv6: Полная поддержка протокола IPv6 как для DNS-запросов, так и для маршрутизации трафика.
- Агрегация маршрутов: Автоматическое сжатие списков IP-адресов (по умолчанию до 300 маршрутов) для обеспечения совместимости с аппаратными роутерами и повышения производительности.
- Защита сервера: Встроенные механизмы защиты от brute-force атак на SSH и защиты от сетевого сканирования.
- Удобная конфигурация: Управление списками ресурсов через локальные файлы или внешние источники по ссылкам.
Рекомендуется для выделенных серверов (VPS) на базе дистрибутивов Debian или Ubuntu.
Требования:
- ОС: Debian 11/12 или Ubuntu 22.04/24.04.
- Виртуализация: KVM, VMware или физический сервер (OpenVZ/LXC не поддерживаются).
- Минимум 2 ГБ свободного места.
Команда для установки:
bash <(wget -qO- --no-hsts --inet4-only https://raw.githubusercontent.com/UtyaDev/AntiZapret-Core/main/setup.sh)Скрипт предложит выбрать DNS-резолверы и задать параметры конфигурации. После установки сервер перезагрузится.
Универсальный способ запуска в изолированной среде с поддержкой автоматического обновления образа.
Подготовка: Создайте директорию и загрузите конфигурацию:
mkdir -p /root/antizapret && cd /root/antizapret
wget https://raw.githubusercontent.com/UtyaDev/AntiZapret-Core/main/docker-compose.ymlЗапуск:
docker compose up -dДля тех, кто хочет самостоятельно собрать образ или внести изменения в код.
Инструкция:
- Клонируйте репозиторий:
git clone https://github.com/UtyaDev/AntiZapret-Core.git cd AntiZapret-Core - Соберите и запустите проект:
docker compose up -d --build
Параметры управления системой (через переменные окружения в docker-compose.yml или в файле /root/antizapret/setup при нативной установке):
| Переменная | Значение | Описание |
|---|---|---|
ANTIZAPRET_DNS |
1-6 |
Выбор апстрим DNS: 1 — Cloudflare+Quad9+MSK-IX+SkyDNS, 2 — SkyDNS, 3 — Cloudflare+Quad9, 4 — Comss, 5 — XBox, 6 — Malw. |
ALTERNATIVE_IP |
y/n |
Использовать диапазон 172.77.77.77 вместо 10.77.77.77 для DNS. |
ALTERNATIVE_FAKE_IP |
y/n |
Использовать диапазон 198.18.0.0/15 для подменных адресов (рекомендуется y). |
SSH_PROTECTION |
y/n |
Защита от brute-force атак на SSH (нативно). |
ATTACK_PROTECTION |
y/n |
Защита от сетевых атак и сканирования. |
ROUTE_AGGREGATION_LIMIT |
число |
Лимит количества маршрутов (по умолчанию 500). 0 для отключения. |
CLEAR_HOSTS |
y/n |
Очистка доменов от азартных игр и букмекеров при генерации списков. |
Для работы сетевых функций контейнер требует расширенных прав:
network_mode: host— обязателен для управления сетевым стеком хоста.privileged: true— необходим для загрузки модулей ядра и изменения параметровsysctl.- Тома (Volumes):
./config— пользовательские списки и источники../result— файлы с результатами генерации правил.
Конфигурация ресурсов разделена на ручную и автоматическую (через источники). Все файлы конфигурации находятся в директории config/.
Добавляйте домены или IP-адреса непосредственно в текстовые файлы:
include-hosts.txt: Домены для проксирования.exclude-hosts.txt: Домены-исключения.include-ips.txt: IP-адреса/подсети для проксирования.exclude-ips.txt: IP-адреса-исключения.allow-ips.txt: IP-адреса, которым разрешено сканирование (белый список дляATTACK_PROTECTION).rpz.txt: Пользовательские записи для Knot Resolver (формат RPZ).
Файлы в этой директории имеют те же названия, что и в manual/, но должны содержать ссылки (URL) на внешние списки. Система будет автоматически скачивать и объединять их.
Для обновления списков и правил выполните:
- Нативно:
/root/antizapret/doall.sh - Docker:
docker exec antizapret /root/antizapret/doall.sh
AntiZapret-Core автоматически объединяет мелкие подсети в более крупные, чтобы итоговое количество маршрутов не превышало заданный лимит (параметр ROUTE_AGGREGATION_LIMIT, по умолчанию 500).
Чтобы отключить агрегацию, установите значение 0. В этом случае все маршруты будут переданы как есть.
Проект базируется на наработках следующих авторов:
- GubernievS/AntiZapret-VPN — за оригинальную реализацию и логику работы.
- xtrime-ru/antizapret-vpn-docker — за помощь с Docker-реализацией.