← на главную
Документация · 3x-ui

Подключение Clearway к 3x-ui

Минут десять, три шага: инбаунд на сервере, хост с адресом входа и проверка. Дальше ссылки и подписку для абонентов выдаёт сама панель — собирать ничего вручную не нужно.

Обновление 18 октября: новый Вход 2 и прямой адрес.
Вход 2 заменён. Если вы добавляли его раньше (адрес вида метка.edge-assets.ru, отправка методом PUT), такой хост больше не работает. Настройте его заново по разделу «Вход 2»: у него общий адрес, ваш собственный путь и три параметра сессии. Абонентам нужно приложение на ядре Xray 26.6 или новее.
Появился прямой адрес — персональный адрес Входа 1, через который CDN подключается прямо к вашей ноде. По замерам это самый стабильный путь у мобильных операторов. Как включить — раздел «Прямой адрес».
Трафик через все входы считается из того же баланса.
Обновление 25 сентября — если вы настраивали раньше.
С этого дня у абонентов Билайна, части МегаФона и T-Mobile старая схема перестала проходить: соединение устанавливается, а сайты не открываются. В 3x-ui 3.2 и новее исправляется тремя полями в инбаунде (Входящие → ваш инбаунд → раздел XHTTP):

Uplink Data Placement → header
Макс. размер загрузки (байт) → 4096
Server Max Header Bytes → 262144

Сохраните — панель сама обновит ссылки и подписку. Абонентам останется обновить подписку или заново импортировать ссылку: старые ссылки после сохранения перестают работать, поэтому лучше делать это в спокойное время.

Версия старше 3.2 — смотрите таблицу ниже.

Какая у вас версия 3x-ui

От версии зависит, умеет ли панель сама выдавать правильные ссылки. Номер версии виден на главной странице панели.

ВерсияКак настраивать
3.4 и новееШаги 1–3 ниже как есть. Ссылки и подписку выдаёт панель.
3.2–3.3Шаги 1 и 3 как есть. В шаге 2 вместо «Хостов» — External Proxy.
3.0–3.1Шаг 1, затем ссылку — вручную (раздел «Ссылка вручную»): эти версии не передают в ссылку метод GET, и ссылки из панели через CDN не работают.
2.9 и старшеСначала обновите панель (команда x-ui update): эти версии при сохранении стирают часть нужных полей, и новую схему в них не включить.

Сначала — как это устроено

Пять минут на эту схему экономят полдня. Почти все ошибки в настройке — это ошибки в представлении о том, кто с кем соединяется.

абонент ──TLS──▶ ваш-поддомен.whitechannel-x1-cdn.ru:443   (адрес CDN)
                        │
                        ▼
                 наш шлюз 159.194.204.83
                        │  обычный HTTP, без TLS
                        ▼
                 ваш сервер IP:ПОРТ_ИНБАУНДА

С прямым адресом шлюза в цепочке нет: CDN подключается к вашему серверу сам, по тому же порту и пути.

Отсюда три вещи, о которые чаще всего спотыкаются.

Абонент подключается на порт 443, а не на порт вашего инбаунда. 443 — это CDN. Порт инбаунда знаем только мы, в клиентской ссылке его быть не должно.
В инбаунде нужна безопасность none. TLS снимается на стороне CDN, до вашего сервера идёт обычный HTTP. Инбаунд с TLS ответит нам «Client sent an HTTP request to an HTTPS server», и туннель не соберётся. TLS для абонента включается в хосте (шаг 2), а не в инбаунде.
UUID мы не читаем. Авторизация целиком между абонентом и вашим Xray. Поэтому в панели абонент будет «в сети» с адресом 159.194.204.83 — это мы, так и должно быть.
Путь у вас свой, случайный — например /api/v1/x7k2p9qr/sync/. Везде ниже подставляйте значение со страницы сервера в кабинете, символ в символ, вместе со слэшем в конце.

1. Инбаунд на сервере

Входящие → Добавить. Протокол — VLESS, порт — тот, что вы указали в кабинете при добавлении сервера, транспорт — xhttp, безопасность — none. В разделе XHTTP заполните:

