VMess: протокол со встроенным шифрованием

Обновлено: Автор: Редакция сайта

Кратко

VMess — протокол ядра Xray со встроенным шифрованием: отдельный слой TLS ему не обязателен. Клиент проверяется по UUID, а данные шифруются методом AES-128-GCM или ChaCha20-Poly1305. Протокол зависит от времени: часы устройства не должны расходиться с точным временем больше чем на 120 секунд. Ключ выглядит как ссылка vmess://, INCY принимает её через «Вставить».

Что такое VMess

VMess — протокол ядра Xray-core, которое использует INCY. Он появился раньше VLESS и до сих пор встречается в подписках. Главное отличие: VMess шифрует данные сам, поэтому внешний слой TLS ему не обязателен. В документации Xray для него доступны методы aes-128-gcm, chacha20-poly1305 и auto. В режиме auto метод выбирается по возможностям устройства: на AMD64, ARM64 и s390x это AES-128-GCM.

Для аутентификации служит UUID пользователя: он есть и в ключе, и на сервере. Если сервис даёт вам ключ, UUID уже внутри.

Почему VMess зависит от времени

Это главная практическая особенность протокола. Документация Xray требует: системное время UTC на устройстве должно отличаться от реального не более чем на 120 секунд, независимо от часового пояса. Если часы ушли дальше, соединение не устанавливается, а со стороны это выглядит как «сервер не отвечает».

Что проверить, если VMess не подключается:

  1. Включите в системе автоматическую установку даты и времени.
  2. Проверьте, что выбран верный часовой пояс и не сбита дата.
  3. Сравните время с точным: разница должна быть в пределах пары минут.
  4. Если время в порядке, проверьте сам ключ и попробуйте другой сервер из подписки.

Для VLESS и Trojan такого требования в документации нет.

Как выглядит ссылка vmess://

В отличие от других протоколов, ссылка VMess — это vmess:// и далее закодированный в base64 JSON-объект. Поля по описанию INCY для провайдеров:

ПолеЗначение
add, portАдрес и порт сервера
idUUID клиента
psНазвание сервера
scyМетод шифрования, по умолчанию auto
netТранспорт: tcp, ws, grpc и др.
tls, sni, fp, alpnПараметры TLS, если он включён
path, hostПуть и Host-заголовок для WebSocket или gRPC

Разбирать ссылку вручную не нужно: INCY читает её сам.

Как добавить VMess в INCY

  1. Скопируйте ссылку vmess:// или адрес подписки.
  2. В INCY нажмите «Вставить» на главном экране или «+ Добавить» во вкладке «Серверы».
  3. Выберите сервер и нажмите кнопку подключения.

Подробная инструкция — «Как добавить ключ в INCY». Если ключа ещё нет, прочитайте, как его получить.

Когда выбирать VMess

VMess подходит, если сервис выдаёт именно такие ключи или если вам нужно шифрование, не зависящее от внешнего слоя. Для новых настроек чаще берут VLESS с Reality: он легче и не требует такой синхронизации времени. Сравнение всех протоколов — на странице «Протоколы VPN».

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

Что такое VMess?

VMess — зашифрованный транспортный протокол из семейства ядра Xray и V2Ray. Клиент представляется серверу по UUID, а данные шифруются самим протоколом. Работает он поверх TCP, WebSocket, gRPC и других транспортов, при желании — вместе с TLS.

Почему VMess не подключается при неправильном времени?

Документация Xray требует, чтобы системное время (UTC) отличалось от точного не более чем на 120 секунд, независимо от часового пояса. Если часы устройства ушли дальше, соединение не устанавливается. Включите автоматическую установку времени в системе.

Чем VMess отличается от VLESS?

VMess шифрует данные сам и зависит от точности времени. VLESS шифрования не имеет и опирается на TLS или Reality, поэтому легче и не требует такой синхронизации часов. Оба протокола добавляются в INCY одинаково, через ссылку: вставьте её кнопкой «Вставить».

Как добавить ключ vmess:// в INCY?

Скопируйте ссылку vmess://, откройте INCY и нажмите «Вставить» на главном экране или «+ Добавить» во вкладке «Серверы». Приложение прочитает параметры из ссылки само. Потом выберите сервер и нажмите кнопку подключения.