-
3X-UI_autoVPS 1.2.22
StableСинхронизация с автором / sync (push) Successful in 3sreleased this
2026-10-14 12:51:11 +03:00 | 34 commits to main since this releasev1.2.22: 80 в ufw открывается прямо перед выпуском сертификата
- Настоящая причина сбоя сертификата (проверено на живом сервере): установщик открывает список
портов в ufw позже, чем пробует выпустить сертификат. На свежем сервере ufw в этот момент
разрешает только 22, поэтому проверка Let's Encrypt доходила до сервера и «проглатывалась» —
в логе acmeTimeout during connect (likely firewall problem). Провайдер тут ни при чём:
с настоящим слушателем 80 и 443 отвечают снаружи нормально (проверено в том числе с другого сервера). - Теперь 80/tcp открывается в ufw непосредственно перед
issue_domain_cert, а формулировка ошибки
в установщике исправлена: сначала проверяем ufw, потом хостера.
Установка:
bash <(curl -fsSL https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/branch/main/scripts/3x-ui-local.sh)Downloads
- Настоящая причина сбоя сертификата (проверено на живом сервере): установщик открывает список
-
3X-UI_autoVPS 1.2.21
StableСинхронизация с автором / sync (push) Successful in 1sreleased this
2026-10-14 00:18:01 +03:00 | 36 commits to main since this releasev1.2.21: порты до выпуска сертификата и понятный блок про SSH-порт
- Порты до сертификата. Установщик теперь сам открывает 80 и 443 в ufw перед работой и прямо
предупреждает, что такие же правила нужны в файрволе хостинга: частая причина срыва — порт 80
закрыт именно у провайдера, а не в сервере. Если сертификат всё же не выпустился, в выводе
разбирается причина: приTimeout during connect (likely firewall problem)пишется, что делать
(открыть 80 в панели хостинга) и предлагается вариант без своего домена (тогда сертификат домена
не нужен, панель остаётся на самоподписанном). После установки 80 и 443 в ufw проверяются ещё раз. - Смена порта SSH — с понятным завершением. Прежние порты запоминаются до смены, и в конце
печатается блок: новый порт, какие прежние ещё открыты, команда проверки входа во втором окне и
готовая командаkit local ssh --close-old <новый>для закрытия прежних. Строка про SSH-порт
добавлена и в итоговый блок с доступом к панели и подпиской.
Установка:
bash <(curl -fsSL https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/branch/main/scripts/3x-ui-local.sh)Downloads
- Порты до сертификата. Установщик теперь сам открывает 80 и 443 в ufw перед работой и прямо
-
3X-UI_autoVPS 1.2.20
StableСинхронизация с автором / sync (push) Successful in 2sreleased this
2026-10-14 00:03:57 +03:00 | 39 commits to main since this releasev1.2.20: после сноса меню не показывается, и нет ошибок про latest-version
- Удаление из меню (
kit, пункт 9) теперь завершается сразу: печатается «Готово: сервер в состоянии
до установки» — и выход. Раньше меню перерисовывалось на уже удалённом сервере и сыпало
touch: cannot touch '/etc/kit/latest-version'. update_hintбольше не пытается что-либо писать, если каталога/etc/kitуже нет.- Входит исправление 1.2.19:
extraобъявлена пустой (иначеset -uвалил установку на шаге
«[6/6] Проверка» сообщениемextra: unbound variable).
Установка:
bash <(curl -fsSL https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/branch/main/scripts/3x-ui-local.sh)Downloads
- Удаление из меню (
-
3X-UI_autoVPS 1.2.18
StableСинхронизация с автором / sync (push) Successful in 1sreleased this
2026-10-13 23:53:22 +03:00 | 42 commits to main since this releasev1.2.18: выбранный «свой домен» больше не подменяется соседом
- Что было: после выбора «ввести свой домен» установщик всё равно брал запасной сайт из подсети.
Две причины, обе в моём коде: (1) выбор перезаписывался сырым значением меню (own:домен)
вместо самого домена; (2) домен проверялся на «TLS 1.3 + HTTP/2» — а до установки на нём ещё нет
сертификата, поэтому проверка честно не проходила и срабатывал откат на соседа. Теперь для своего
домена проверка TLS не делается (он указывает на этот сервер — установщик сам выпустит
сертификат Let's Encrypt), а автоподбор и запасной сайт включаются только если вы НЕ выбрали
ничего (автовыбор).
Установка:
bash <(curl -fsSL https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/branch/main/scripts/3x-ui-local.sh)Downloads
- Что было: после выбора «ввести свой домен» установщик всё равно брал запасной сайт из подсети.
-
3X-UI_autoVPS 1.2.17
StableСинхронизация с автором / sync (push) Successful in 1sreleased this
2026-10-13 23:45:13 +03:00 | 44 commits to main since this releasev1.2.17: меню маскировки идёт ПЕРВЫМ (меню автора больше не перебивает)
- Причина, по которой меню не было видно: меню спрашивал сам установщик («Свой домен / Сосед /
Свой сайт») — и до нашего скана подсети дело не доходило. Теперь, когда включено наше меню,
меню автора не показывается вообще: сразу скан, список найденных доменов и выбор — из найденных,
автовыбор, общедоступный или свой домен. Отключить и вернуть поведение автора:--auto-sni. - Ответ меню помечается: если вы ввели домен, который указывает на этот сервер, маскировка идёт
«под свой домен» (сертификат Let's Encrypt выпустит установщик); если не указывает — маскируюсь
под него как под чужой сайт и прямо об этом сообщаю. - Входит исправление 1.2.16: возвращён
ask_yes(в 1.2.13–1.2.15 при установке печаталось
ask_yes: command not found, и значения брались по умолчанию) + гейт «определение раньше вызова».
Установка:
bash <(curl -fsSL https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/branch/main/scripts/3x-ui-local.sh)Downloads
- Причина, по которой меню не было видно: меню спрашивал сам установщик («Свой домен / Сосед /
-
3X-UI_autoVPS 1.2.15
StableСинхронизация с автором / sync (push) Successful in 2sreleased this
2026-10-13 23:22:16 +03:00 | 48 commits to main since this releasev1.2.15: меню выбора сайта в вашем виде, быстрый скан, снос с добивкой
- Меню маскировки выглядит так, как и просили. Если соседи нашлись — их список по номерам,
затемавтовыбор из списка,выбрать общедоступный(отдельным списком) иввести свой домен.
Если в подсети ничего не нашлось — сразу «общедоступный» или «свой домен» (ничего лишнего).
Enter — автовыбор. Общедоступные сайты предлагаются и для REALITY, и для XHTTP/MTProto. - Скан подсети стал быстрым. Было: адреса проверялись по 8 сразу, а найденные имена —
по очереди (до 40 имён × три проверки с сетевыми запросами ≈ минуты). Стало: 32 адреса сразу
и имена проверяются параллельно по 8; таймаут проверки адреса 3 с вместо 4. - В выводе видно, сколько соседей нашлось (раньше было не понять, работает ли скан).
- После нашего меню автор больше не спрашивает «продолжить с запасным сайтом?» — выбор уже сделан.
- В меню
kit: 9 — «Удалить всё установленное», 10 — «Выход» (меню панелиx-uiпереехало
в пункт 11). kit local uninstallдоводит дело до конца: после явного списка идёт добивка по шаблонам
(/etc/kit*,/usr/local/lib/kit*, юнитыkit-*/x-ui*,/var/www/kit, сертификаты), повторная
проверка и внятный итог. Появился флаг--yes— снести без вопроса.
Установка:
bash <(curl -fsSL https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/branch/main/scripts/3x-ui-local.sh)Downloads
- Меню маскировки выглядит так, как и просили. Если соседи нашлись — их список по номерам,
-
3X-UI_autoVPS 1.2.12
StableСинхронизация с автором / sync (push) Successful in 1sreleased this
2026-10-13 22:59:51 +03:00 | 50 commits to main since this releasev1.2.12: не сканируем соседей, когда они не нужны
- Автор подбирал сайты-соседи для XHTTP и MTProto всегда, когда маскировка доверенная («панель по IP»)
и всё висит на 443 — независимо от того, выбраны ли эти протоколы. При установке одного REALITY это
давало ~250 обращений к чужим адресам впустую. Теперь скан идёт только если XHTTP или MTProto выбраны;
иначе имена SNI2/SNI3 берутся из общего списка сайтов автора (как и раньше при неудаче скана).
Что нового в сборке форка
Здесь записи о наших версиях. Файл автора (
CHANGELOG.md) мы не трогаем — так обновления
автора не конфликтуют с нашими записями.
Установка:
bash <(curl -fsSL https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/branch/main/scripts/3x-ui-local.sh)Downloads
- Автор подбирал сайты-соседи для XHTTP и MTProto всегда, когда маскировка доверенная («панель по IP»)
-
3X-UI_autoVPS 1.2.14
StableСинхронизация с автором / sync (push) Successful in 2sreleased this
2026-10-13 22:57:13 +03:00 | 51 commits to main since this releasev1.2.14: выбор сайта маскировки по результатам скана + снос, который не обрывается
- Появилось меню маскировки. Сначала один скан подсети (~250 обращений к 443 соседних адресов),
потом выбор: номер из найденного,0— ввести адрес вручную, Enter — автоподбор. Отдельно для
REALITY (найденное или свой) и отдельно для XHTTP/MTProto (найденное, свой или известный
сайт — список известных расширен Microsoft, AMD, Intel, NVIDIA). Если XHTTP/MTProto не выбраны,
второго меню не будет. Отключить меню:--auto-sni. - Исправлено:
kit local uninstallобрывался на середине.kitзапускает наши команды
сset -e, и подсчёт чужих сайтов nginx (find | grep | wc -l, где grep не находит ничего и
возвращает 1) убивал скрипт сразу после остановки служб — файлы и/usr/local/bin/kitоставались,
поэтомуkit helpпродолжал работать. Теперь снос выполняется с отключённымset -eи все
подобные конвейеры защищены; проверка после сноса это подтверждает списком, если что-то осталось.
Установка:
bash <(curl -fsSL https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/branch/main/scripts/3x-ui-local.sh)Downloads
- Появилось меню маскировки. Сначала один скан подсети (~250 обращений к 443 соседних адресов),
-
3X-UI_autoVPS 1.2.13
StableСинхронизация с автором / sync (push) Successful in 3sreleased this
2026-10-13 22:40:27 +03:00 | 53 commits to main since this releasev1.2.13: вопросов после показа доступов нет, и никакой работы для невыбранных протоколов
- Все вопросы — до установщика. Раньше после установки (когда на экране уже были данные входа
в панель) скрипт спрашивал про ping, автообновления, порт SSH и пароль root — доступы терялись
в потоке вопросов. Теперь спрашиваем всё заранее, а действия выполняем после установки; последнее,
что видит человек, — доступ к панели, подписка и QR-код. - Автор тянет подписки «-awg» и «-tg» (наследие установок kit < 1.1) всегда — теперь только если
AmneziaWG или MTProto выбраны. - Наши команды помнят выбор: установщик пишет список протоколов в
/etc/kit/kl-protos, и
kit local siteне синхронизирует ответ Hysteria2, если Hysteria2 не ставился (раньше он это делал
и выдавал предупреждение про отсутствующий Hysteria2).
Установка:
bash <(curl -fsSL https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/branch/main/scripts/3x-ui-local.sh)Downloads
- Все вопросы — до установщика. Раньше после установки (когда на экране уже были данные входа
-
3X-UI_autoVPS 1.2.11
StableСинхронизация с автором / sync (push) Successful in 2sreleased this
2026-10-12 22:57:16 +03:00 | 57 commits to main since this releasev1.2.11: снос знает про kit-limit и находит свои службы сам
- В списке сноса не было
kit-limit.serviceиkit-limit.timer(юнит «общий лимит трафика» из kit) —
его создаёт установка, аkit local uninstallего не убирал. Из-за этого после сноса оставался
работающий таймер, который раз в 5 минут дёргал уже удалённыйkitи падал. - Теперь снос берёт список служб и из явного перечня, и по шаблонам
x-ui*/kit*из systemd —
новая служба, добавленная автором позже, не останется незамеченной. Проверка после сноса ищет
по тем же шаблонам и показывает всё найденное. - Флаг
--cleanу установщика использует тот же список.
Установка:
bash <(curl -fsSL https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/branch/main/scripts/3x-ui-local.sh)Downloads
- В списке сноса не было