ПолеЗначение
Путьваш путь из кабинета
Режимpacket-up
HTTP-метод UplinkGET (packet-up only)
Uplink Data Placementheader
Макс. размер загрузки (байт)4096
Server Max Header Bytes262144

Остальные поля оставьте как есть. Обфускацию padding не включайте. Клиентов (UUID) добавляйте в этот инбаунд как обычно. Названия полей — по последней версии панели; в старых 3.x подписи могут немного отличаться, но поля те же.

Три места, где чаще всего ошибаются.

HTTP-метод Uplink. По умолчанию там POST, а CDN на POST отвечает 405 — ссылка импортируется, но никогда не соединяется. Вариант GET становится доступен только после выбора режима packet-up, поэтому сначала режим, потом метод.

Uplink Data Placement. Первым в списке идёт «Default (auto)» — не оставляйте его. Пустое значение и auto ядро на стороне абонента понимает как «данные в теле запроса», а такие запросы Билайн и МегаФон режут. Нужен именно header.

Макс. размер загрузки и Server Max Header Bytes. Без них сайты открываются, а отправка фото и файлов зависает.

2. Хост — адрес входа для абонентов

Меню Хосты → Добавить хост. Хост говорит панели, что абоненты подключаются не к IP вашего сервера, а к нашему входу. После этого все ссылки и подписка из панели сразу ведут через CDN.

РазделПолеЗначение
ОсновноеВходящиеваш XHTTP-инбаунд из шага 1
ОсновноеАдресваш поддомен, например a7f3k2.whitechannel-x1-cdn.ru
ОсновноеПорт443
БезопасностьБезопасностьtls
БезопасностьSNIваш поддомен (или «Использовать адрес как SNI»)
БезопасностьFingerprintchrome
БезопасностьALPNh2, http/1.1
ДополнительноЗаголовок Hostваш поддомен
ДополнительноПутьпусто — возьмётся из инбаунда

Настройки XHTTP (метод, данные в заголовках, размер загрузки) хост берёт из инбаунда — дублировать их не нужно.

Версия 3.2–3.3, «Хостов» ещё нет. То же самое делает блок External Proxy в настройках инбаунда: «Принудительный TLS» — TLS, адрес — ваш поддомен, порт — 443.
Приложение абонента должно работать на ядре Xray. Подходят Happ, INCY, v2rayNG, v2rayN, NekoBox. Hiddify не подходит — он собран на sing-box, где XHTTP не поддерживается.

3. Проверка

Два способа, оба занимают секунды и точнее любых догадок.

Проверка ссылки в кабинете. Скопируйте ссылку клиента из панели (значок ссылки или QR у клиента) и вставьте в «Проверку ссылки» на странице сервера. Она сверит адрес, порт, путь, метод и схему передачи данных и назовёт конкретное поле, если что-то не так.
Абонент «в сети» в панели. Подключитесь клиентом и посмотрите список клиентов в инбаунде. Если ваш UUID появился онлайн с адреса 159.194.204.83 — цепочка собрана целиком.

Ссылка вручную

Нужна для версий 3.0–3.1 — или если хотите собирать ссылки сами. Замените {UUID} на UUID клиента, {subdomain} — на ваш поддомен, а путь %2Fapi%2Fv1%2Fsync%2F — на ваш (слэши записываются как %2F). Больше ничего не меняйте:

vless://{UUID}@{subdomain}:443?encryption=none&type=xhttp&mode=packet-up&security=tls&fp=chrome&alpn=h2%2Chttp%2F1.1&path=%2Fapi%2Fv1%2Fsync%2F&host={subdomain}&sni={subdomain}&extra=%7B%22xmux%22%3A%7B%22cMaxLifetimeMs%22%3A0%2C%22cMaxReuseTimes%22%3A%2236-96%22%2C%22maxConcurrency%22%3A%228-32%22%2C%22maxConnections%22%3A0%2C%22hMaxRequestTimes%22%3A%22320-640%22%2C%22hMaxReusableSecs%22%3A%22720-1800%22%7D%2C%22uplinkHTTPMethod%22%3A%22GET%22%2C%22uplinkDataPlacement%22%3A%22header%22%2C%22uplinkChunkSize%22%3A4096%2C%22scMaxEachPostBytes%22%3A4096%7D#Clearway

