Zapret KVN 0.2.12
Zapret KVN 0.2.12
- Канал: stable
- Android package: io.github.zapretkvn.android
- APK: отдельные arm64-v8a, armeabi-v7a и x86_64
- Core tag:
v1.13.14-extended-2.5.2 - Core commit:
ff11f007ec798136a5de258f947a4f34011a37ea - Core patch SHA-256:
9f51f588bea76b108509359bec825c22d8d68f6f78b68cf191cf1f512bda22e8 - Signing certificate SHA-256:
f718835f014c8c4bfdcb281483eb9aea0d33cf705f7f1399545821b164f58898 - arm64-v8a APK SHA-256:
d4d29352f9150060e8d9e556bcf9a7018d24b723200ab155a5aaa0fb1eaef501 - armeabi-v7a APK SHA-256:
5faea008042706119bcf10de29f760cbbf7c8a6574da3dcd32c2800216c5ac36 - x86_64 APK SHA-256:
d433a310e623eac064b111efa8bbb95a577c574a11ace4fdd2df899700cf2ff5
Что изменилось
- Восстановлено обнаружение приложений на OEM-прошивках с урезанными ответами PackageManager: каталог использует последовательные fallback-источники и объединяет результаты без дублей.
- В выборе VPN scope теперь видны отключённые системные приложения, которые Android всё ещё разрешает включать в per-app маршрутизацию.
- Рекомендуемые системные приложения по умолчанию включаются в VPN scope, а пользовательские исключения сохраняются.
- При сбое обнаружения приложений интерфейс показывает исходную причину ошибки вместо общего сообщения без диагностических деталей.
- Исправлен импорт стандартных VLESS XHTTP URI: параметр
extraразбирается как URL-кодированный JSON по XTLS, а не как Base64. - XTLS XHTTP options явно преобразуются в схему закреплённого sing-box-extended; неизвестные поля завершают импорт ошибкой вместо незаметной потери настроек.
- Добавлена нативная плитка Zapret KVN для быстрых настроек Android: она запускает и останавливает VPN с выбранным профилем и показывает текущее состояние подключения.
- Если профиль не выбран или Android ещё не выдал VPN/notification permission, плитка открывает приложение для штатного системного запроса.
- Текстовый файл и буфер обмена теперь импортируют все найденные URI поддерживаемых протоколов, а не только первую подходящую строку.
- В одном импорте можно смешивать VLESS, VMess, Trojan, Shadowsocks, Hysteria2 и TUIC.
- Подписи, маркеры списка, Markdown-обёртки, Telegram-ссылки и несколько конфигов в одной строке не мешают обнаружению.
- Все элементы многоэлементного Android-буфера объединяются перед разбором.
- Неподдерживаемая конфигурационная URI-схема останавливает импорт явной ошибкой, чтобы частичный результат нельзя было принять за полный.
- Расширен управляемый пул защищённых DNS-серверов для более устойчивого разрешения имён при недоступности отдельных провайдеров.
- Явный отказ пользователя в системном запросе доступа к VPN теперь распознаётся отдельно и сопровождается понятной диагностикой.
- Переключение сервера использует отдельный короткоживущий command client sing-box, чтобы гонка с подпиской selector-групп не пересоздавала TUN без необходимости.
- Выбор MTU в настройках скрытия VPN теперь полностью виден и доступен на узких экранах без горизонтального прокручивания.
- Обновлены публичная документация и Windows-сценарий сбора доказательств поведения VPN в режиме максимального энергосбережения.
Каждый APK содержит только одну архитектуру и встроенный libbox; отдельная динамическая загрузка ядра не используется.
Известные ограничения MVP
- Android 8+; доступны отдельные arm64-v8a, armeabi-v7a и x86_64 APK, интерфейс рассчитан на телефоны.
- Always-on/Lockdown и shared UID не поддерживаются как гарантированный per-app режим.
- Managed DNS перехватывает TCP/UDP 53, но не встроенный DoH, DoT или mDNS; FakeIP выключен.
- Domain-only block не является firewall: для гарантии нужен IP/CIDR rule-set.
- Clash YAML и Hysteria v1 URI пока не импортируются; raw JSON остаётся ответственностью пользователя.
- APK проверяется один раз при запуске; загрузка и системная установка требуют подтверждения, silent install недоступен. Подписки не обновляются в фоне, core обновляется только вместе с APK.
- При неработающем proxy/DNS VPN закрывается без бесконечного retry и plaintext DNS fallback.