Коротко о разнице
VLESS и WireGuard решают похожую задачу — соединяют ваше устройство с сервером, — но устроены по-разному. VLESS — протокол ядра Xray: он работает с соединениями и защиту данных поручает внешнему слою, TLS или Reality. WireGuard — протокол туннелей: он сам шифрует IP-пакеты и передаёт их по UDP. INCY поддерживает оба, так что вопрос выбора возникает только у тех, кто настраивает сервер сам.
| Параметр | VLESS | WireGuard |
|---|---|---|
| Что это | протокол передачи данных ядра Xray | протокол туннелей для IP-пакетов |
| Чем переносятся данные | по умолчанию tcp; также ws, grpc, xhttp, kcp, quic | только UDP |
| Защита данных | внешний слой: TLS или Reality | встроенное шифрование |
| Как опознаётся клиент | UUID | пара ключей: приватный и публичный |
| Домен и сертификат | нужны для TLS, не нужны для Reality | не нужны |
| Ссылка в INCY | vless:// | wireguard://, wg:// или файл .conf |
| Настройки в ключе | транспорт, защита, параметры TLS или Reality | ключи, адрес туннеля, MTU |
Таблица составлена по документации Xray, WireGuard и INCY. Здесь нет строк про скорость и надёжность: общих замеров для этих протоколов мы не нашли, а результат зависит от сервера, канала и настройки. Как сравнить скорость на своём подключении, рассказано в статье INCY работает медленно.
Как они устроены
Главное различие — уровень, на котором работает протокол. От него зависит и то, как выглядит настройка сервера, и то, что записано в ключе. Общее у них одно: это только способ связаться с сервером. INCY серверов не предоставляет, так что и для VLESS, и для WireGuard нужен сервер — свой или от сервиса.
VLESS
Трафик попадает в ядро Xray, которое передаёт его серверу по протоколу VLESS. По документации Xray это лёгкий протокол, не хранящий состояние сеанса. Чем именно переносятся данные, задаёт транспорт — параметр type в ссылке. Поэтому у VLESS много вариантов настройки: один и тот же протокол может идти через tcp, ws, grpc или xhttp. Вся разница записана в ключе, и пользователю разбираться в ней не нужно. Подробно формат разобран в статье что такое VLESS.
У каждого транспорта свои параметры в ссылке. Для ws это путь и заголовок Host, для grpc — имя сервиса, для xhttp — ещё и режим работы. Если сервер настроен с одним транспортом, в ключе должен быть именно он: подключиться с другим значением type не получится.
WireGuard
По документации проекта WireGuard шифрует IP-пакеты и передаёт их по UDP. На сервере это сетевой интерфейс, к которому привязаны разрешённые адреса и ключи. Настроек мало: авторы намеренно оставили за рамками протокола распространение ключей и выдачу конфигураций. Сервер не назначит вам параметры сам: всё нужное уже записано в файле или ссылке.
По документации проекта WireGuard умеет продолжать работу при смене IP-адреса клиента. Для телефона это, например, переход с Wi-Fi на мобильный интернет. Отдельно о таком поведении в INCY разработчик не пишет, поэтому результат лучше проверить на своём устройстве.
Поскольку WireGuard использует только UDP, UDP-порт сервера должен быть доступен из вашей сети. Если порт недоступен, подключение не установится, как и при любой другой недоступности сервера. В этом случае проверьте другую сеть и обратитесь к тому, кто выдал конфигурацию.
Шифрование и ключи
Здесь протоколы отличаются сильнее всего. У WireGuard набор криптографии зафиксирован, а у VLESS защита зависит от выбранного внешнего слоя.
| Что сравниваем | VLESS | WireGuard |
|---|---|---|
| Шифрование | от TLS или Reality; в ссылке encryption=none | ChaCha20 и Poly1305 |
| Обмен ключами | в рамках TLS или Reality | Noise_IK на Curve25519 |
| Хеширование | зависит от внешнего слоя | BLAKE2s |
| Что выдаётся клиенту | ключ со строкой UUID | приватный ключ клиента и публичный ключ сервера |
| Дополнительно | отдельный режим VLESS Encryption | необязательный предварительно выданный ключ |
Что это значит на практике
В обоих случаях то, что вы получили от сервера, нужно беречь. В ключе VLESS записан UUID, а в ссылке или файле WireGuard — ваш приватный ключ, по документации INCY он стоит прямо в начале ссылки wireguard://. Любой, кто получит такую строку, сможет подключиться от вашего имени. Поэтому не публикуйте ключи и закрывайте их в логах, прежде чем отправлять разработчику.
Вот как выглядят настройки WireGuard в файле .conf. Значения условные, а реальные выдаёт администратор сервера:
[Interface]
PrivateKey = приватный_ключ_клиента
Address = 10.0.0.2/32
[Peer]
PublicKey = публичный_ключ_сервера
Endpoint = example.com:51820
AllowedIPs = 0.0.0.0/0Для сравнения: ключ VLESS — это одна строка вида vless://uuid@example.com:443?type=tcp&security=tls#Server. То же самое WireGuard умеет записать в виде ссылки: wireguard://secretKey@example.com:51820?publickey=KEY&address=10.0.0.2#Server. В ней обязателен параметр publickey, а адрес, MTU и зарезервированные байты указываются по необходимости.
Что такое MTU
MTU — наибольший размер пакета в туннеле. В документации INCY значение по умолчанию для ссылки WireGuard — 1500, а документация Xray приводит для WireGuard 1440 при IPv4 и 1420 при IPv6 и советует уменьшать его в особых сетях. Если значение указал администратор сервера, оставьте его как есть.
Настройка сервера
Если у вас подписка, этот раздел можно пропустить: сервером занимается сервис. Если сервер свой, требования у протоколов разные. Общий список того, что понадобится, — в статье свой VPS для INCY.
VLESS: серверная часть
Нужно ядро Xray или совместимая программа; часто её ставят вместе с панелью управления, которая выпускает ключи и подписки.VLESS: домен
Для TLS нужны домен и сертификат, а вариант с Reality своего домена и сертификата не требует.WireGuard: ключи
На сервере и клиенте создаются пары ключей, а публичные ключи прописываются на другой стороне. У ядра Xray для этого есть команда xray wg.WireGuard: порт
В брандмауэре сервера должен быть открыт выбранный UDP-порт.Оба: отдельный ключ на устройство
Выпускайте свой ключ для каждого устройства: потерянный телефон можно будет отключить, не трогая остальные.
Подписка со своего сервера
В INCY подписка может содержать ссылки VLESS и WireGuard вперемешку, а файл .conf можно отдать прямо в теле ответа. Приложение распознает его по секциям с PrivateKey. Формат подписки описан в документации разработчика, а как её добавить — в статье как добавить ссылку-подписку в INCY.
Что получает пользователь
В обоих случаях администратор выдаёт на устройство готовую настройку. Для VLESS это одна строка или подписка, для WireGuard — ссылка либо файл .conf с приватным ключом этого устройства. Передавать такую настройку лучше защищённым способом, а не в открытом чате.
Как они работают в INCY
Для пользователя INCY различие почти незаметно. Оба протокола добавляются теми же кнопками, и оба появляются в одном списке серверов. README разработчика не разделяет поддержку протоколов по платформам, а профили маршрутизации и Kill Switch описывает как функции приложения, без оговорок о протоколе.
- 1
Получите ключ или файл
Ссылка vless:// или wireguard:// либо содержимое файла .conf. - 2
Скопируйте его в буфер обмена
Копируйте целиком, вместе со всеми секциями файла. - 3
Нажмите «Вставить» в INCY
На ПК — на главном экране, на телефоне — на вкладке с серверами. Тип определяется автоматически. - 4
Проверьте задержку и подключитесь
Сервер без пинга не отвечает из вашей сети: проверьте порт и настройки сервера.
Все способы добавления показаны на странице импорт в INCY. Правила о том, какой трафик идёт через сервер, настраиваются отдельно, в профилях: о них рассказано на странице маршрутизация в INCY.
Другие клиенты
Ссылки vless:// понимают и другие приложения для подключения, например Happ, v2RayTun и Hiddify. С WireGuard картина другая: из этих приложений по просмотренным источникам он подтверждён только у Hiddify. Подробнее — в статье INCY, Happ, v2RayTun и Hiddify.
Особые случаи на ПК
Для обычного WireGuard особых оговорок в документации нет, но у версии для ПК есть ограничение с его вариантом: AmneziaWG она не поддерживает и файл .conf читает как обычный WireGuard. Поэтому, если вам выдали конфигурацию AmneziaWG, на компьютере она может не подключиться, даже если на телефоне работает. Версия для ПК сейчас в стадии pre-alpha, и такие ограничения могут меняться между релизами. Новые версии можно отслеживать на странице история версий INCY.
Что выбрать
Универсального ответа нет, и выбор зависит не от протокола как такового, а от вашей ситуации. Сравнивать протоколы по абстрактным рейтингам мы не будем.
Если сервер свой, ориентируйтесь на практические вещи:
- Что вы уже умеете настраивать. Рабочий протокол, в настройке которого вы разбираетесь, лучше незнакомого: обновлять и чинить его придётся вам.
- Есть ли домен. Для TLS он нужен; VLESS с Reality и WireGuard его не требуют.
- Что нужно другим программам. Файл WireGuard понимают не только клиенты на Xray, а значит, его проще использовать вне INCY.
- Какие варианты транспорта нужны. У VLESS их несколько, а WireGuard работает только по UDP.
Если настройку выдал кто-то другой
Когда сервер не ваш, выбора обычно нет: вам выдают либо ключ vless://, либо ссылку или файл WireGuard. Добавьте в INCY то, что получили, и не меняйте значения вручную: они должны совпадать с настройками сервера. Если есть вопросы к серверу, адресуйте их тому, кто его настроил.
Можно ли использовать оба
Можно: на одном сервере могут работать оба протокола, а в INCY — оба вида ключей. Обзор всех вариантов — в статье протоколы в INCY, а сравнение источников ключей — на странице ключи для INCY. Если сервер не отвечает, начните со страницы INCY не работает. Как проверить серверы в приложении, показано на странице серверы для INCY, а скачать приложение можно на странице скачать INCY.