magisk-zapret2/upstream/README.md
loop-uh 8bf923faaa
All checks were successful
Background release validation / Prepare Version (push) Successful in 4s
Magisk source guards / guards (push) Successful in 3s
Background release validation / Fetch latest upstream zapret2 release (push) Successful in 16s
Background release validation / Shell integration tests (push) Successful in 1m44s
Background release validation / Build Android APK (push) Successful in 6m33s
Background release validation / Package Magisk Module (push) Successful in 10s
Fetch zapret2 directly from official releases
2026-08-07 15:19:53 +03:00

2.8 KiB
Raw Permalink Blame History

Upstream zapret2 payload

Эта папка — единственная точка интеграции с bol-van/zapret2.

fetch-release.sh на каждой CI-сборке проверяет последний стабильный релиз в официальном репозитории bol-van/zapret2, скачивает официальный zapret2-v*.tar.gz, сверяет его с закреплённой SHA-256 из pinned-release.json и отдельно проверяет Android-бинарники по upstream-файлу sha256sum.txt.

reviewed-release.txt фиксирует релиз, по которому проверены поддерживаемые опции и L7-протоколы безопасного TXT-компилятора. Скрипт всё равно запрашивает latest stable, но останавливает сборку, если upstream уже выпустил новую версию: сначала нужно просмотреть изменение грамматики, обновить тесты и только затем сдвинуть эту отметку. Так новый бинарник не расходится молча с валидатором.

Из release-архива берутся только:

  • binaries/android-arm64/nfqws2arm64-v8a;
  • binaries/android-arm/nfqws2armeabi-v7a;
  • Lua-файлы из lua-files.txt.

Все шесть официальных Lua-файлов bol-van/zapret2 перечислены в lua-files.txt, не хранятся в этом репозитории и загружаются заново при каждой CI-сборке.

Собственные Lua-файлы проекта автоматически не заменяются. Это custom_funcs.lua, zapret-multishake.lua, zapret-16kb.lua, zapret-wgobfs.lua, zapret-custom.lua и init_vars.lua.

Actions-артефакты по ссылкам вида /actions/runs/.../artifacts/... намеренно не используются: они временные и требуют токен для скачивания из другого репозитория. Официальный GitHub Release содержит ARM/ARM64-сборки и согласованный с ними Lua-код. Артефакты android-x86 и android-x86_64 для этого Magisk-модуля не подходят. Forgejo хранит и выпускает только наш модуль, а чужой исходный проект не зеркалируется.

Локальная проверка (Linux):

bash upstream/fetch-release.sh ./upstream-payload

Каталог назначения должен отсутствовать или быть пустым.