Если все ссылки вы собираете вручную, в инбаунде можно поставить Uplink Data Placement = auto вместо header (остальные поля — как в шаге 1). Тогда сервер принимает и старые, и новые ссылки, и абонентов можно переводить постепенно, без перерыва. Но ссылки, которые при этом покажет сама панель, будут со старой схемой — ими не пользуйтесь.

Вход 2 — запасной вход

В кабинете на странице сервера есть блок «Вход 2 — хост в панели». У этого входа общий адрес, ваш собственный путь вида /e/<токен>/… и свои параметры сессии в extra.

Подписка 3x-ui этот вход сама не выдаст. Хост в 3x-ui берёт настройки XHTTP из инбаунда, а Входу 2 нужны свои. Инбаунд ради Входа 2 не меняйте — сломается Вход 1.
  1. Скопируйте из панели рабочую ссылку абонента через Вход 1.
  2. В кабинете в блоке «Вход 2» откройте «Помощник: ссылка из вашей рабочей» и вставьте её. Помощник заменит адрес, SNI, Host, путь и extra, а UUID и остальные ваши настройки сохранит. Ссылка считается в браузере и никуда не отправляется.
  3. Нажмите «Проверить эту ссылку» и раздайте её абонентам отдельно или через свою подписку, где ссылку можно задать вручную.
Нужно приложение на ядре Xray 26.6 или новее. На старом ядре Вход 2 не подключается — держите его у абонентов вместе с Входом 1. Отправка методом PUT через Вход 2 не проходит: если вы заводили для него отдельный инбаунд с PUT по прежней инструкции, он больше не нужен. Трафик через все входы идёт из одного баланса.

Прямой адрес — самый стабильный Вход 1

Это персональный адрес сервера вида метка.nordtile.ru — копия хоста Входа 1, через которую CDN подключается прямо к вашей ноде, без нашего шлюза. По замерам это самый стабильный путь у мобильных операторов. Инбаунд, путь, пользователи и настройки XHTTP остаются прежними.

  1. Откройте порт инбаунда для всех адресов: ufw allow ВАШ_ПОРТ/tcp. Узлы CDN подключаются к ноде напрямую, их список не публикуется. Инбаунд и его настройки не трогайте.
  2. В кабинете на странице сервера найдите блок «Прямой адрес» и нажмите «Я открыл порт — включить прямой адрес». Мы заведём адрес и проверим его через CDN сами: он появится в блоке через 15–25 минут. Если свободных адресов сейчас нет, сервер встанет в очередь и включится автоматически — держите порт открытым.
  3. Хосты → «Добавить хост» → тот же XHTTP-инбаунд → Адрес, SNI и заголовок Host = прямой адрес из блока, порт 443, TLS, Fingerprint и ALPN как у хоста Входа 1, путь пусто. Версии 3.2–3.3: в инбаунде External Proxy → ещё одна строка с прямым адресом и портом 443.
Хост Входа 1 не удаляйте: прямой адрес добавляется рядом с ним, и панель выдаст абонентам оба. Трафик через прямой адрес считается из того же баланса.

Файрвол: кого пускать к ноде

К вашей ноде подключаются три наших адреса: 159.194.204.83, 141.133.200.63 и 177.3.209.116. Если прямой адрес не включён, откройте порт инбаунда только для них — так до ноды нельзя достучаться мимо нас:

ufw allow from 159.194.204.83 to any port ВАШ_ПОРТ proto tcp && \
ufw allow from 141.133.200.63 to any port ВАШ_ПОРТ proto tcp && \
ufw allow from 177.3.209.116 to any port ВАШ_ПОРТ proto tcp

Если включён прямой адрес, порт должен быть открыт для всех: к ноде подключаются узлы CDN, а их список не публикуется. Абонента по-прежнему проверяет Xray по UUID, а уникальный путь защищает от сканирования.

ufw allow ВАШ_ПОРТ/tcp

Частые ошибки