14 KiB
Что нового в сборке форка
Здесь записи о наших версиях. Файл автора (CHANGELOG.md) мы не трогаем — так обновления
автора не конфликтуют с нашими записями.
v1.2.6: вопросы при установке
- README.md переписан целиком: убрано авторское описание с его командой установки, добавлены
актуальная команда, флаги, таблица протоколов, список сайтов-заглушек, команды
kitиkit local, канал обновлений и оговорки. Две картинки — наши (manuals/assets/fork-banner.svgиmanuals/assets/script-3x-ui-local.svg, терминал собран из настоящего вывода скрипта). - Шов в README больше не нужен (
tools/fork_apply.py): файл наш целиком, какkit-local.sh.
v1.2.7: имя 3X-UI_autoVPS, справка kit help, подписка с QR, живые кнопки на заглушках
-
Сборка называется
3X-UI_autoVPS(было3X-UI KIT): баннер сервера —Hacker 07в том же стиле, новое имя в справке, версии, описаниях служб и в имени профиля в клиенте. В файлах автора это сделано швами (tools/fork_apply.py), поэтому обновление автора правки не затирает. -
Совместимость шапки релиза. В подписанном
SHA256SUMSэтого релиза шапка пишется двумя строками (старая и новая), а проверка на сервере принимает обе. Иначе уже установленные серверы отказались бы ставить обновление: они сверяют точный вид строки. Со следующего релиза останется только новое имя. -
Убрано дублирование подсказки «Дальше обязательно» при смене порта SSH: она печаталась и установщиком, и командой
kit local ssh. -
kit help— полный справочник по категориям: пользователи, подключения и порты, маскировка и сайт, проверка и починка, обслуживание и обновление, защита сервера (наш слой). Раньшеkit helpпоказывал короткий список автора и не упоминал наши команды. Чтобы справка не отставала молча, добавлена проверкаtools/check-help.sh: она сверяет справку с диспетчером команд и встроена в сборку релиза (tools/release.sh). -
У сайтов-заглушек все ссылки и кнопки живые: нажатие открывает окно «раздел в разработке, приносим извинения» (закрыть — кнопкой, кликом мимо окна или Esc). Никаких внешних запросов: скрипт и стили внутри страницы.
-
В самом конце установки (после всех проверок) печатается то, что нужно сохранить: подписка с QR-кодом и ссылки по протоколам — авторской командой
kit user link <имя> --all, поэтому вывод совпадает с тем, что показываетkitпотом. Отключается флагом--no-sub. -
Набор по умолчанию — REALITY + AmneziaWG-3.1 (самый совместимый минимум); ответ «все» ставит полный набор автора. Умолчание задаётся в одном месте (
DEFAULT_PROTOS). -
Сайт-заглушка переделан на ИТ-тематику: десять правдоподобных сайтов (дата-аналитика, DevOps, мониторинг, разработка, аудит, ИТ-поддержка, колокейшн, заметки про Linux, бэкапы, документация) вместо авторских «кофеен и пекарен». Ставится случайный, конкретный —
kit local site 7, список —kit local site --list. Команда обновляет и файл для nginx, и копию страницы внутри подключения Hysteria2 (kit net masq on): если менять файл вручную, 443/tcp и UDP-порт начнут отвечать разными страницами — это заметно снаружи. -
Обёртка спрашивает, какие протоколы ставить (нумерованный список,
1,3,11или «все», Enter — набор автора): невыбранные протоколы не создаются вообще — ни подключения в панели, ни записей в nginx, ни ссылок в подписке. Список и умолчание взяты из самого установщика (ALL_PROTOS/DEFAULT_PROTOS), передаётся его же флагом--protocols, так что поведение не расходится с авторским. Свой--protocolsможно задать флагом — тогда вопроса не будет. -
Обёртка
scripts/3x-ui-local.shтеперь спрашивает, а не решает за вас: закрывать ли ответ на ping, включать ли автообновления безопасности, менять ли порт SSH (Enter — оставить текущий, число — перевести на него; мусор и занятый порт переспрашивает), менять ли пароль root. Маскировку и домен, как и раньше, спрашивает установщик автора. -
Смена порта SSH никогда не закрывает прежний порт сама: сначала добавляется новый, затем скрипт печатает две команды — проверить вход во втором окне и закрыть прежние (
kit local ssh --close-old). -
Запуск без флагов = «одна команда, дальше вопросы». Флаг
--yes— наоборот, ничего не спрашивать (для автоматизации): ping закрывается, автообновления включаются, порт SSH и пароль не трогаются. -
Флаг
--hardenтеперь действительно существует (раньше он уходил установщику автора неизвестным параметром и ронял установку): закрыть ping и включить автообновления без вопросов. -
--dry-runпоказывает, что именно будет спрошено или сделано по умолчанию.
v1.2.5: суммы релиза в формате, который понимает kit
- Исправлена ошибка нашего релизного конвейера: на Windows
sha256sumпишет суммы какhash *файл, аkitна сервере сверяет имя строго ($2 == "файл") — то естьkit updateотклонил бы релизы v1.2.1–v1.2.4 как «в подписанном списке нет такого файла». Теперьtools/release.shприводит список к POSIX-виду (hash файл) до подписи. scripts/3x-ui-local.shпринимает оба формата, чтобы не спотыкаться о суммы, собранные на другой машине.- Проверка теперь повторяет логику самого
kit: подписьSHA256SUMS+ строгая сверка имени каждого файла из подписанного списка (а не толькоsha256sum -c, который звёздочку прощает).
v1.2.4: проверка релиза отдельной командой
- Флаг
--verify-only: скачать релиз, проверить подписьSHA256SUMSи SHA256 установщика и выйти — можно проверить канал на сервере, ничего не устанавливая. - Порядок шагов изменён: проверка подписи теперь идёт до предполётных проверок и до любых изменений на сервере, чтобы чужой код не запускался раньше проверки.
v1.2.3: установка одной командой (scripts/3x-ui-local.sh)
- Один скрипт на чистом VPS: проверка сервера → скачивание нашего релиза → проверка подписи
SHA256SUMSи SHA256 самого установщика → установщик автора (панель 3X-UI, протоколы, сайт-заглушка, маскировка, сертификат, подписка, ufw) → наши дополнения → проверка. - По умолчанию досыпает: закрыть ответ на ping (правилом ufw), включить обновления безопасности,
kit fix(время и безопасные починки), в концеkit checkи сводкуkit local hardening. Отключается флагами--no-harden,--no-time,--no-check. - Второй порт SSH — только по явному флагу
--ssh-port N: прежний порт продолжает работать, закрытие — отдельным шагомkit local ssh --close-old N. Автоматически доступ не запираем. - Все флаги установщика автора (
--domain,--sni,--panel-on,--host,--restore…) передаются как есть; есть--dry-run(план без изменений) и--help. - Публичный ключ форка вшит в обёртку — подпись проверяется до запуска чужого кода; при смене
ключа обновляется и здесь, и в
kit.
v1.2.2: команды защиты сервера (поведение из StressOzz/vps-setup)
- Новые команды
kit local:ssh <порт>(добавить порт SSH),ssh --close-old(закрыть прежние порты),ping off|on(не отвечать на ICMP echo),passwd [--generate](сменить пароль),upgrades on|off|status(автообновления безопасности),hardening(сводка по защите сервера). - Сделано безопаснее, чем в источнике: конфиг sshd проверяется через
sshd -tдо перезапуска, новый порт сначала открывается в ufw, прежний порт продолжает работать до отдельного шага--close-old, у правок есть--dry-run, а копии изменённых файлов остаются в/root/kit-local-backup-<дата>/(не в/tmp). apt full-upgradeиз источника не выполняется: вместо него включаются обновления безопасности (только security, без самовольной перезагрузки) — это не затрагивает закреплённые версии панели и ядра, которые ставятся не из apt.- Учтён Ubuntu 24.04: если SSH слушает systemd (
ssh.socket), порт добавляется socket-drop-in'ом, а закрытие старых портов не делается автоматически — там ошибка запирает доступ к серверу. - Ping отключается правилом ufw (
before.rules), а не общесистемнымicmp_echo_ignore_all: видно вufw status, отменяется одной командой и не глушит ICMP для внутренних интерфейсов.
v1.2.1: сборка форка поверх 3X-UI_autoVPS 1.2
- Источник файлов и обновлений — свой репозиторий Gitea: установка и
kit updateберут релиз оттуда, а подпись релиза проверяется ключом форка. Авторский ночной апдейт приходит в наш канал, поэтому наши доработки не стираются ночью. - Дополнения форка живут отдельным файлом
/usr/local/lib/kit/kit-local.shи подключаются одной строкой:kit local help | version | channel | seams | masking. - Наш файл едет в том же подписанном релизе, что и код автора: он входит в
SHA256SUMS, проверяется по подписи и обновляется вместе сkit. - Швы в коде автора описаны в
tools/fork_apply.py(источник правды), синхронизация с автором и проверки —tools/fork-sync.sh.
Основа — 3X-UI_autoVPS 1.2 (панель 3X-UI v3.9.0, ядро Xray v26.6.27). Что нового у автора — в CHANGELOG.md.