- kit update ставит только релизы, у которых SHA256SUMS подписан ключом автора (ssh-keygen -Y verify), версия внутри подписи совпадает, файлы сошлись с хешами; откат на старую версию запрещён; после обновления проверяется подписка, иначе возврат - автообновление: systemd-таймер раз в сутки ночью со случайной задержкой, kit update --manual / --auto, журнал /var/log/kit-update.log - hy2 update тоже проверяет подпись - tools/release.sh: проверка версий и хеша установщика 3X-UI, SHA256SUMS и подпись - kit backup и 3x-ui.sh --restore: архив 600, строгая проверка архива, конфиги nginx и kit-sub собираются заново, смена IP в подключениях - сайт-заглушка: случайный из шести шаблонов внутри скрипта - zashboard закреплён на v3.29.1, короткие тире и 192.168.x.x в текстах и картинках - CI: ключ подписи одинаковый в kit и hy2, проверка подписи релиза - CHANGELOG, README, инструкция, SECURITY.md Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q7GrBSRPVXhrz3RAprWDnt
25 lines
1.1 KiB
Bash
25 lines
1.1 KiB
Bash
#!/usr/bin/env bash
|
||
# Прогон матрицы: каждый конфиг – отдельный клиент, через него открываем сайт.
|
||
cd /lab/cases
|
||
t() { # client port cmd...
|
||
local port=$1; shift
|
||
("$@" >/tmp/c.log 2>&1 &)
|
||
local code=000
|
||
for i in 1 2 3 4 5 6; do
|
||
sleep 1
|
||
code=$(curl -s -m 8 -x socks5h://127.0.0.1:$port -o /dev/null -w '%{http_code}' https://www.google.com/generate_204)
|
||
[[ $code == 204 ]] && break
|
||
done
|
||
pkill -x xray; pkill -x mihomo; pkill -x sing-box; sleep 0.5
|
||
if [[ $code == 204 ]]; then echo "✓"; else echo "✗ $(grep -i -m1 -E 'error|fail|fatal|invalid' /tmp/c.log | cut -c1-90)"; fi
|
||
}
|
||
printf '%-32s %-40s %-40s %s\n' "протокол" "Xray 26.6.27" "Mihomo" "sing-box"
|
||
for d in */; do
|
||
d=${d%/}
|
||
x='–'; m='–'; s='–'
|
||
[[ -f $d/xray.json ]] && x=$(t 1080 /cl/xray run -c $d/xray.json)
|
||
[[ -f $d/mihomo.yaml ]] && m=$(t 1081 /cl/mihomo -d /tmp/mh -f $d/mihomo.yaml)
|
||
[[ -f $d/singbox.json ]] && s=$(t 1082 /cl/sing-box run -c $d/singbox.json)
|
||
printf '%-32s %-40s %-40s %s\n' "$d" "$x" "$m" "$s"
|
||
done
|