Compare commits
2
Commits
edabfd9a83
...
v1.2.1.7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3a8518651c | ||
|
|
915dd35f42 |
@@ -1,3 +1,13 @@
|
||||
## v1.2.1.7: исправлена установка (моя регрессия в 1.2.1.6)
|
||||
|
||||
* В 1.2.1.6 я переписал загрузку файлов релиза и оставил проверку SHA256 установщика **раньше**
|
||||
скачивания — установка обрывалась на первой же строке: `sha256sum: .../scripts/3x-ui.sh: No such file
|
||||
or directory`. Теперь сначала скачиваются все файлы релиза (каждый сверяется с подписанным списком),
|
||||
и только потом проверяется установщик.
|
||||
* Проверено не на глаз: воспроизвёл ошибку у себя тем же путём (`--verify-only`) — красное, затем после
|
||||
правки зелёное. Этот прогон добавлен в процедуру выпуска: перед подписью я запускаю установщик в режиме
|
||||
`--verify-only` и убеждаюсь, что путь «скачать и проверить релиз» проходит целиком.
|
||||
|
||||
## v1.2.1.6: доступы к панели в конце установки и рабочая заглушка
|
||||
|
||||
* **Исправлено: доступы к панели не выводились.** Автор пишет строки в `/root/3x-ui.txt` без ведущих
|
||||
|
||||
@@ -191,6 +191,10 @@ bash tools/fork-sync.sh # подтянуть автора, перен
|
||||
|
||||
bash tools/release.sh ~/.ssh/3x-ui-kit-fork/release_key # SHA256SUMS + подпись нашим ключом
|
||||
|
||||
**Перед подписью — обязательный прогон.** `bash scripts/3x-ui-local.sh --verify-only` проверяет ровно тот
|
||||
путь установки, которым пойдут серверы: скачивание всех файлов релиза и сверка каждого с подписанным
|
||||
списком. На Windows запускать с `TMPDIR=C:/…` (нативные утилиты не понимают MSYS-пути).
|
||||
|
||||
**Нумерация версий.** Основа — версия автора, наша надстройка добавляется через точку с единицы:
|
||||
у автора 1.2.1 → наша сборка 1.2.1.1; вышла его 1.2.2 → наша 1.2.2.1. Так на сервере всегда видно,
|
||||
на чьей базе собрана сборка.
|
||||
|
||||
+7
-7
@@ -1,9 +1,9 @@
|
||||
# 3X-UI KIT 1.2.1.6
|
||||
# 3X-UI_autoVPS 1.2.1.6
|
||||
f30fc23d1c667d6fc90742fdf12377ca84d9e119fc394d86822bf1daaf462795 scripts/3x-ui.sh
|
||||
4ef4c3f830196704648c15dd546e20195ce15e2d4ee6ca66e363aac47811c4ab scripts/hysteria2.sh
|
||||
b85e6ca11eef15eed8d45fba9e7b4a7eddf6141de4aeceaac1fe7f51d4c9fa78 scripts/kit.sh
|
||||
# 3X-UI KIT 1.2.1.7
|
||||
# 3X-UI_autoVPS 1.2.1.7
|
||||
3a5f36b8d551d23837f48cf1dea4822be94cd91eb8cc7b06c20e0789289690dc scripts/3x-ui.sh
|
||||
f91d95eea94f49ce2fc1b56114230edd85eb3be0fb0c5bf5a3431e36bf5f1cf5 scripts/hysteria2.sh
|
||||
96e4ca314846cf118f195bb3beb01497fd2e09945e168876b6a34f1288115937 scripts/kit.sh
|
||||
f214671464e1c2e174e5af9df42c95567a9b4a9141f31a39f7df2e971e89d240 scripts/kit-sub.py
|
||||
75cc7bc4e048c43989f66ca3b9e9addff8d7a434e651daba6db894e18109b45b scripts/kit-local.sh
|
||||
ba87dfba9abc3417092a2c2ec8da1b0332397e9952ead213e9367692f2849459 scripts/3x-ui-local.sh
|
||||
3acd832d329f916790a07153fcc6b7cbdbeb6958131e60751094c059e4fb0f76 VERSION
|
||||
1f72217fd4d286b65aa0883e0aa44be0758bfb081b496eb0b32f35503c699420 scripts/3x-ui-local.sh
|
||||
0aa3ba2dc8cf93b813171a7cb596b12a25bc5babd13bb6b3308d8f8d637369a5 VERSION
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
-----BEGIN SSH SIGNATURE-----
|
||||
U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgozRJ+f9RB6qO9S9j3BWCDtC0bV
|
||||
FHakRSSqtQPljLoQUAAAARM3gtdWkta2l0LXJlbGVhc2UAAAAAAAAABnNoYTUxMgAAAFMA
|
||||
AAALc3NoLWVkMjU1MTkAAABADBMIIRfAe53BhNokGqyMTekQwEmlBZ8HdhkKUXjRPv0ofv
|
||||
u4/0GW5p5d2QnwShb7+zS/Dr+LekQ2SMQEBvVbAA==
|
||||
AAALc3NoLWVkMjU1MTkAAABAwcJjUxl9upludWNJ0ghcbrRDqzIBpNCLmpCYuLBvXswYU2
|
||||
Ou29XvPQN9n9oAbXz36N5/iJSt09dhVHcAWeM5BA==
|
||||
-----END SSH SIGNATURE-----
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
set -Eeuo pipefail
|
||||
|
||||
KIT_VERSION="1.2.1.6" # версия сборки форка; должна совпадать с VERSION релиза
|
||||
KIT_VERSION="1.2.1.7" # версия сборки форка; должна совпадать с VERSION релиза
|
||||
GITEA="${KIT_FORK_BASE:-https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS}"
|
||||
NS="3x-ui-kit-release"
|
||||
SIG_ID="releases@3x-ui-kit"
|
||||
@@ -188,19 +188,19 @@ ssh-keygen -Y verify -f "$tmp/allowed_signers" -I "$SIG_ID" -n "$NS" -s "$tmp/SH
|
||||
|| die "подпись релиза v$KIT_VERSION не сошлась с ключом форка — это не наш релиз, ничего не запускаю"
|
||||
sum=$(awk '{f = $2; sub(/^\*/, "", f)} f == "scripts/3x-ui.sh" {print $1}' "$tmp/SHA256SUMS")
|
||||
[[ $(printf '%s' "$sum" | wc -c) -eq 64 ]] || die "в SHA256SUMS нет установщика — релиз собран неверно"
|
||||
got=$(sha256sum "$tmp/scripts/3x-ui.sh" | awk '{print $1}')
|
||||
[[ $got == "$sum" ]] || die "SHA256 установщика не совпал с подписанным — не запускаю"
|
||||
# Качаем все остальные файлы релиза и сверяем каждый с подписанным списком. Раньше брали только
|
||||
# установщик, поэтому kit-local.sh (в нём наша страница-заглушка) отсутствовал, и подготовка
|
||||
# заглушки до установщика падала с «kl_site_html: command not found».
|
||||
# Качаем ВСЕ файлы релиза и сверяем каждый с подписанным списком. Так у нас есть и scripts/3x-ui.sh
|
||||
# (установщик), и scripts/kit-local.sh (наша страница-заглушка), и всё остальное. Раньше брали только
|
||||
# установщик: заглушка не готовилась («kl_site_html: command not found»), а проверка целостности была неполной.
|
||||
while read -r sum2 name2; do
|
||||
case $sum2 in \#* | "") continue ;; esac
|
||||
[[ $name2 == scripts/3x-ui.sh ]] && continue
|
||||
case $name2 in SHA256SUMS | SHA256SUMS.sig) continue ;; esac
|
||||
mkdir -p "$tmp/$(dirname "$name2")"
|
||||
curl -fsSL --retry 3 -m 60 -o "$tmp/$name2" "$raw/$name2" || die "не скачался $name2 из $raw (Gitea доступна с сервера?)"
|
||||
got2=$(sha256sum "$tmp/$name2" | awk '{print $1}')
|
||||
[[ $got2 == "$sum2" ]] || die "SHA256 не совпал у $name2 — не запускаю"
|
||||
done <"$tmp/SHA256SUMS"
|
||||
got=$(sha256sum "$tmp/scripts/3x-ui.sh" | awk '{print $1}')
|
||||
[[ $got == "$sum" ]] || die "SHA256 установщика не совпал с подписанным — не запускаю"
|
||||
bash -n "$tmp/scripts/3x-ui.sh" || die "установщик не проходит проверку синтаксиса"
|
||||
[[ -r $tmp/scripts/kit-local.sh ]] || die "в релизе нет scripts/kit-local.sh — сборка неполная"
|
||||
printf ' ✓ подпись сошлась, SHA256 установщика совпал\n'
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ wait_apt_idle() {
|
||||
XUI_VERSION="v3.9.0"
|
||||
# SHA256 установщика 3X-UI этой версии: тег могут передвинуть, а хеш – нет (проверено 2026-09-30).
|
||||
XUI_INSTALL_SHA256="18616fe26c8f6c92db6daa2dcd7cd53c5143ee69ecfd26d8ea6dc9b2c78607a6"
|
||||
KIT_VERSION="1.2.1.6"
|
||||
KIT_VERSION="1.2.1.7"
|
||||
# kit и kit-sub берём из того же релиза, что и этот скрипт, а не из меняющейся ветки main.
|
||||
KIT_RAW="https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/tag/v$KIT_VERSION"
|
||||
# Ядро Xray для панели. С 26.7.x клиенты на Mihomo и sing-box (Hiddify, FlClash,
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
# Код выхода 1 при любом запуске (и при `__update_binary`) – старый `hy2 update` на нём
|
||||
# останавливается и не заменяет команду hy2.
|
||||
|
||||
KIT_VERSION="1.2.1.6"
|
||||
KIT_VERSION="1.2.1.7"
|
||||
|
||||
cat >&2 <<'MSG'
|
||||
Отдельный установщик Hysteria2 больше не поддерживается.
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@
|
||||
set -Eeuo pipefail
|
||||
export LC_ALL=C.UTF-8 # ширина колонок по символам, а не байтам
|
||||
|
||||
KIT_VERSION="1.2.1.6"
|
||||
KIT_VERSION="1.2.1.7"
|
||||
KIT_RAW="https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/branch/main"
|
||||
# Файлы новой версии берём из её тега, а не из меняющейся ветки main.
|
||||
kit_ref_raw() { echo "https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/tag/v$1"; }
|
||||
|
||||
Reference in New Issue
Block a user