Выбор VMess или VLESS сводится к одному конструктивному решению. VMess сам шифрует трафик встроенным шифром, а у VLESS собственного шифрования нет — он полагается на TLS или REALITY под собой. Поэтому VLESS легче и получает новые возможности, такие как REALITY и поток Vision. Для нового сервера VLESS обычно лучше; существующий сервер VMess с TLS по-прежнему нормально работает.

Ниже — подробное сравнение.

Откуда они взялись

VMess — исходный протокол V2Ray (Project V), появившийся примерно в 2016 году. Его проектировали безопасным самим по себе, поэтому он аутентифицирует и шифрует каждое соединение без всякого TLS.

VLESS предложили в 2020 году в сообществе V2Ray как более легкого преемника. Его развитие продолжилось в Xray — форке V2Ray, появившемся в том же году. Xray, V2Ray, sing-box и Mihomo поддерживают оба протокола, но новые возможности появляются в VLESS. Подробнее о VLESS и REALITY — в статье Что такое VLESS Reality?

VMess и VLESS: краткое сравнение

VMess VLESS
Встроенное шифрование Да: aes-128-gcm, chacha20-poly1305, auto или none Нет (необязательный VLESS Encryption в Xray)
ID пользователя UUID UUID или текст, который Xray превращает в UUID
Нужен TLS для приватности Нет, но рекомендуется Да, или REALITY
Зависит от точного времени Да Нет
alterId Да; используйте 0 Нет
REALITY Нет Да
Поток Vision Нет Да
Транспорт XHTTP Не в Potatso Да
WebSocket, gRPC, HTTP Upgrade, HTTP/2 Да Да
Закрепление сертификата, ECH (в Potatso) Нет Да
UDP Да, в Potatso по умолчанию выключен Да, в Potatso по умолчанию выключен
Накладные расходы с TLS Шифрует дважды Шифрует один раз

Строки с пометкой «в Potatso» описывают возможности Potatso; все настройки перечислены на справочных страницах VMess и VLESS.

Шифрование: шифр или TLS

VMess шифрует каждое соединение шифром, который выбирается на сервере:

  • aes-128-gcm работает быстро на любом устройстве Apple, где AES реализован аппаратно.
  • chacha20-poly1305 — хороший выбор для устройств без аппаратного AES.
  • auto оставляет выбор клиенту. Potatso выбирает aes-128-gcm.
  • none отключает шифрование VMess. Используйте его только с TLS, который тогда и шифрует соединение.

VLESS этот слой пропускает. Соединение VLESS защищено ровно настолько, насколько защищено то, что под ним, поэтому его почти всегда используют с TLS или REALITY. Без них VLESS передает трафик открытым текстом.

Получается, что VMess поверх TLS шифрует данные дважды: сначала сам VMess, потом TLS. Это безопасно, но расточительно. VLESS поверх TLS шифрует один раз.

О VLESS Encryption. В 2025 году в Xray появился VLESS Encryption — необязательный постквантовый слой шифрования для VLESS. Он еще новый, и большинство серверов его не используют. Potatso поддерживает его, если он указан в ссылке или подписке.

alterId и аутентификация

Изначально VMess аутентифицировал клиентов по схеме на основе MD5, которой управляла настройка alterId. В 2020 году в V2Ray появилась аутентификация AEAD — она используется при alterId, равном 0, — а в 2022 году серверы отказались от старой схемы.

  • Если провайдер выдает alterId, по возможности используйте 0.
  • Potatso всегда использует аутентификацию AEAD. Серверы, у пользователя которых alterId все еще больше 0, ее тоже принимают, так что на сервере ничего менять не нужно.

Кроме того, VMess проверяет метки времени, поэтому часы устройства должны быть близки к часам сервера. iPhone выставляет время автоматически, так что это редко имеет значение, но сервер с неверными часами отклоняет всех клиентов VMess.

У VLESS нет ни alterId, ни проверки времени. Он отправляет ID пользователя, а остальное делает TLS или REALITY.

Транспорты

Оба протокола работают поверх одного семейства транспортов:

  • TCP без транспорта — напрямую или с TLS.
  • WebSocket, HTTP Upgrade и gRPC — часто нужны, чтобы пройти через CDN.
  • HTTP/2, который в Xray с тех пор заменили на XHTTP.

XHTTP — новейший HTTP-транспорт Xray, и именно здесь в Potatso они расходятся: он работает с VLESS, но пока не с VMess. mKCP и QUIC не поддерживаются ни для одного из протоколов.

