Skip to content

Releases: Shepard86rus/3x-ui-dual-domain

v0.5.8

Choose a tag to compare

@Shepard86rus Shepard86rus released this 21 Oct 15:17
363ff93

install больше не обрывается перезагрузкой посреди установки.

Что исправлено

  • Предпроверка ядра в самом начале install: если ядро устарело (для него нет заголовков) или уже ждёт перезагрузки, скрипт предлагает обновить систему, перезагружает сервер и просит запустить install заново. Установка идёт уже на свежем ядре.
  • Установщик панели больше не перезагружает сервер сам посреди установки после установки нового ядра для AmneziaWG (отключено в скачанном install.sh; если текст апстрима изменится, скрипт предупредит).
  • Итоговый экран: если после установки нужна перезагрузка, она стоит первым пунктом, в конце спрашивается «Перезагрузить сервер сейчас?».
  • healthcheck [9]: подсказывает перезагрузку, если модуль AWG ещё не загружен из-за нового ядра.
  • Контейнеры, запуск без терминала и SKIP_KERNEL_PREFLIGHT=1 предпроверку пропускают; на уже настроенном сервере вопрос по умолчанию «нет».

Проверено: аудит, прогон на чистой Ubuntu 24.04 со старым ядром (87 проверок OK, 0 провалено).
Обновление существующих нод: sudo bash /root/3x-ui-dual-domain.sh upgrade

v0.5.7

Choose a tag to compare

@Shepard86rus Shepard86rus released this 20 Oct 14:23
9e9920e

Точечные правки по аудиту ZCode релиза v0.5.6. Новых функций нет.

  • add-xhttp: проверка бэкапа БД перед правкой; если инбаунд на 127.0.0.1:8447 уже есть, команда отказывает и подсказывает remove-xhttp (дубль не создаётся)
  • откат и remove-xhttp: сбой запуска x-ui больше не обрывает команду молча, печатается предупреждение
  • healthcheck [4]: исключение XHTTP-инбаунда только по порту и listen (тег может переименоваться)
  • install: INSTALL_SELF принимается только если это скрипт (запуск через curl | bash)
  • upgrade: защита от параллельного запуска (flock)

Обновление: bash 3x-ui-dual-domain.sh upgrade

v0.5.6 — третий вход XHTTP+Reality, аккуратный конец установки

Choose a tag to compare

@Shepard86rus Shepard86rus released this 20 Oct 11:30
3a4f370

Что нового

  • Третий вход XHTTP+Reality на отдельном имени, без CDN: команды add-xhttp <имя> и remove-xhttp. Свой сертификат и сайт-заглушка, гость без ключа видит обычный сайт.
  • Встроено в установку: необязательный вопрос про третье имя. Если с XHTTP что-то не вышло, основная схема всё равно ставится.
  • Конец установки стал понятнее: одна итоговая сводка (панель, логин и пароль, подписки, что работает, что сделать сейчас), подробности в логе.
  • healthcheck: новый блок проверки XHTTP, rebind-ip учитывает третье имя.

Важно знать

XHTTP и Reality работают в клиентах на ядре Xray (например INCY). Клиенты на ядре mihomo (Clash Verge, XKeen) с Xray 26.9.8+ и отпечатком firefox не подключаются, подробности в docs/xhttp.md.

Обновление

Для установленных серверов: sudo bash 3x-ui-dual-domain.sh upgrade.

v0.5.5 — безопасный upgrade (sha256), защита от ложных откатов

Choose a tag to compare

@Shepard86rus Shepard86rus released this 19 Oct 13:19
9af2898

v0.5.5 — правки по перекрёстному аудиту v0.5.4

Безопасность

  • upgrade теперь качает ассет последнего релиза и сверяет sha256 с 3x-ui-dual-domain.sh.sha256 (раньше — raw main без проверки). Нет файла суммы или она не сошлась — отказ. Ветка main защищена (только через PR).
  • Бот: убрана кнопка «⬆ Панель (update)» (слепой ввод в меню под root), проверяется автор команды (from.id).

Надёжность

  • x-ui, остановленный add-h2/add-reality-front, при любом выходе скрипта запускается обратно (trap).
  • Нет xray-бинаря для пробы = «не проверено», а не провал самотеста и откат.
  • Повторный add-reality-front читает параметры Reality-пробы из БД; без пробы «ГОТОВО» сопровождается предупреждением. Пробы берут только включённого неистёкшего клиента.
  • AAAA-проверка без ложных FAIL (таймаут dig, CNAME; три резолвера; нет ответа — WARN).
  • add-h2 не затирает нештатные fallbacks (принудительно: LUCX_FORCE_FALLBACKS=1).
  • healthcheck: все AWG-порты в whitelist UDP; get_server_ip с локальными источниками; свободные порты проб; upgrade пишет маркер версии.

Известные ограничения (отложено): самотест идёт ключом реального клиента; мёртвая Reality-only ветка install; Н7.

