Files
3X-UI_autoVPS/manuals/3x-ui.md
T
itsnotkubrick c39fe19b08 Всё TCP через порт 443: nginx разводит по SNI и путям
- nginx stream на 443: по SNI — REALITY, XHTTP REALITY (свой сайт маскировки), MTProto
  (свой FakeTLS-домен); остальное — HTTPS-сервер nginx
- HTTPS-сервер: VLESS WS, VMess WS, Trojan gRPC, подписка (kit-sub) и панель по секретным
  путям, сайт-заглушка на всё прочее
- Подключения слушают только localhost, ссылки ведут на 443 через External Proxy 3X-UI;
  настоящие IP клиентов доходят через proxy protocol (лимит устройств работает)
- Снаружи открыты только 443/tcp, 80, SSH, Shadowsocks и UDP-порты
- Режим для новых установок с доверенным сертификатом; --multi-port — прежняя схема;
  старые многопортовые установки не переделываются автоматически

Проверено: Mihomo по подписке 10/10 у двух пользователей, официальный AmneziaWG,
матрица Xray/Mihomo/sing-box, панель и заглушка, пробы REALITY и MTProto без ключа.
2026-09-27 19:16:09 +03:00

9.0 KiB
Raw Blame History

🛡 3X-UI: все протоколы одной командой

← Все инструкции

Одна команда ставит панель 3X-UI, создаёт подключения на 11 протоколах и выдаёт одну ссылку-подписку: приложение само получит подходящий ему формат и нужные протоколы. Домены не нужны.

Что делает скрипт:

  • ставит официальную 3X-UI проверенной версии её собственным установщиком и ядро Xray, с которым работают все клиенты (Hiddify, Mihomo, v2rayN, Happ);
  • выпускает сертификат Let's Encrypt на IP сервера и сам его продлевает;
  • прячет панель на случайном порту и пути, со случайными логином и паролем;
  • подбирает сайт для маскировки REALITY — с TLS 1.3 и HTTP/2;
  • создаёт подключения на всех протоколах из таблицы ниже, генерирует ключи и обфускацию AmneziaWG;
  • включает единую подписку с учётом приложения: Clash Verge и FlClash получают готовый конфиг Mihomo с AmneziaWG, остальные приложения — ссылки только на то, что они умеют;
  • открывает в ufw только нужные порты.

Протоколы

Протокол Порт Работает в
VLESS REALITY 443/tcp всех приложениях
Hysteria2 443/udp всех приложениях
VLESS XHTTP + REALITY 443/tcp v2rayN, Happ, Clash Verge, FlClash
VLESS WebSocket + TLS 443/tcp всех приложениях
Trojan gRPC + TLS 443/tcp всех приложениях
VMess WebSocket + TLS 443/tcp всех приложениях
Shadowsocks 2022 8388/tcp+udp всех приложениях (мобильный МТС его блокирует, по Wi-Fi работает)
TUIC v5 8444/udp Hiddify, Clash Verge, FlClash, NekoBox
AmneziaWG 51821/udp AmneziaVPN, AmneziaWG, Clash Verge, FlClash
AmneziaWG 3.1 51822/udp AmneziaVPN, AmneziaWG, Clash Verge, FlClash
MTProto 443/tcp прокси прямо в Telegram (если сервер сам достаёт до Telegram)

Все TCP-протоколы, панель и подписка работают через один порт 443. Его слушает nginx: по имени сайта в запросе (SNI) он узнаёт REALITY, XHTTP и MTProto, остальное расшифровывает и разводит по секретным путям, а на всё прочее показывает сайт-заглушку. Снаружи у сервера открыты только 443, 80 (для продления сертификата), SSH и UDP-порты. Настоящие IP клиентов доходят до панели, поэтому лимит устройств работает.

Каждый протокол проверен настоящим подключением на ядрах Xray, Mihomo и sing-box, в том числе через интернет к серверу в России — стенд лежит в tests/matrix.