REALITY и Vision: только для VLESS

Главная причина выбрать VLESS сегодня — то, что построено поверх него:

  • REALITY позволяет серверу заимствовать TLS-рукопожатие настоящего сайта, поэтому ему не нужны собственный домен и сертификат, а посторонние посетители видят этот сайт. VMess не умеет работать с REALITY.
  • Vision (xtls-rprx-vision) дополняет TLS-рукопожатия, которые вы делаете через прокси, чтобы узор «TLS внутри TLS» было сложнее заметить.

Если нужно одно из этого, нужен VLESS. Настройка на стороне клиента описана в статье Как настроить VLESS Reality на iPhone.

Скорость и ограничения

VLESS обходится без дополнительного шифрования VMess, поэтому тратит чуть меньше ресурсов процессора и добавляет чуть меньше накладных расходов. На телефоне вы этого скорее всего не почувствуете: удаленность сервера, его загрузка и сетевой маршрут значат гораздо больше.

Для VMess в Potatso есть одно практическое ограничение: через одно соединение VMess можно отправить около 1 ГиБ, после чего Potatso закрывает его, чтобы не ослаблять шифрование. На скачивание ограничений нет. Для очень больших отправок в одном соединении используйте VLESS или Trojan.

Шаблоны трафика

При правильной настройке оба протокола шифруются, но шифрование скрывает не все. У VMess без TLS собственная узнаваемая форма. Potatso не использует опции маскировки чанков и дополнения (padding) VMess, поэтому без TLS шаблон размеров трафика VMess распознать проще. VLESS поверх TLS, особенно поверх REALITY с Vision, больше похож на обычный HTTPS. Необнаружимым не является ни тот, ни другой.

Что выбрать?

Выбирайте VLESS, если:

  • вы настраиваете новый сервер,
  • вам нужен REALITY, чтобы обойтись без домена и сертификата,
  • вам нужны Vision, XHTTP или закрепление сертификата.

Оставайтесь на VMess, если:

  • провайдер предлагает только VMess или у вас уже работает сервер VMess,
  • он использует TLS или WebSocket поверх TLS через CDN.

Избегайте:

  • VMess с alterId больше 0 на новом сервере,
  • VMess с шифром none или zero без TLS,
  • VLESS без TLS, REALITY или VLESS Encryption.

Если вы выбираете не только из этих двух, статья Сравнение прокси-протоколов ставит VLESS и VMess рядом с Trojan, Shadowsocks, Hysteria 2 и AnyTLS.

VMess и VLESS на iPhone

Potatso импортирует оба протокола из ссылок для обмена, QR-кодов и подписок Clash, V2Ray или Xray. VMess он также читает из конфигураций Surge. Шаги те же, что и для любого сервера:

  1. Установите Potatso из App Store.
  2. Вставьте ссылку vmess:// или vless://, отсканируйте ее QR-код или импортируйте подписку.
  3. Включите Ретрансляция UDP в настройках сервера, если сервер передает UDP.
  4. Разрешите VPN и подключитесь на экране Главная.

Полная инструкция с полями REALITY и частыми ошибками — в статье Как настроить VLESS Reality на iPhone. Если у вас подписка с множеством серверов, см. как импортировать подписку Clash на iPhone.

Частые вопросы

Чем VMess отличается от VLESS?
VMess сам шифрует трафик шифром, например aes-128-gcm. У VLESS нет встроенного шифрования, он полагается на TLS или REALITY под собой. Поэтому он легче и поддерживает новые возможности, такие как REALITY и поток Vision.
VLESS быстрее VMess?
Обычно немного быстрее: VLESS поверх TLS шифрует трафик один раз, а VMess поверх TLS — дважды. На телефоне разница чаще всего невелика; удаленность и загрузка сервера значат гораздо больше.
Безопасен ли VLESS без TLS?
Нет. Голый VLESS передает трафик без шифрования. Всегда используйте его с TLS или REALITY либо с VLESS Encryption из Xray.
Какой alterId указывать для VMess?
0. alterId 0 означает современную аутентификацию AEAD. Значения больше 0 относятся к старой аутентификации на основе MD5, от которой серверы отказались в 2022 году. Potatso всегда использует AEAD, и такие серверы ее тоже принимают.
Может ли VMess работать с REALITY?
Нет. REALITY работает с VLESS (а на некоторых серверах — с Trojan), но не с VMess. Если нужен REALITY, настройте сервер VLESS.

Другие языки: English · 简体中文 · 繁體中文 · 日本語