Files
3X-UI_autoVPS/CHANGELOG.md
T
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

77 lines
7.1 KiB
Markdown
Raw 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.
# Что нового
## v1.1: kit сходил к аудитору, сдал анализы и теперь не доверяет никому, даже GitHub
Подписчик прислал нам полноценный аудит безопасности. Мы почитали, покраснели и всё починили.
Спасибо: такие письма лучше любых звёзд на GitHub (но звёзды тоже ставьте).
**Безопасность**
- **Hysteria2 больше не верит на слово.** Почта, адрес сервера и сайт маскировки теперь проверяются
строго, а в файл настроек пишутся с экранированием. Раньше особо изобретательная почта могла
выполниться как команда. Теперь `me@gmail.com;rm -rf` получит вежливый отказ.
- **Установщик 3X-UI сверяем по отпечатку.** Мы закрепили не только версию, но и SHA256 файла.
Если на GitHub кто-то подменит установщик, скрипт посмотрит на него как на незнакомца в чате
с «выгодным предложением» и запускать не станет.
- **Hysteria проверяется нашим ключом, а не чужим.** Контрольная сумма бинарника теперь записана
в сам скрипт, а не скачивается из того же места, что и бинарник. Проверять человека по
справке, которую он же и принёс, так себе идея.
- **Всё качаем из релиза, а не из черновиков.** `kit`, `kit-sub` и `hy2 update` берут файлы
из тега версии, а не из ветки `main`, которая может поменяться посреди установки.
- **Подписка больше не root.** `kit-sub` работает от временного пользователя без прав: конфиг
и сертификат ему выдаёт systemd на время работы. Даже если его взломают, ключей от сервера
у него нет.
- **Меню x-ui оставили в покое.** Больше не переписываем чужие файлы по расписанию, только
один раз при установке.
- **Строгие имена.** Параметры `--sni` и `--host` у установщика 3X-UI тоже проверяются.
- **Веб-панель Mihomo на роутере закреплена.** Генератор больше не ставит на роутер «последнюю»
версию zashboard, а только ту, которую мы видели в лицо (v3.29.1).
**Для тех, кто хочет проверить сам**
- В README появилась установка с проверкой: скачать, прочитать, сверить SHA256, запустить.
- `SECURITY.md`: как сообщить об уязвимости, не публикуя её на весь интернет.
- Проверка кода на каждый коммит: ShellCheck, Python, тесты генераторов.
**Обновления приходят сами, но только с нашей печатью**
- Раньше, чтобы получить исправление, приходилось сносить всё и раздавать ссылки заново.
«Мам, удали старый VPN, вот новый» больше не повторится.
- Раз в сутки ночью сервер сам проверяет, не вышла ли новая версия, и обновляет kit и подписку.
Пользователи, ссылки и подписки остаются прежними. Панель 3X-UI и Xray не трогаем.
- Каждый релиз подписан ключом автора, а открытая часть ключа уже лежит на вашем сервере.
Подпись не сошлась? Сервер вежливо отказывается. Даже если взломают GitHub, чужое обновление
не встанет: для этого нужен ещё и ключ, а он не в облаке, а у автора.
- Откатить сервер на старую версию под видом новой тоже не выйдет: номер версии внутри подписи.
- После обновления сервер проверяет, что подписка отвечает. Не отвечает – возвращает прежнюю
и пишет об этом в журнал `/var/log/kit-update.log`.
- Не любите сюрпризы? `kit update --manual`, и обновляться будете сами, командой `kit update`.
**Переезд без боли: `kit backup`**
- `kit backup` складывает в один файл всё, что нужно серверу: подключения, ключи, пользователей,
настройки подписки. `--restore` поднимает из него тот же сервер на новом VPS.
- Хостер поднял цены или IP попал в немилость? Переезжаете за 5 минут, а на домене клиенты
вообще ничего не заметят.
- Копия восстанавливается только из вашего файла и сначала проходит досмотр: лишние файлы
и хитрые пути внутри архива, и восстановление не начнётся.
**Заглушка с характером**
- На случайный заход сервер теперь показывает один из шести сайтов: кофейню, фотографа, блог
про Linux и других. Выбирается при установке, так что тысячи серверов 3X-UI KIT больше
не выглядят как близнецы. Всё лежит внутри скрипта, ничего не качаем со сторонних сайтов.
**Как обновиться**
- Сервер 3X-UI KIT из версии 1.0 (там ещё нет `kit update`), один раз:
`curl -fsSL https://raw.githubusercontent.com/itsnotkubrick/3X-UI_KIT/v1.1/scripts/kit.sh -o /usr/local/bin/kit && chmod 755 /usr/local/bin/kit && kit update`
- Дальше обновления будут приходить сами.
- Hysteria2: `hy2 update` (тоже проверяет подпись).
- Новые установки получают всё сразу.
## v1.0
Первая версия: 11 протоколов одной командой, всё через 443, одна подписка на все приложения,
пользователи через `kit user`, генераторы конфигов для XKeen.