Транспорты и безопасность
Все транспорты, которые предоставляет EasyXray — TCP, mKCP, WebSocket, gRPC, HTTPUpgrade, XHTTP, Hysteria, XDRIVE, MASQUE — с их настройками, а также обфускация FinalMask, sockopt, TLS/REALITY, XTLS-Vision и шифрование VLESS.
Транспорт определяет, как пакеты переносятся между клиентом и сервером, уровень безопасности определяет, как они шифруются и маскируются, а FinalMask может обфусцировать всё, что остаётся. Панель предлагает только допустимые комбинации; на этой странице перечислены настройки каждого транспорта и правила, которые применяет панель.
Транспорты
Выберите транспорт (поле network у inbound) в форме inbound/outbound. Каждый
network записывает свой собственный ключ настроек на проводе (tcpSettings,
kcpSettings, …).
| Транспорт | Ключ настроек | Когда использовать |
|---|---|---|
| TCP (Raw) | tcpSettings | Минимальные накладные расходы. Основа для REALITY + XTLS-Vision и фолбэков; опциональная HTTP/1.1-камуфляжная маскировка заголовка. |
| mKCP | kcpSettings | Надёжный протокол поверх UDP — обменивает пропускную способность на меньшую задержку на каналах с потерями. Не несёт TLS/REALITY. |
| WebSocket | wsSettings | Работает через CDN и HTTP-реверс-прокси; очень совместимый. |
| gRPC | grpcSettings | На базе HTTP/2; хорошо мультиплексируется и чисто проксируется через Nginx. |
| HTTPUpgrade | httpupgradeSettings | Дружественный к CDN апгрейд HTTP/1.1 Upgrade; легче полноценного WebSocket. |
| XHTTP | xhttpSettings | Современный HTTP-транспорт с мультиплексированием потоков; дружественный к CDN и совместимый с REALITY. |
| Hysteria | hysteriaSettings | Транспорт на базе QUIC — только для протокола Hysteria2. |
| XDRIVE | xdriveSettings | Туннелирует поток через файлы в общем облачном хранилище (Google Drive, локальная папка или любой HTTP API хранилища). |
| MASQUE | masqueSettings | CONNECT-IP поверх HTTP/3 или HTTP/2 — только для протокола MASQUE. См. MASQUE. |
Inbound-соединения WireGuard и Tunnel (dokodemo-door) не предоставляют
селектор транспорта — их поток несёт только security/sockopt. Прежние панели
также предоставляли «сырой» транспорт HTTP/2 (http); он был вытеснен
XHTTP и больше недоступен для выбора.
TCP (Raw) — tcpSettings
| Поле | По умолчанию | Значение |
|---|---|---|
acceptProxyProtocol | false | Принимать PROXY-протокол от вышестоящего прокси, чтобы сохранить реальный IP клиента. |
header.type | none | none или http для камуфляжа под HTTP/1.1. |
header.request / response | — | При type: http: метод, путь, версия и карта заголовков, имитирующие обычный обмен HTTP. |
mKCP — kcpSettings
| Поле | По умолчанию | Значение |
|---|---|---|
mtu | 1350 | Максимальный размер передаваемого блока, в байтах (576–1460). |
tti | 20 | Интервал времени передачи, в мс (10–100). Меньше = отзывчивее, но больше накладных расходов. |
uplinkCapacity | 5 | Бюджет пропускной способности на отдачу, в МБ/с. |
downlinkCapacity | 20 | Бюджет пропускной способности на приём, в МБ/с. |
cwndMultiplier | 1 | Множитель окна перегрузки; повышайте, чтобы сильнее нагружать хорошие каналы. |
maxSendingWindow | 2097152 | Верхний предел числа пакетов «в пути». |
mKCP не может нести TLS или REALITY. Чтобы замаскировать его, добавьте
UDP-маску FinalMask — маска mkcp-legacy воспроизводит классическую
обфускацию заголовка, которую старые версии Xray хранили в
kcpSettings.header/seed (этих полей здесь больше нет).
WebSocket — wsSettings
| Поле | По умолчанию | Значение |
|---|---|---|
path | / | Путь запроса — маршрутизируйте по нему, когда несколько сервисов делят один хост. |
host | (нет) | Переопределение заголовка Host (полезно за CDN). |
headers | {} | Дополнительные заголовки запроса. |
heartbeatPeriod | 0 | Секунды между keepalive-пингами; 0 отключает их. |
acceptProxyProtocol | false | Принимать PROXY-протокол от вышестоящего прокси. |
gRPC — grpcSettings
| Поле | По умолчанию | Значение |
|---|---|---|
serviceName | (нет) | Путь gRPC-сервиса; работает как секретный маршрут. |
authority | (нет) | Переопределение псевдозаголовка :authority. |
multiMode | false | Мультиплексировать несколько потоков по одному соединению. |
HTTPUpgrade — httpupgradeSettings
| Поле | По умолчанию | Значение |
|---|---|---|
path | / | Путь запроса. |
host | (нет) | Переопределение заголовка Host. |
headers | {} | Дополнительные заголовки запроса. |
acceptProxyProtocol | false | Принимать PROXY-протокол от вышестоящего прокси. |
HTTPUpgrade — это одноразовый HTTP/1.1 Upgrade без фреймирования WebSocket,
поэтому поля heartbeat нет.
XHTTP — xhttpSettings
У XHTTP (SplitHTTP) большой набор полей; панель заполняет разумные значения по умолчанию. Те, что вы обычно будете трогать:
| Поле | По умолчанию | Значение |
|---|---|---|
path | / | Путь запроса. |
host | (нет) | Переопределение заголовка Host. |
mode | auto | auto, packet-up, stream-up или stream-one. packet-up наиболее совместим с CDN; stream-* имеют меньшую задержку. |
xPaddingBytes | 100-1000 | Диапазон случайного паддинга, размывающего размеры пакетов. |
scMaxBufferedPosts | 30 | Серверный буфер для загружаемых POST-запросов. |
scStreamUpServerSecs | 20-80 | Окно сервера в режиме stream-up (диапазон через дефис). |
xmux (enableXmux) | (выкл.) | Мультиплексирование соединений — maxConcurrency 16-32, maxConnections 6, … Включайте при высокой конкурентности. |
Поля Session-ID (sessionIDPlacement, sessionIDKey, sessionIDTable,
sessionIDLength) и параметры scMin/MaxEachPostBytes — продвинутые; оставьте
их пустыми, если только вы не подстраиваетесь под конкретный upstream.
Hysteria — hysteriaSettings
Допустимо, только когда протокол — Hysteria2.
| Поле | По умолчанию | Значение |
|---|---|---|
version | 2 | Версия протокола Hysteria. |
auth | (нет) | Общая строка аутентификации. |
udpIdleTimeout | 60 | Секунды (2–600) до сброса простаивающих UDP-сессий. |
masquerade | — | Маскировка под HTTP/3-сервер: type proxy/file/string с url/dir/content, а также headers и statusCode. |
XDRIVE — xdriveSettings
XDRIVE передаёт поток файлами в папке, доступной обеим сторонам: сервер опрашивает эту папку, а не принимает соединения на своём порту. Обе стороны должны использовать одинаковые сервис, папку и секреты, поэтому JSON-подписка передаёт их каждому клиенту; для XDRIVE-инбаундов не создаются ссылки и записи Clash.
| Поле | По умолчанию | Значение |
|---|---|---|
service | Google Drive | Google Drive, local (папка на диске) или template (любой HTTP API хранилища). |
remoteFolder | — | Папка с файлами сессий. |
secrets | — | Google Drive: ровно три значения — ClientID, ClientSecret, RefreshToken, в этом порядке. Template: значения, доступные как {secret0}, {secret1}, …. |
template | — | Только для template: операции auth, put, get, list и delete API хранилища. |
| тонкая настройка | значения ядра | segmentBytes (512 KiB), flushIntervalMs (20), pollIntervalMs/maxPollIntervalMs (50/500), eagerWindowMs (2000), holeTimeoutMs (30000), sessionTtlSeconds (300), concurrency (8). |
Необязательные адрес/порт фронтинга (address/port на уровне stream) — домен-фронт,
через который идёт подключение к API хранилища; в TLS по-прежнему указывается хост API.
У XDRIVE нет собственного уровня TLS/REALITY — его трафик это HTTPS самого API хранилища.
На исходящем безопасность TLS задаёт это HTTPS-подключение: API хранилища видит его
SNI, отпечаток uTLS и ALPN.
FinalMask — обфускация на позднем уровне
FinalMask оборачивает трафик после уровней транспорта и безопасности, поэтому он может замаскировать транспорты, не несущие TLS (например, mKCP), или добавить вторую оболочку поверх TLS. Маски настраиваются по направлениям:
- TCP-маски —
fragment,sudoku,header-custom,xmc(маскирует поток под трафик протокола Minecraft; требуется пароль, имя хоста и имена игроков опциональны). - UDP-маски —
salamander,mkcp-legacy,header-custom,xdns,xicmp,noise,sudoku,realm, а также только клиентскаяudphop. (mkcp-legacyвоспроизводит старую обфускацию заголовка mKCP;udphopменяет удалённый порт — и при желании удалённый IP — по интервалу или для каждого соединения, чтобы обходить блокировку портов.) - Параметры QUIC — управление перегрузкой (
reno,bbr,brutal,force-brutal), скорости отдачи/приёма Brutal и настройка окна приёма. На инбаунде UDP Hop задаёт диапазон портов, который объявляется клиентам (mportв ссылке и маскаudphopв JSON-подписке); сам сервер слушает свой порт. Начиная с Xray 26.9.9 клиент меняет порт только через маскуudphop, поэтому панель преобразует старый клиентскийquicParams.udpHopв неё.
FinalMask заменяет обфускацию header/seed на уровне отдельного транспорта,
которую предоставляли старые сборки Xray.
sockopt — низкоуровневые опции сокета
sockopt идёт вместе с любым транспортом и настраивает низлежащий сокет. Самые
полезные поля:
| Поле | По умолчанию | Значение |
|---|---|---|
tcpFastOpen | false | Включить TCP Fast Open. |
tcpcongestion | bbr | Управление перегрузкой: bbr, cubic или reno. |
tproxy | off | Режим прозрачного прокси: off, redirect или tproxy. |
domainStrategy | AsIs | Как разрешаются адреса (UseIP, ForceIPv4, …). |
dialerProxy | (нет) | Пропускать набор этого outbound через другой outbound по тегу. |
interface | (нет) | Привязка к конкретному сетевому интерфейсу. |
mark | 0 | SO_MARK для policy routing (0 = не задано). |
Числовые поля, оставленные равными 0, опускаются на проводе, поэтому Xray
сохраняет умолчания ОС. Продвинутые записи (happyEyeballs, customSockopt[],
таймеры keepalive) доступны для особых случаев.
Безопасность
Уровень безопасности — это одно из значений none, tls или
reality, со следующими правилами совместимости:
| Безопасность | Допустимые транспорты | Допустимые протоколы |
|---|---|---|
| TLS | tcp, ws, grpc, httpupgrade, xhttp | VLESS, VMess, Trojan, Shadowsocks (Hysteria2 всегда TLS) |
| REALITY | tcp, grpc, xhttp | VLESS, Trojan |
mKCP и Hysteria не используют отдельный уровень TLS/REALITY — mKCP работает в открытом виде (обфусцируйте его с помощью FinalMask), а Hysteria по своей природе использует QUIC/TLS. REALITY маскирует ваш сервер под настоящий TLS-сайт и не требует сертификата — см. REALITY.
Поток XTLS-Vision
Поток xtls-rprx-vision быстрый и устойчивый к DPI. Он доступен для VLESS,
когда выполнено одно из условий:
- транспорт — это «сырой» TCP с безопасностью TLS или REALITY (классический XTLS-Vision), либо
- включено шифрование VLESS, на любом транспорте (см. ниже).
Поток задаётся на клиенте VLESS, а не на inbound. При классическом Vision поверх TCP панель также может предложить Vision seed после того, как клиент начнёт использовать этот поток.
Шифрование VLESS (ML-KEM)
VLESS поддерживает постквантовое шифрование (ML-KEM / mlkem768x25519),
которое хранится в поле decryption у inbound (сервер) и в поле encryption у
клиентов (для генерации ссылок). Когда оно включено, становится доступен поток
Vision на любом транспорте. Сгенерируйте ключи в настройках VLESS на панели.
Шифры Shadowsocks
Inbound-соединения Shadowsocks поддерживают как классические шифры, так и
Shadowsocks-2022 (имена методов, начинающиеся с 2022-blake3-). Метод
2022-blake3-chacha20-poly1305 для inbound не предлагается: Xray-core
поддерживает его только без пользователей, а у каждого inbound панели есть
клиенты. В outbound его по-прежнему можно использовать.
Транспорты и безопасность должны совпадать на обоих концах. Ссылка на
подключение, которую использует клиент, кодирует их (type=ws,
security=reality, flow=xtls-rprx-vision, …) — декодируйте любую ссылку с
помощью инспектора ссылок на подключение.
MASQUE
Настройка инбаундов MASQUE (CONNECT-IP) в EasyXray, подключение аутбаундов к серверам MASQUE и доступ к Cloudflare WARP через MASQUE.
Клиенты
Управление клиентами EasyXray — учётные данные, лимиты трафика и срока действия, ограничения по IP, группы, массовые операции, внешние ссылки и статус онлайн.

EasyXray