fork: швы поверх upstream 1.2 — источник Gitea, ключ подписи форка, версия 1.2.1
This commit is contained in:
@@ -45,7 +45,7 @@ git push origin dev v$(cat VERSION) upstream
|
||||
|
||||
```bash
|
||||
# установка на чистый сервер (вместо команды автора с GitHub)
|
||||
bash <(curl -fsSL https://git.rukavishnikoff.ru/hacker07/3X-UI_KIT/raw/branch/main/scripts/3x-ui.sh)
|
||||
bash <(curl -fsSL https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/branch/main/scripts/3x-ui.sh)
|
||||
|
||||
# обновление уже стоящего сервера (тянет наш релиз и проверяет нашу подпись)
|
||||
kit update --force && kit check
|
||||
|
||||
+12
-3
@@ -30,9 +30,9 @@ wait_apt_idle() {
|
||||
XUI_VERSION="v3.9.0"
|
||||
# SHA256 установщика 3X-UI этой версии: тег могут передвинуть, а хеш – нет (проверено 2026-09-30).
|
||||
XUI_INSTALL_SHA256="18616fe26c8f6c92db6daa2dcd7cd53c5143ee69ecfd26d8ea6dc9b2c78607a6"
|
||||
KIT_VERSION="1.2"
|
||||
KIT_VERSION="1.2.1"
|
||||
# kit и kit-sub берём из того же релиза, что и этот скрипт, а не из меняющейся ветки main.
|
||||
KIT_RAW="https://raw.githubusercontent.com/itsnotkubrick/3X-UI_KIT/v$KIT_VERSION"
|
||||
KIT_RAW="https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/tag/v$KIT_VERSION"
|
||||
# Ядро Xray для панели. С 26.7.x клиенты на Mihomo и sing-box (Hiddify, FlClash,
|
||||
# Clash Verge, Mihomo в XKeen) не проходят REALITY – проверено 2026-09-25.
|
||||
# 26.6.27 – последняя версия, с которой работают все клиенты и которую принимает 3X-UI.
|
||||
@@ -1270,6 +1270,7 @@ awg_attach() { # имя subId [лимит-байт] [срок-мс] [устро
|
||||
}
|
||||
|
||||
KIT_CLI_URL="$KIT_RAW/scripts/kit.sh"
|
||||
KIT_LOCAL_URL="$KIT_RAW/scripts/kit-local.sh"
|
||||
|
||||
install_kit_cli() {
|
||||
install -d -m 700 /etc/kit
|
||||
@@ -1293,10 +1294,18 @@ install_kit_file() {
|
||||
[[ -f $d/kit.sh && ${BASH_SOURCE[0]} != /dev/fd/* ]] && src=$d/kit.sh
|
||||
if [[ -n $src ]]; then install -m 755 "$src" /usr/local/bin/kit
|
||||
else curl -fsSL --retry 3 -o /usr/local/bin/kit "$KIT_CLI_URL" && chmod 755 /usr/local/bin/kit; fi
|
||||
# Форк: ставим наши локальные дополнения (см. scripts/kit-local.sh).
|
||||
install -d -m 755 /usr/local/lib/kit
|
||||
if [[ -n $src && -f $d/kit-local.sh ]]; then
|
||||
install -m 644 "$d/kit-local.sh" /usr/local/lib/kit/kit-local.sh
|
||||
else
|
||||
curl -fsSL --retry 3 -o /usr/local/lib/kit/kit-local.sh "$KIT_LOCAL_URL" \
|
||||
|| warn "Локальные дополнения kit не скачались: kit local не будет работать"
|
||||
fi
|
||||
bash -n /usr/local/bin/kit || die "Команда kit скачалась повреждённой"
|
||||
}
|
||||
|
||||
KIT_INSTALL_CMD="bash <(curl -fsSL https://raw.githubusercontent.com/itsnotkubrick/3X-UI_KIT/main/scripts/3x-ui.sh)"
|
||||
KIT_INSTALL_CMD="bash <(curl -fsSL https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/branch/main/scripts/3x-ui.sh)"
|
||||
|
||||
# После «x-ui → Uninstall» меню подсказывает команду официального установщика –
|
||||
# меняем её на нашу. Только в echo: вызов установщика в «Update» не трогаем.
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
# Код выхода 1 при любом запуске (и при `__update_binary`) – старый `hy2 update` на нём
|
||||
# останавливается и не заменяет команду hy2.
|
||||
|
||||
KIT_VERSION="1.2"
|
||||
KIT_VERSION="1.2.1"
|
||||
|
||||
cat >&2 <<'MSG'
|
||||
Отдельный установщик Hysteria2 больше не поддерживается.
|
||||
|
||||
+16
-6
@@ -12,10 +12,17 @@
|
||||
set -Eeuo pipefail
|
||||
export LC_ALL=C.UTF-8 # ширина колонок по символам, а не байтам
|
||||
|
||||
KIT_VERSION="1.2"
|
||||
KIT_RAW="https://raw.githubusercontent.com/itsnotkubrick/3X-UI_KIT/main"
|
||||
KIT_VERSION="1.2.1"
|
||||
KIT_RAW="https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/branch/main"
|
||||
# Файлы новой версии берём из её тега, а не из меняющейся ветки main.
|
||||
kit_ref_raw() { echo "https://raw.githubusercontent.com/itsnotkubrick/3X-UI_KIT/v$1"; }
|
||||
kit_ref_raw() { echo "https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/tag/v$1"; }
|
||||
|
||||
# --- 3X-UI_KIT (форк hacker07): локальные команды и хуки ---
|
||||
# Подключаем scripts/kit-local.sh, если он установлен. Наш файл: правки автора его не касаются.
|
||||
# Все команды форка — под «kit local …» (см. kit local help).
|
||||
KIT_LOCAL_LIB="${KIT_LOCAL_LIB:-/usr/local/lib/kit/kit-local.sh}"
|
||||
if [[ -r $KIT_LOCAL_LIB ]]; then . "$KIT_LOCAL_LIB"; kit_local_dispatch "$@"; fi
|
||||
|
||||
|
||||
XUI_ENV=/etc/x-ui/install-result.env
|
||||
KIT_ENV=/etc/kit/kit.env
|
||||
@@ -454,8 +461,8 @@ cmd_del() {
|
||||
# есть только у автора, поэтому подменить обновление, взломав один GitHub, не выйдет.
|
||||
# Новый ключ приходит только в релизе, подписанном старым.
|
||||
KIT_SIGNERS=(
|
||||
# SHA256:VDuGgJ8dOeCNXB4nBZf3+kRlWthw3+vh8rfMxzMSRIM (itsnotkubrick, 2026-09-30)
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGrTGCDhhnm8XO1ekpPJuSWRVCJiFiupEspfQxcbEBmz 3X-UI KIT releases"
|
||||
# Ключ подписи форка (владелец: hacker07). Закрытая часть — только на рабочей станции.
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKM0Sfn/UQeqjvUvY9wVgg7QtG1RR2pEUkqrUD5Yy6EF 3X-UI KIT fork releases (hacker07)"
|
||||
)
|
||||
KIT_SIG_NS="3x-ui-kit-release"
|
||||
KIT_SIG_ID="releases@3x-ui-kit"
|
||||
@@ -519,7 +526,7 @@ fetch_release() { # версия каталог
|
||||
fi
|
||||
# Версия записана внутри подписанного файла: старый подписанный релиз под видом нового не пройдёт.
|
||||
grep -qx "# 3X-UI KIT $v" "$d/SHA256SUMS" || { warn "Подписанный релиз не той версии – ничего не ставлю."; return 1; }
|
||||
for f in scripts/kit.sh scripts/kit-sub.py; do
|
||||
for f in scripts/kit.sh scripts/kit-sub.py scripts/kit-local.sh; do
|
||||
sum=$(awk -v f="$f" '$2 == f {print $1}' "$d/SHA256SUMS")
|
||||
[[ $sum =~ ^[0-9a-f]{64}$ ]] || { warn "В подписанном списке нет $f."; return 1; }
|
||||
curl -fsSL --retry 3 -o "$d/${f##*/}" "$raw/$f" || { warn "Не удалось скачать $f."; return 1; }
|
||||
@@ -715,6 +722,9 @@ cmd_update() {
|
||||
|
||||
# Через rename: bash дочитывает текущий kit по ходу работы, его файл трогать нельзя.
|
||||
install -m 755 "$tmp/kit.sh" /usr/local/bin/kit.new && mv -f /usr/local/bin/kit.new /usr/local/bin/kit
|
||||
# Форк: ставим наши локальные дополнения из того же подписанного релиза.
|
||||
install -d -m 755 /usr/local/lib/kit
|
||||
install -m 644 "$tmp/kit-local.sh" /usr/local/lib/kit/kit-local.sh
|
||||
# Новые пути подписки (Clash и JSON) подключает уже новая версия kit.
|
||||
/usr/local/bin/kit __subextra >/dev/null 2>&1 || warn "Дополнительные пути подписки не подключились: kit update --force"
|
||||
echo
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKM0Sfn/UQeqjvUvY9wVgg7QtG1RR2pEUkqrUD5Yy6EF 3X-UI KIT fork releases (hacker07)
|
||||
+1
-1
@@ -22,7 +22,7 @@ import pathlib
|
||||
import re
|
||||
import sys
|
||||
|
||||
GITEA = os.environ.get("FORK_GITEA_BASE", "https://git.rukavishnikoff.ru/hacker07/3X-UI_KIT")
|
||||
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")
|
||||
|
||||
HOOK = """
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ key=${1:-$HOME/.ssh/3xui_kit_release}
|
||||
[[ -f $key ]] || die "Нет закрытого ключа $key. Создать: ssh-keygen -t ed25519 -C \"3X-UI KIT releases\" -f $key"
|
||||
NS="3x-ui-kit-release"
|
||||
ID="releases@3x-ui-kit"
|
||||
FILES=(scripts/3x-ui.sh scripts/hysteria2.sh scripts/kit.sh scripts/kit-sub.py VERSION)
|
||||
FILES=(scripts/3x-ui.sh scripts/hysteria2.sh scripts/kit.sh scripts/kit-sub.py scripts/kit-local.sh VERSION)
|
||||
|
||||
v=$(tr -d '[:space:]' <VERSION)
|
||||
[[ $v =~ ^[0-9]+(\.[0-9]+)+$ ]] || die "VERSION: $v"
|
||||
|
||||
Reference in New Issue
Block a user