diff --git a/FORK.md b/FORK.md index b758d0a..9a54390 100644 --- a/FORK.md +++ b/FORK.md @@ -100,6 +100,7 @@ Hysteria2 (UDP 443) работают как работали; исходящий | Описание «швов» в коде автора | `tools/fork_apply.py` | только мы | | Синхронизация с автором и проверки | `tools/fork-sync.sh` | только мы | | Записи о наших версиях | `FORK-CHANGELOG.md` | только мы | +| Предупреждение в шапке `README.md` | первые строки `README.md` | только мы (шов) | | Файлы автора (`scripts/kit.sh`, `scripts/3x-ui.sh`, …) | как есть | только автор | Ключевая идея: в файлах автора мы правим только «швы» — несколько констант, одну строку подключения @@ -170,6 +171,10 @@ git push origin dev v$(cat VERSION) upstream Проверять релиз надо логикой самого `kit`, а не одной `sha256sum -c`. 6. **Сборка релиза обращается к GitHub** (сверка закреплённых версий панели и ядра). Из домашней сети TLS до GitHub иногда рвётся (`schannel: failed to receive handshake`) — просто повторить запуск. +7. **Шапка `README.md` — наш шов.** Человек, открывший репозиторий, читает README автора и видит там + команду установки **его** сборки: поставив по ней, он получит авторский канал обновлений, и ночное + автообновление вернёт авторскую сборку. Поэтому сверху вставлен наш блок. Если при обновлении + автора здесь конфликт — оставляем наш блок вверху, остальное берём авторское. ## Что проверено на сегодня diff --git a/README.md b/README.md index 17b12ea..aa16a11 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,10 @@ +> **Это форк — сервер ставится и обновляется из этого репозитория, а не с GitHub.** +> Установка одной командой (подробности и флаги — в [FORK.md](FORK.md)): +> `bash <(curl -fsSL https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/branch/main/scripts/3x-ui-local.sh) --domain vpn.example.com` +> Свои команды `kit local …` и записи о версиях — [FORK.md](FORK.md), [FORK-CHANGELOG.md](FORK-CHANGELOG.md). +> Ниже — **авторское** описание: его команды и значки ведут в репозиторий автора и включают его +> канал обновлений, то есть ночное автообновление вернёт авторскую сборку вместо нашей. +
3X-UI KIT diff --git a/tools/fork_apply.py b/tools/fork_apply.py index 37ed9a2..e1789fb 100644 --- a/tools/fork_apply.py +++ b/tools/fork_apply.py @@ -25,6 +25,19 @@ import sys GITEA = os.environ.get("FORK_GITEA_BASE", "https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS") SIGNER_FILE = os.environ.get("FORK_SIGNER_PUB", "tools/fork-signer.pub") +# Шапка авторского README: человек, открывший репозиторий, должен сразу видеть, что это форк +# и что ставить надо из него, а не по команде автора ниже (та включает авторский канал обновлений). +README_BLOCK = """> **Это форк — сервер ставится и обновляется из этого репозитория, а не с GitHub.** +> Установка одной командой (подробности и флаги — в [FORK.md](FORK.md)): +> `bash <(curl -fsSL https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/branch/main/scripts/3x-ui-local.sh) --domain vpn.example.com` +> Свои команды `kit local …` и записи о версиях — [FORK.md](FORK.md), [FORK-CHANGELOG.md](FORK-CHANGELOG.md). +> Ниже — **авторское** описание: его команды и значки ведут в репозиторий автора и включают его +> канал обновлений, то есть ночное автообновление вернёт авторскую сборку вместо нашей. + +""" + +README_HEAD = '
\n\n3X-UI KIT' + HOOK = """ # --- 3X-UI_KIT (форк hacker07): локальные команды и хуки --- # Подключаем scripts/kit-local.sh, если он установлен. Наш файл: правки автора его не касаются. @@ -179,6 +192,14 @@ def main(): "{ echo \"# 3X-UI KIT $v\"; sha \"${FILES[@]}\" | awk '{ sub(/^\\*/, \"\", $2); print $1\" \"$2 }'; } >SHA256SUMS", "суммы в POSIX-виде без звёздочки (на Windows sha256sum её ставит, и kit её не понимает)", ), + # --- шапка авторского README (чтобы ссылку ниже не приняли за нашу) -------------- + ( + "README.md", + README_HEAD, + False, + README_BLOCK + README_HEAD, + "предупреждение в шапке README: это форк, ставить из него", + ), # --- свои записи о версии (наш файл, авторский CHANGELOG не трогаем) ---- ( "tools/release.sh",