docs: шапка README с предупреждением о форке + пояснение в FORK.md
CI / check (push) Canceled after 0s

This commit is contained in:
2026-10-12 20:01:01 +03:00
parent 619b2120ce
commit 0f31fc1739
3 changed files with 33 additions and 0 deletions
+5
View File
@@ -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 автора и видит там
команду установки **его** сборки: поставив по ней, он получит авторский канал обновлений, и ночное
автообновление вернёт авторскую сборку. Поэтому сверху вставлен наш блок. Если при обновлении
автора здесь конфликт — оставляем наш блок вверху, остальное берём авторское.
## Что проверено на сегодня
+7
View File
@@ -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).
> Ниже — **авторское** описание: его команды и значки ведут в репозиторий автора и включают его
> канал обновлений, то есть ночное автообновление вернёт авторскую сборку вместо нашей.
<div align="center">
<img alt="3X-UI KIT" src="manuals/assets/banner.svg" width="820">
+21
View File
@@ -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 = '<div align="center">\n\n<img alt="3X-UI KIT" src="manuals/assets/banner.svg" width="820">'
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",