Выбор 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. Шаги те же, что и для любого сервера:
- Установите Potatso из App Store.
- Вставьте ссылку
vmess://илиvless://, отсканируйте ее QR-код или импортируйте подписку. - Включите Ретрансляция UDP в настройках сервера, если сервер передает UDP.
- Разрешите 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.