Файлы релиза: 3x-ui-dual-domain.sh и 3x-ui-dual-domain.sh.sha256 (оба обязательны для upgrade).

v0.5.4: h2 + Reality перед TLS на одном 443, add-h2, add-reality-front

Choose a tag to compare

@Shepard86rus Shepard86rus released this 18 Oct 07:05
756f6bb

Что нового

  • Установка без вопроса о режиме: всегда VLESS+TLS+Vision на 443, h2 и Reality перед TLS (nginx stream SNI-роутер → 127.0.0.1:8446). Отключение: H2=0, REALITY_FRONT=0.
  • Самотест через публичный IP с временными клиентами; при провале nginx возвращается на 443, установка продолжается.
  • Новые команды для ретрофита: add-h2, add-reality-front (идемпотентны, с бэкапом и авто-откатом).
  • add-reality блокируется, пока активен Reality-front.
  • healthcheck: блок [7a] (alpn/fallback h2, h2c 8081, ALPN h2 снаружи, параметры Reality-инбаунда, слушатель 8446).
  • Исправления по аудиту: acceptProxyProtocol при reuse, подсказка про add-h2, выбор клиента для пробы.

Проверено

Чистая установка на тестовой ноде: healthcheck 77 OK / 0 FAIL, самотест TLS и Reality OK, живой клиент по обеим ссылкам, сертификаты из бэкапа без нового выпуска Let's Encrypt.

Откат

Предыдущие версии скрипта сохранены. Ретрофит-команды печатают путь бэкапа и команду восстановления.

v0.5.3 — авто-настройка инбаундов и подписок, клиенты видны сразу

Choose a tag to compare

@Shepard86rus Shepard86rus released this 17 Oct 05:46
75fd627
  • Инбаунды VLESS/HY2: адрес в ссылке = REALITY_DOMAIN (custom), uTLS firefox — автоматически
  • Рекомендованные настройки подписок (Clash/Mihomo, Happ, Incy); правила Clash скачиваются по тегу релиза (clash-universal.yaml, нужен Mihomo ≥ 1.19)
  • После создания инбаундов вызывается x-ui migrate — клиенты сразу видны на странице Clients (lucx .302)
  • certbot --keep-until-expiring: существующий не просроченный сертификат не перевыпускается
  • Итоговый текст установки: что сделано автоматически и что осталось вручную
  • Только для новой установки; существующие ноды не меняются

v0.5.2

Choose a tag to compare

@Shepard86rus Shepard86rus released this 15 Oct 03:21
d128b53
  • install не создаёт дубли строк webListen/webPort/webBasePath в settings
    (INSERT OR IGNORE → INSERT ... SELECT ... WHERE NOT EXISTS)

v0.5.1

Choose a tag to compare

@Shepard86rus Shepard86rus released this 15 Oct 03:07
d014701
  • HSTS на заглушках (новые установки)
  • Vision по умолчанию для VLESS+TLS (install, add-vls, ссылки)
  • hc [14]: счётчик попыток входа по SSH (справочно)
  • PSI_WARN_PCT: порог io-давления вынесен в переменную
  • add-swap / remove-swap (по явной команде)
  • Бот: управление клиентами (создать, удалить, список), sub-ссылка на VLESS+Hy2
  • hc [12]: проверка API-токена панели
  • README: как создать API-токен
  • tools/hub: черновик модуля клиентов для хаб-бота

v0.5.0 — drop-in песочницы AWG больше не нужен (панель lucx.292+)

Choose a tag to compare

@Shepard86rus Shepard86rus released this 14 Oct 07:17
e49c5d6

v0.5.0 — drop-in песочницы AWG больше не нужен (панель lucx.292+)

Причина релиза: панель lucx.292 сама разрешает запись в /etc/amnezia (путь добавлен в ReadWritePaths юнита x-ui в install/update), поэтому drop-in 20-awg-amnezia.conf из v0.4.9 больше не нужен.

  • install/upgrade больше не ставят drop-in; команда ensure-awg-dropin оставлена безвредной заглушкой (апгрейд из v0.4.9 её вызывает)
  • healthcheck [13] проверяет факт — что реально разрешено юниту x-ui (systemctl show x-ui -p ReadWritePaths), а не наличие нашего файла; FAIL только если есть AWG-инбаунды, а юнит не может писать в /etc/amnezia (панель lucx.291) — совет: обновить панель до lucx.292+
  • healthcheck [13]: предупреждение (WARN), если диск ВМ подвисает (PSI io full avg300 ≥ 3%) — такие подвисания дают «database is locked» в панели
  • Telegram-бот: кнопка «Бэкап БД» делает копию через sqlite3 .backup (простой cp живой базы в WAL-режиме неполный); чтобы получить новое тело бота: sudo bash 3x-ui-dual-domain.sh add-bot (токен и настройки сохраняются)
  • исправлен текст ошибки про выбор типа БД; README: абзац про песочницу и AWG переписан

Уже поставленные drop-in'ы безвредны: скрипт их не трогает, при желании удаляются вручную (rm + systemctl daemon-reload).