Files
Claude 0a19858efa 1.1: подписанное автообновление, kit backup и --restore, случайная заглушка
- 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
2026-09-30 19:15:19 +00:00

25 lines
1.1 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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