Несколько протоколов сразу
Одно ядро принимает соединения по VLESS и отдаёт их через Trojan или Shadowsocks. Смена протокола не требует смены программы — меняется только раздел конфигурации.
Xray — это ядро, а не протокол. Оно умеет одновременно работать с VLESS, VMess, Trojan, Shadowsocks и несколькими другими транспортами, а поверх них добавляет собственный движок маршрутизации.
Обновлено

Профиль по четырём осям
Оценки сравнительные, в пределах этой таблицы: 100 — лучший показатель среди рассмотренных протоколов, а не абсолютная величина.
| Что это | Сетевое ядро, реализующее набор протоколов |
|---|---|
| Год появления | 2020, ответвление от проекта V2Ray |
| Язык | Go, сборки под все настольные и мобильные системы |
| Протоколы | VLESS, VMess, Trojan, Shadowsocks, SOCKS, HTTP |
| Ключевая связка | VLESS + Reality с потоком XTLS-Vision |
| Конфигурация | JSON: входящие, исходящие и правила маршрутизации |
| Роль в клиентах | Работает внутри приложения, пользователь его не видит |
Одно ядро принимает соединения по VLESS и отдаёт их через Trojan или Shadowsocks. Смена протокола не требует смены программы — меняется только раздел конфигурации.
Правила по домену, IP-подсети, стране, порту и процессу-источнику. Российские сервисы идут напрямую, остальное — через выбранный маршрут, и всё это внутри одного процесса.
Структура из трёх частей: откуда принимать, куда отдавать и по каким правилам выбирать. Формат читаемый, но многословный: рабочий файл легко занимает 150 строк.
Релизы выходят каждые несколько недель, новые транспорты появляются здесь раньше, чем в других ядрах. Обратная сторона — периодические изменения в формате настроек.
Путаница возникает постоянно: «подключиться по Xray» звучит так же естественно, как «подключиться по WireGuard», но означает совсем другое. WireGuard — это спецификация протокола. Xray — программа, реализующая целый набор чужих спецификаций.
Когда в профиле написано «Xray», на деле имеется в виду один из протоколов, которые это ядро умеет: чаще всего VLESS с Reality, иногда Trojan или Shadowsocks. Ядро лишь исполняет протокол, а вся логика транспорта описана в других документах.
Практическое следствие: сравнивать Xray с WireGuard по скорости или незаметности некорректно. Сравнивать нужно протоколы. Ядро влияет на результат другим — качеством реализации, накладными расходами и тем, насколько быстро в нём появляются новые возможности.
Самая недооценённая часть Xray — не транспорт, а маршрутизация. Ядро принимает соединение, смотрит на домен назначения, IP-адрес, порт и иногда на процесс-источник, после чего решает, в какой из настроенных исходящих каналов его отправить.
Каналов может быть несколько: один через удалённый сервер, второй напрямую, третий — в никуда. Правила описываются списками доменов и подсетей, есть готовые наборы, обновляемые сообществом. Типичная схема: российские сервисы и банки идут напрямую, локальные адреса тоже, всё остальное — через сервер.
Это заменяет системную маршрутизацию и правила фаервола. Всё решается внутри одного процесса, ничего не нужно прописывать в операционной системе. Цена — усложнение конфигурации: раздел с правилами часто оказывается больше, чем описание самих соединений.
Файл настроек — это JSON с несколькими разделами верхнего уровня. Основные три: входящие соединения, исходящие соединения и правила выбора между ними. Дополнительно описываются журналирование, встроенный резолвер имён и интерфейс управления.
Многословность здесь принципиальная: каждый транспорт имеет собственный набор полей, и общих значений по умолчанию почти нет. Минимальный рабочий клиентский файл занимает 60–80 строк, серверный с правилами маршрутизации — 150–250.
Главная сложность в отладке. JSON не терпит лишней запятой, а ядро при ошибке структуры отказывается запускаться и печатает позицию символа, а не смысл проблемы. Поэтому конфигурации почти всегда собирают панелями управления или генераторами, а не пишут с нуля.
Xray редко устанавливают отдельно. Обычно он встроен внутрь приложения: клиент показывает список локаций и кнопку подключения, а под капотом собирает конфигурацию, запускает ядро и следит за его состоянием.
Профиль подписки, который вы вставляете в приложение, — это, по сути, сжатое описание исходящего соединения. Клиент разворачивает его в полноценный JSON, добавляет свои правила маршрутизации и передаёт ядру. Всё это занимает доли секунды и остаётся невидимым.
Ручная работа с ядром нужна в двух случаях: при настройке собственного сервера и при нестандартной схеме маршрутизации, которую интерфейс клиента не покрывает. В остальных ситуациях знать о существовании Xray полезно, но пользоваться им напрямую не приходится.
Транспорт выбирается в настройках клиента одним пунктом, доплаты за него нет. Если Xray в вашей сети перестал подниматься, соседний протокол обычно работает — переключение занимает секунды и не требует переустановки.
Подписка оформляется в Telegram-канале сервиса · Безлимитный трафик · Поддержка круглосуточно