Files
3X-UI_autoVPS/FORK-CHANGELOG.md
T

9.3 KiB
Raw Blame History

Что нового в сборке форка

Здесь записи о наших версиях. Файл автора (CHANGELOG.md) мы не трогаем — так обновления автора не конфликтуют с нашими записями.

v1.2.6: вопросы при установке

  • Обёртка спрашивает, какие протоколы ставить (нумерованный список, 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 KIT 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 KIT 1.2 (панель 3X-UI v3.9.0, ядро Xray v26.6.27). Что нового у автора — в CHANGELOG.md.