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