Releases: youtubediscord/ZapretKVN-android
Release list
Zapret KVN 0.2.16 test 1
Что исправлено
- Импорт VLESS XHTTP снова принимает устаревшее поле
extra.xmux.cMaxLifetimeMs. - Значение безопасно преобразуется из миллисекунд в актуальное для закреплённого ядра
h_max_reusable_secs; поддерживаются число и диапазон. - Неоднозначное одновременное указание старого и нового поля, а также значения с потерей точности отклоняются явной ошибкой.
Сборка
- Коммит приложения:
d552d3b4442f65f9f642dfb054d65423f549b611 - Версия:
0.2.16-test.1(versionCode 201601) - Application ID:
io.github.zapretkvn.android.debug - ABI:
arm64-v8a,armeabi-v7a - Подпись SHA-256:
6584af60fe4075603282e351731d95745a78308385a2e3c26fa156e50a4b84fe
Проверки
- Полный набор JVM unit-тестов.
- Регрессионные тесты числа, диапазона, неоднозначного и неточного legacy-значения.
./scripts/verify-project.sh.- Проверены package/version, debug-подпись, единственная ABI,
libbox.soи SHA-256 обеих APK.
Это отдельная debug-сборка для ручной установки; она не предназначена для Stable/Beta updater. Подключённого ADB-устройства в среде сборки не было.
Zapret KVN 0.2.15
Zapret KVN 0.2.15
- Канал: 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:
21b99ddd4523a16b6fc2bed16acac180fbec72111611ab28b3086a0591af3462 - armeabi-v7a APK SHA-256:
011429d92bef73155a0efa6d1f2a7940bd49f9e52a53461ff1971c84d2bce880 - x86_64 APK SHA-256:
336e7aef0ffc005446480823d45235afcccba9f2119edd67f21bb1779bbe274d
Что изменилось
- Добавлен отдельный список приложений, которым VPN полностью блокирует доступ в сеть.
- Список блокировки пуст по умолчанию и не меняет поведение существующих установок.
- Блокировка имеет приоритет над маршрутами «через VPN» и «напрямую»; одно приложение нельзя одновременно выбрать в нескольких списках.
- Для заблокированного приложения отклоняются DNS-запросы и весь остальной трафик внутри VPN.
- Исправлено возобновление локальной публикации Stable после частично загруженного draft-релиза.
Каждый 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.
Zapret KVN 0.2.14
Zapret KVN 0.2.14
- Канал: 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:
288f8ff167b43ec5fbfbb4784a2bfd831c83bebb56bc82211a6bf137081dcc7d - armeabi-v7a APK SHA-256:
a786bad7b61856a4357e35aad58ffe8266b5e74e40a98f45c969d9113437fa91 - x86_64 APK SHA-256:
8e547939bf1518dc407a1516d1846f3fc71b76e9a909e6cd3726d2b4e40c296f
Что изменилось
- Brave и официальное приложение X/Twitter добавлены в рекомендации «через VPN» для новой установки.
- Рекомендации применяются только при первой настройке: обновления никогда автоматически не меняют существующий include/exclude-список пользователя.
- Удалён механизм миграций рекомендуемых приложений и связанная с ним лишняя логика хранения.
- Локальная публикация Stable стала возобновляемой: assets загружаются последовательно, проверяются по GitHub SHA-256 и публикуются только полным набором.
Каждый 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.
Zapret KVN 0.2.14 test 1
Что изменилось
- Добавлен отдельный список полной блокировки приложений.
- По умолчанию список пуст: обновление ничего не блокирует автоматически.
- Заблокированные приложения допускаются в TUN и получают первые DNS/route
package_name → reject, поэтому не могут использовать Wi‑Fi или мобильную сеть
во время активной VPN-сессии. - Списки VPN/direct и блокировки взаимоисключающие; режимы include и exclude
поддерживаются без изменения сохранённого профиля. - На экране «Маршруты» появился отдельный picker заблокированных приложений.
Сборка
- Коммит приложения:
18b120606bb4e899178c8226b0d1c7a585b849f7 - Версия:
0.2.14-test.1(versionCode 201401) - Application ID:
io.github.zapretkvn.android.debug - ABI:
arm64-v8a,armeabi-v7a - Подпись SHA-256:
6584af60fe4075603282e351731d95745a78308385a2e3c26fa156e50a4b84fe
Проверки
165/165JVM unit-тестов.14/14целевых instrumented-тестов на чистом AVD API 36, включая реальный
TCP-отказ для package, который является единственным приложением в blocklist../scripts/verify-project.sh./gradlew :app:lintDebug- Exact sing-box check для DNS/route package reject.
- Проверены package/version, debug-подпись, единственная ABI,
libbox.soи
SHA-256 обеих APK.
Это отдельная debug-сборка для ручной установки; она не предназначена для
Stable/Beta updater. Блокировка действует только пока подключён Zapret KVN.
Zapret KVN 0.2.13 test 3
Что изменилось
- Brave (
com.brave.browser) и X/Twitter (com.twitter.android) остаются рекомендациями «через VPN» для новой установки. - Механизм миграций рекомендаций полностью удалён.
- После первой инициализации обновления никогда автоматически не меняют пользовательский include/exclude-список.
- Хранилище и тесты упрощены: удалено 229 строк миграционной логики.
Сборка
- Коммит приложения:
2b308a128abad8248f3ae0e4192aaf94900f2175 - Версия:
0.2.13-test.3(versionCode 201303) - Application ID:
io.github.zapretkvn.android.debug - ABI:
arm64-v8a,armeabi-v7a - Подпись SHA-256:
6584af60fe4075603282e351731d95745a78308385a2e3c26fa156e50a4b84fe
Проверки
./scripts/verify-project.sh./gradlew :app:testDebugUnitTest :app:lintDebug- Проверены package/version, подпись, единственная ABI,
libbox.soи SHA-256 обеих APK.
Это отдельная debug-сборка для ручной установки; она не предназначена для Stable/Beta updater.
Zapret KVN 0.2.13 test 2
Что изменилось
- Установленное официальное приложение X/Twitter (
com.twitter.android) теперь автоматически добавляется в режим «через VPN». - На чистой установке X/Twitter входит в начальный рекомендуемый список.
- Миграции рекомендаций теперь применяются по ревизиям: пользователь, обновившийся сразу со Stable, получит и Brave, и X/Twitter.
- Ранее снятые вручную приложения повторно не возвращаются; режим исключений автоматически не меняется.
Сборка
- Коммит приложения:
2916e9b11d89f9988bf7cd1e17ec02db1508bfb4 - Версия:
0.2.13-test.2(versionCode 201302) - Application ID:
io.github.zapretkvn.android.debug - ABI:
arm64-v8a,armeabi-v7a - Подпись SHA-256:
6584af60fe4075603282e351731d95745a78308385a2e3c26fa156e50a4b84fe
Проверки
./scripts/verify-project.sh./gradlew :app:testDebugUnitTest :app:lintDebug- Проверены package/version, подпись, единственная ABI,
libbox.soи SHA-256 обеих APK.
Это отдельная debug-сборка для ручной установки; она не предназначена для Stable/Beta updater.
Zapret KVN 0.2.13 test 1
Что изменилось
- Установленный Brave (
com.brave.browser) теперь автоматически добавляется в режим «через VPN». - На чистой установке Brave остаётся частью начального рекомендуемого списка.
- Для существующего include-списка Brave добавляется однократно; ручной выбор пользователя после миграции сохраняется.
- В режиме исключений список приложений, идущих напрямую, автоматически не меняется.
Сборка
- Коммит приложения:
6f673c0185b5c1088b1f25442ed031abf6a7dea2 - Версия:
0.2.13-test.1(versionCode 201301) - Application ID:
io.github.zapretkvn.android.debug - ABI:
arm64-v8a,armeabi-v7a - Подпись SHA-256:
6584af60fe4075603282e351731d95745a78308385a2e3c26fa156e50a4b84fe
Проверки
./scripts/verify-project.sh./gradlew :app:testDebugUnitTest :app:lintDebug- Проверены package/version, подпись, единственная ABI,
libbox.soи SHA-256 обеих APK.
Это отдельная debug-сборка для ручной установки; она не предназначена для Stable/Beta updater.
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.
Zapret KVN 0.2.12 test 1
Что проверяется
- Исправлены Android 16 instrumented-регрессии импорта VIEW/clipboard и автоматической проверки обновлений.
- Выбор MTU полностью доступен на узком экране.
- Смена selector-outbound использует отдельный command client и не пересоздаёт TUN при штатном переключении.
- Hysteria2, strict Private DNS, diagnostic log lifecycle и routing matrix проходят целевые device-тесты.
Сборка
- Коммит приложения:
ba15379e1d69972ef5480269a91dbda609f9f80c - Версия:
0.2.12-test.1(versionCode 201201) - Application ID:
io.github.zapretkvn.android.debug - ABI:
arm64-v8a,armeabi-v7a - Подпись SHA-256:
6584af60fe4075603282e351731d95745a78308385a2e3c26fa156e50a4b84fe
Проверки
./scripts/verify-project.sh./gradlew :app:testDebugUnitTest :app:lintDebug- Целевые Android device-тесты исходных семи регрессий.
- Проверены package/version, подпись, единственная ABI,
libbox.soи SHA-256 обеих APK.
Это отдельная debug-сборка для ручной установки; она не предназначена для Stable/Beta updater.
Zapret KVN 0.2.11
Zapret KVN 0.2.11
- Канал: 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:
82b298ba3df35a7f8789ce9fc28955d43e8a629b5e588e36e1bf195b2bc7918b - armeabi-v7a APK SHA-256:
9ce9afd761fe2c253354f15b44358cac80fcf2de1a047bdd7a8d5adf7f7edfe6 - x86_64 APK SHA-256:
4f42291555b018d7dbebc7dc67801f3b872c35efbfe6aa828e77089a45696416
Что изменилось
- Восстановлено обнаружение приложений на 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 теперь распознаётся отдельно и сопровождается понятной диагностикой.
- Обновлены публичная документация и 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.