- The syntax gate skipped zapret2/scripts/lifecycle entirely, so a broken purge script would have shipped and surfaced on-device during an irreversible operation. - Two custom Lua files were validated by CI as shipped but were missing from the runtime manifest, so they could never reach a device. - Release qualification runs the policy tests with --rerun-tasks: they read repository files directly rather than through declared task inputs, so a cached run could report green without checking anything. - The committed update.json advertised an asset name no release publishes. - The two MD3E documents describe an app from 2.0.9 whose classes and tests no longer exist; they now say so and point at the current architecture document, which the docs index now links. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
19 KiB
Zapret2 для Android
Root-модуль для Magisk, KernelSU и APatch, предназначенный для обхода некоторых
видов DPI-блокировок и замедления трафика на Android. Внутри используется
nfqws2 с Lua-стратегиями, а приложение
Zapret2 Control позволяет управлять модулем без терминала.
Important
Zapret2 — не VPN. Он не меняет ваш IP-адрес, не скрывает трафик от провайдера и не добавляет шифрование. Модуль изменяет отдельные сетевые пакеты так, чтобы затруднить их распознавание DPI. Результат зависит от сети, провайдера и выбранной стратегии.
Что понадобится
- Android 7.0 или новее;
- устройство с процессором ARM или ARM64;
- Magisk 20.4+, KernelSU или APatch с рабочим root-доступом;
- ядро с поддержкой
iptablesиNFQUEUE; - приложение Zapret2 Control — необязательно, но рекомендуется.
Сборок для x86 и x86_64 нет.
Модуль обрабатывает трафик самого телефона. Обход для устройств, подключённых к его точке доступа, не поддерживается.
Установка
1. Скачайте файлы
Откройте страницу последнего релиза и скачайте:
zapret2-magisk-v*.zip— универсальный root-модуль (историческое имя файла);zapret2-control-v*.apk— приложение для управления;- файлы
.sha256— если хотите вручную проверить контрольные суммы.
Не распаковывайте ZIP.
2. Установите модуль
- Откройте Magisk, KernelSU Manager или APatch Manager.
- Перейдите в Модули → Установить из хранилища.
- Выберите
zapret2-magisk-v*.zip. - Дождитесь завершения установки и перезагрузите устройство.
Устанавливайте ZIP только из работающей системы через root-менеджер. Прошивка через TWRP или другое recovery не поддерживается ни одним из трёх режимов.
Для KernelSU 3.x заранее установите metamodule, если нужны команды
zapret2-* в /system/bin или системный hosts-оверлей: KernelSU делегирует
монтирование каталога system/ metamodule. Сам сервис, приложение и
iptables/NFQUEUE не зависят от подмены файлов /system.
3. Установите приложение
- Откройте
zapret2-control-v*.apk. - При необходимости разрешите установку из этого источника.
- Запустите Zapret2 Control и предоставьте ему root-доступ через активный root-менеджер.
Приложение необязательно: модуль может работать самостоятельно и запускаться при загрузке Android.
Первый запуск
- Откройте в приложении раздел Управление.
- Убедитесь, что root-доступ и модуль определены, а служба запущена.
- Проверьте нужный сайт или приложение.
- Если обход не работает, выберите другой готовый набор в разделе Наборы.
По умолчанию используется Default v1 (game filter).txt. Универсальной
стратегии для всех провайдеров нет, поэтому иногда нужно попробовать несколько
вариантов.
Для QUIC/HTTP3 может понадобиться отдельная UDP-стратегия. Если сервис работает нестабильно, временное отключение QUIC в нём или браузере также поможет понять, связан ли сбой с UDP.
Наборы, профили и стратегии
- Набор — полный TXT-файл с конфигурацией запуска.
- Профиль — часть набора для определённого трафика или сервиса.
- Стратегия — последовательность действий
nfqws2, применяемая внутри профиля. --skip— отключает профиль, не удаляя его.
Обычный порядок настройки:
- Выберите готовый вариант в разделе Наборы.
- Если нужна точная настройка, откройте Профили.
- Выберите другую стратегию для нужного профиля или отключите ненужный профиль.
- Сохраните изменения — приложение проверит конфигурацию и применит её через перезапуск службы.
В редакторе набора можно посмотреть итоговые аргументы запуска до сохранения.
Некорректные или неподдерживаемые параметры отклоняются до запуска nfqws2.
Подробный формат описан в
PRESET_PROFILE_STRATEGY_CONTRACT_RU.md.
Возможности приложения
| Раздел | Что в нём находится |
|---|---|
| Управление | Состояние модуля и службы, запуск, остановка, автозапуск, обновления и восстановление |
| Профили | Включение профилей и выбор стратегий |
| Наборы | Выбор и редактирование полных TXT-конфигураций |
| Списки хостов | Просмотр, импорт и редактирование списков |
| Редактор хостов | Управление системным hosts-оверлеем |
| Управление DNS | Выбор DNS-набора и служб |
| Журналы | Логи и диагностические данные |
| О приложении | Версии, ссылки и сведения о лицензии |
Обновление
Через Zapret2 Control
- Откройте Управление → Проверить обновления.
- Просмотрите версию и состав обновления.
- Нажмите Обновить.
- Подтвердите установку APK в системном установщике, если он откроется.
- Перезагрузите устройство, если обновлялся root-модуль.
Приложение проверяет контрольные суммы, подпись APK и структуру ZIP до установки.
Для установки оно автоматически выбирает официальный backend активной среды:
magisk --install-module, ksud module install или apd module install.
Новая версия сначала помещается в /data/adb/modules_update/zapret2 и
становится активной только после перезагрузки.
Вручную
Скачайте новый релиз, установите ZIP через свой root-менеджер, APK — поверх текущего приложения, затем перезагрузите устройство.
Warning
Обновление модуля устанавливает чистое содержимое нового релиза. Изменённые настройки, пользовательские наборы, списки хостов и Lua-файлы из текущей установки автоматически не переносятся. Сохраните нужные данные заранее.
Подробнее об обновлении, восстановлении и удалении:
USER_OPERATIONS_RU.md.
Если обход не работает
Проверяйте по порядку:
- В разделе Управление убедитесь, что служба запущена без ошибок.
- Попробуйте другой готовый набор.
- Проверьте, что нужный профиль не отключён через
--skip. - Для QUIC/HTTP3 попробуйте набор с UDP-стратегией.
- Временно отключите AdGuard, NetGuard, AFWall+ и другие программы, которые изменяют firewall или перенаправляют трафик.
- Сравните работу через Wi-Fi и мобильную сеть: у них могут быть разные DPI и подходящие стратегии.
- Откройте Журналы, сохраните диагностику и приложите её к сообщению об ошибке.
Служба не запускается
Чаще всего причина — отсутствие обязательных возможностей ядра или firewall.
Для IPv4 нужны iptables, iptables-restore, NFQUEUE с --queue-bypass, а
также модули multiport и mark. Поддержка connbytes желательна, но не
обязательна. Если IPv6-бэкенд недоступен, IPv6-трафик не перехватывается.
Точный порядок проверки устройства описан в
tests/device/README.md.
Интернет стал медленнее
Отключите ненужные профили через --skip и оставьте только те TCP/UDP-фильтры,
которые действительно нужны. Затем перезапустите службу и проверьте ещё раз.
Команды терминала
Для ручного управления из Termux или adb shell:
# Состояние
su -c zapret2-status
# Запуск
su -c zapret2-start
# Остановка
su -c zapret2-stop
# Перезапуск
su -c zapret2-restart
# Журнал Android
su -c "logcat -s Zapret2"
На KernelSU команды zapret2-* требуют metamodule, который монтирует
system/. Без него используйте Zapret2 Control или запускайте скрипты из
каталога модуля.
Совместимость root-менеджеров
Архитектура следует общему контракту трёх проектов:
- module scripts получают свой корень через
MODDIR=${0%/*}; - installer использует переданный root-менеджером
MODPATH; - активная и ожидающая перезагрузки генерации находятся соответственно в
/data/adb/modules/zapret2и/data/adb/modules_update/zapret2; - встроенное обновление выбирает installer backend, а не изменяет активное дерево самостоятельно.
Это соответствует официальным руководствам Magisk, KernelSU и APatch.
Другие root-менеджеры могут оказаться ZIP-совместимыми, но не заявлены как
поддерживаемые, пока у них нет проверенного installer API и совместимого
контракта modules/modules_update.
Как это работает
iptablesнаправляет подходящие TCP/UDP-пакеты в очередьNFQUEUE.nfqws2получает их в пользовательском пространстве.- Lua-стратегия изменяет порядок, разбиение или содержимое отдельных пакетов.
- Пакеты возвращаются в сетевой стек Android и отправляются напрямую, без стороннего VPN-сервера.
Перехватываются только порты, которые нужны включённым профилям активного набора.
Каждая релизная сборка получает последний стабильный релиз исходного
bol-van/zapret2, проверяет архив и
контрольные суммы, а затем записывает точную версию исходного кода в пакет.
Частые вопросы
Работает ли Zapret2 в любой сети?
Нет гарантии. Результат зависит от провайдера, используемого DPI, протокола и стратегии. Один набор может работать в мобильной сети и не работать через Wi-Fi.
Скрывает ли модуль мой IP-адрес?
Нет. Соединение идёт напрямую к сайту, поэтому ваш обычный публичный IP-адрес не меняется.
Шифрует ли Zapret2 трафик?
Нет. Шифрование определяется самим приложением или протоколом, например HTTPS. Zapret2 не создаёт дополнительный зашифрованный туннель.
Работает ли он вместе с VPN или сетевым фильтром?
Иногда, но совместимость не гарантируется. VPN, блокировщики рекламы и firewall- приложения могут использовать те же сетевые таблицы и конфликтовать с модулем.
Где получить подробную диагностику?
В разделе Журналы приложения или с помощью zapret2-status. Расширенные
эксплуатационные инструкции находятся в
USER_OPERATIONS_RU.md, включая раздел «Модуль не
запускается и не останавливается». Устройство модуля и принципы, по которым он
принимает решения, описаны в ARCHITECTURE_2_2.md.
Благодарности
- bol-van/zapret2 — исходный проект,
nfqws2и Lua-стратегии; - участникам сообщества — за тестирование наборов и устройств.
Лицензия
Материалы, на которые правообладатели проекта вправе выдать лицензию,
распространяются строго на условиях
GNU Affero General Public License v3 (AGPL-3.0-only).
Покрываемые производные нельзя распространять под закрытой или иной
несовместимой лицензией; для них должны выполняться требования AGPL о доступе
к соответствующему исходному коду.
Сторонние компоненты, включая загружаемые материалы bol-van/zapret2, не
перелицензируются этим проектом. Точная область действия лицензии и правила
использования товарных знаков описаны в
политике лицензирования.