Note

Обычный WireGuard по умолчанию не ставится: в России его рукопожатие режет DPI, а попытки подключения могут привести к блокировке IP сервера. AmneziaWG — тот же WireGuard с маскировкой — проходит. Если сервер и пользователи за границей, добавьте wg в --protocols.

Что понадобится

  • VPS с Ubuntu 22.04/24.04 или Debian 12/13, доступ root по SSH
  • Свободные порты 443 и 80 — на свежем сервере они свободны

Установка

Подключитесь к серверу по SSH и выполните:

bash <(curl -fsSL https://raw.githubusercontent.com/itsnotkubrick/Reality_Hysteria2/main/scripts/3x-ui.sh)

Через пару минут скрипт покажет всё нужное:

Результат установки 3X-UI

  1. Адрес панели — откройте его в браузере.
  2. Логин и пароль от панели.
  3. Подписка — вставьте её в приложение или отсканируйте QR-код.

Всё это, вместе с отдельными ссылками на каждый протокол, сохраняется в /root/3x-ui.txt: посмотреть снова — cat /root/3x-ui.txt.

Подключение

В приложении нажмите + → Импорт из буфера (или «Добавить подписку») и вставьте ссылку:

Устройство Приложение
iPhone, iPad Happ, Streisand, Hiddify
Android Hiddify, Happ, v2rayNG, FlClash
Windows, macOS, Linux Hiddify, v2rayN, Clash Verge

Подписка смотрит, какое приложение её запрашивает: Clash Verge и FlClash получают AmneziaWG, а Happ, v2rayN, Karing и Hiddify — нет, потому что не умеют его. Для AmneziaVPN импортируйте ссылки vpn:// из /root/3x-ui.txt, для Telegram — ссылку tg:// оттуда же.

Друзья

Одна команда на сервере добавляет друга сразу во все протоколы и выдаёт его подписку с QR-кодом:

kit user add sasha --gb 50 --days 30
Команда Что делает
kit user add имя [--gb N] [--days N] [--devices N] добавить; лимит трафика, срок и число устройств — по желанию
kit user list кто сколько израсходовал, до какого числа и когда был в сети
kit user link имя [--all] подписка и QR-код ещё раз; --all — ещё ссылки vpn:// и tg://
kit user limit имя --gb N --days N изменить лимиты (0 — без ограничений)
kit user off имя / kit user on имя временно выключить и включить
kit user del имя удалить

Трафик и лимиты общие на все протоколы: 50 ГБ — это 50 ГБ суммарно, через что бы друг ни подключался.

Параметры

Параметр Что делает
--protocols reality,hy2,ws только выбранные протоколы; minimal — только REALITY
--port 8443 порт REALITY (TCP) и Hysteria2 (UDP) вместо 443
--cert fullchain.pem --key privkey.pem --host домен свой сертификат, например для домена
--sni www.samsung.com свой сайт для маскировки REALITY
--no-ufw не трогать файрвол
--multi-port прежняя схема: у каждого протокола свой порт, без nginx

Как устроена подписка

Наружу смотрит небольшой сервис kit-sub (Python, служба kit-sub), а подписка 3X-UI работает только внутри сервера. kit-sub узнаёт приложение по User-Agent, добавляет AmneziaWG в конфиг для Clash-приложений, убирает из заголовка «срок 0», из-за которого приложения показывали 01.01.1970, и сам подхватывает продлённый сертификат.

Note

Если порт 80 занят, сертификат Let's Encrypt не получить. Тогда скрипт сделает свой сертификат и впишет его отпечаток в ссылки, а панель будет доступна через SSH-туннель. Подписка в этом режиме работает только изнутри сервера — используйте отдельные ссылки.

Обслуживание

Управление панелью — официальная команда x-ui: перезапуск, логи, обновление, удаление.

x-ui

← Все инструкции · Дальше: 🚀 Hysteria2 →