Some checks failed
Android CI / build (push) Has been cancelled
- Маршрут: при включённом VPN проверка идёт наперегонки напрямую и через туннель, выигрывает первый ответ; без VPN — напрямую, затем временный VPN-маршрут. Промежуточных «Forgejo не отвечает» больше нет, ошибка — только если не сработал ни один маршрут. Удачный маршрут запоминается. - Подключённый VPN больше не перезапускается ради обновления: правило «запросы приложения к Forgejo — через выбранный proxy» теперь постоянное (RuntimeConfigOptions.standingUpdaterPackageName; без proxy пропускается). - Дельта: центральный каталог нового APK читается по Range, совпадающие записи копируются из установленного APK, остальное догружается; итог сверяется с опубликованным SHA-256, при любом сомнении — полная загрузка с докачкой. 0.5.0 → 0.5.1: 3,39 МБ вместо 117,8 МБ. - Фон: проверка при запуске и раз в сутки (JobScheduler, без новых зависимостей); Stable скачивается сам (по мобильной сети — если ≤ 25 МБ). - Установка через PackageInstaller: на Android 12+ после первой установки самим приложением — без подтверждения; иначе тихое уведомление и баннер, установщик открывается только по нажатию. Всплывающий диалог убран. Проверено: 675 юнит-тестов, lint, verify-project.sh, 32/32 UI- и updater-тестов на эмуляторе API 37 (тихая установка — 5 с без окна). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
862 B
862 B
Встроенные rule-set
zapret-ru-domains.json — небольшой исходный список доменных зон России и отдельных
сайтов, которые должны идти через direct. Binary .srs собирается точным audit CLI
из core.properties.
zapret-ru-ip.srs берётся из закреплённого snapshot SagerNet/sing-geoip@eb32cd6ed4a16fcb3bf9a36ccebf28e45716ae84; ожидаемый SHA-256 — bdca5cdb44cdcf0940001e5952386822a6f4ffa8b2c8eea00340aa6f585c7f9d.
Оба файла доставляются только вместе с APK. Runtime-загрузки наборов нет: они обновляются только вместе с APK (фоновая проверка и скачивание самого APK описаны в ARCHITECTURE.md).