ZapretKVN-android/app
Repository files (latest commit first)
Filename Latest commit message Latest commit date
loop-uh 41b6c3283f
Some checks failed
Android CI / build (push) Has been cancelled
Серверы: страна по IP из офлайн-таблицы DB-IP, флаг и при скрытых адресах
У пользователя 28 из 30 серверов попадали в «Другие»: имена из подписки
не несут флагов, а при включённом скрытии адресов тег, похожий на адрес,
маскировался целиком и вообще не разбирался.

- Страна и протокол берутся из настоящего тега и адреса; маскируется
  только показываемый текст.
- Офлайн-таблица DB-IP IP to Country Lite (CC BY 4.0, атрибуция в
  notices), assets/geoip/country.bin ~2 МБ, IPv4 и IPv6, служебные
  диапазоны всегда без страны; scripts/build-geoip-country.py и проверка
  хэша в verify-project.sh.
- Имена хостов разрешаются тем же доверенным DoH, что и при подключении
  VPN (по IP-литералам, мимо туннеля): один запрос на хост, не чаще раза
  в 7 суток, без таймеров; кэш в noBackupFilesDir.
- Порядок: флаг в имени → страна по IP → сосед на том же адресе → слова.
- JSON-редактор: кнопки в нижней панели, сообщения над ней — снекбар после
  импорта больше не перекрывает «Validate» и «Сохранить».
- Тест обновлятора дожидается закрытия временной VPN-сессии (закрывается в
  finally проверки), а не проверяет это в тот же миг.

Проверено: юнит-тесты, lint, verify-project.sh, 34/34 инструментальных
теста на эмуляторе API 37.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 21:07:12 +03:00
..
src Серверы: страна по IP из офлайн-таблицы DB-IP, флаг и при скрытых адресах 2026-10-14 21:07:12 +03:00
build.gradle.kts UI: основа нового интерфейса — модули :core:ui-model и :core:designsystem, новая оболочка 2026-10-14 16:52:56 +03:00
proguard-rules.pro Initial Zapret KVN Android MVP 2026-07-22 14:44:50 +03:00