VMess: что это
- Автор
- Екатерина Лебедева, редактор раздела knowledge base
- Проверил:
- Артём Волков
- Проверено:
- Опубликовано:
- , обновлено
- Версия гайда:
- 1.0
Коротко
VMess — протокол прокси из проекта V2Ray: он шифрует данные сам и проверяет метку времени при каждом подключении. В Happ сервер VMess добавляется ссылкой vmess://, подпиской или вручную.
VMess старше VLESS и достался Xray-core от проекта V2Ray, поэтому он до сих пор встречается в старых подписках и панелях управления. В отличие от VLESS протокол не полагается на внешний слой защиты: шифрование данных методом auto, aes-128-gcm или chacha20-poly1305 выполняет сам VMess. Сервер дополнительно проверяет метку времени в каждом запросе, и по документации Xray часы клиента и сервера не должны расходиться больше чем на 120 секунд. Happ принимает VMess так же, как остальные протоколы: из буфера обмена, QR-кода, диплинка или подписки.
VMess — протокол прокси из проекта V2Ray, который Xray-core поддерживает ради обратной совместимости: данные шифрует сам протокол, а сервер отдельно проверяет метку времени в каждом запросе клиента.
Суть термина
VMess — протокол, по которому клиент и сервер Xray-core передают данные друг другу. Он появился в проекте V2Ray раньше VLESS и остаётся в Xray-core ради обратной совместимости со старыми серверами и панелями управления.
Клиент открывает соединение и передаёт заголовок с UUID, командой (TCP, UDP или Mux) и адресом назначения. В отличие от VLESS этот заголовок и сами данные VMess шифрует самостоятельно — методом auto, aes-128-gcm или chacha20-poly1305. Расшифровать перехваченный трафик без ключа нельзя, даже если поверх нет TLS.
Проверка подлинности построена не только на UUID. Сервер дополнительно смотрит на метку времени в запросе и отклоняет её, если она слишком старая. Так протокол защищается от повторной отправки перехваченных данных.
В современных версиях Xray-core заголовки VMess используют схему AEAD, поэтому у параметра alterId (сокращённо aid) практически всегда стоит значение 0. Старое значение вроде 64 осталось от ранних версий V2Ray, где применялась другая, менее надёжная схема.
Шифрование и точное время
Метод auto — не хуже конкретного алгоритма, а разумный выбор по умолчанию: Xray-core сам ставит aes-128-gcm на 64-битных процессорах x86 и ARM с аппаратным ускорением AES и chacha20-poly1305 там, где такого ускорения нет. Явно указывать метод стоит только при особых требованиях сервера.
Проверка метки времени — обязательная часть протокола, и здесь пригодится уточнённая цифра из документации Xray: часы клиента и сервера не должны расходиться больше чем на 120 секунд. Более старая цифра 90 секунд относилась к первоначальной реализации V2Ray, а не к текущему Xray-core.
Если время сбилось сильнее — например, устройство долго провело без сети или часовой пояс определился неверно — сервер просто отклоняет запрос, без отдельного пояснения на экране. Внешне это выглядит как обычная неудачная попытка подключения, и разумно сначала проверить автоматическую синхронизацию времени на устройстве, а не искать причину в самом сервере.
Как это выглядит в Happ
Документация Happ перечисляет VMess среди поддерживаемых протоколов наравне с VLESS, Trojan, Shadowsocks, Socks5 и Hysteria2 — способы добавления у них общие.
Подписка. Провайдер присылает список серверов, и строки VMess в нём начинаются с vmess://; после добавления подписки такой сервер появляется в общем списке.
Отдельная ссылка. Ключ vmess:// импортируется из буфера обмена, QR-кодом или диплинком. Если ссылка повреждена, Happ показывает сообщение вида «Конфигурация vmess не валидная» — типичные причины разобраны на странице ошибки «Конфигурация не валидная».
Ручной ввод. Кнопка «+» в правом верхнем углу → «Ручной ввод» → протокол VMess → поля адреса, порта, UUID, метода шифрования и транспорта → «Готово».
Отдельно стоят JSON-конфигурации внутри подписки: Happ передаёт их в Xray-core без изменений, поэтому сервер VMess в таком виде работает ровно так, как его описал автор, а маршрутизация приложения к нему не применяется.
Чем VMess отличается от похожих терминов
| Термин | Что это | Отличие от VMess |
|---|---|---|
| VLESS | протокол прокси | в обычных ссылках не шифрует данные сам и не зависит от времени; защиту даёт TLS или Reality |
| Trojan | протокол прокси | тоже не шифрует данные сам, но полагается на TLS и проверяет клиента по паролю, а не по времени |
| V2Ray | проект и ядро | программа, в которой VMess появился впервые; Happ работает не на нём, а на форке Xray-core |
| Xray-core | ядро | программа, которая реализует VMess и другие протоколы; на нём построен Happ |
| TLS | слой защиты | у VMess не обязателен, потому что шифрование уже есть внутри протокола |
Полный список параметров ссылки VMess, транспортов и типичных ошибок — на странице VMess в Happ. Там же разобраны конкретные значения net, scy и tls с примерами.
Главное
- VMess шифрует данные самостоятельно (auto, aes-128-gcm или chacha20-poly1305) и может работать без TLS, в отличие от VLESS.
- Сервер VMess проверяет метку времени в каждом запросе: по документации Xray часы клиента и сервера не должны расходиться больше чем на 120 секунд.
- Протокол ведёт историю от проекта V2Ray, а VLESS появился позже как его облегчённая замена без встроенного шифрования.
- Современный Xray-core использует AEAD-заголовки VMess, поэтому у актуальных серверов параметр alterId равен нулю.
- Happ принимает VMess той же ссылкой vmess://, что и другие протоколы: из буфера обмена, QR-кода, диплинка или подписки.
Частые вопросы
Чем VMess отличается от VLESS по сути протокола?
VMess шифрует данные сам и может работать без TLS, потому что защита встроена в протокол. VLESS в обычных ссылках такого шифрования не делает: он только называет UUID и адрес назначения, а канал защищает внешний слой TLS или Reality. Поэтому VLESS легче нагружает процессор на слабых устройствах, а VMess самодостаточен и подойдёт там, где настроить TLS на сервере сложнее. Подробное сравнение параметров и практических отличий — на странице «VLESS или VMess».
VMess и V2Ray — это одно и то же?
Нет. V2Ray — проект и программа-ядро, а VMess — один из протоколов, которые эта программа реализовала первой. Позже на основе V2Ray появился форк Xray-core, на котором работает Happ: он сохранил VMess ради совместимости и добавил VLESS, Reality и XTLS Vision. Поэтому сервер «на VMess» может стоять и на исходном V2Ray, и на Xray-core — для клиента разницы почти нет.
Почему VMess требует точного времени, а VLESS нет?
VMess проверяет метку времени в каждом запросе как часть защиты от повторной отправки перехваченных данных, и это заложено в протокол с самого начала. VLESS появился позже и решил ту же задачу иначе, вообще не привязываясь к часам устройства. Поэтому на VMess сбившееся время сразу обрывает подключение, а на VLESS точность часов роли не играет.
Нужно ли пользователю Happ самому выбирать метод шифрования VMess?
Обычно нет: метод шифрования — часть ссылки или подписки, которую выдал администратор сервера или провайдер, и Happ использует его без дополнительных действий пользователя. Указать метод вручную нужно только при ручном вводе конфигурации, если вы сами настраиваете сервер. В остальных случаях достаточно импортировать готовую ссылку или подписку.
Можно ли по ссылке vmess:// понять, шифрует ли она данные?
Само шифрование по протоколу включено всегда: это не опция, а часть VMess. По ссылке можно понять только конкретный метод — он записан в закодированной части base64 в поле с шифром, например auto или chacha20-poly1305. Отдельно проверяется, есть ли поверх ещё и TLS: если да, соединение защищено двумя слоями сразу, а без TLS — только собственным шифрованием протокола.
Считается ли VMess устаревшим протоколом?
Xray-core продолжает его поддерживать, и активные серверы VMess по-прежнему встречаются в подписках, но для новых серверов чаще выбирают VLESS: он легче и не зависит от часов. VMess остаётся оправданным выбором там, где сервер давно настроен именно на него или работает через WebSocket за CDN без желания что-то менять. Полностью устаревшим протокол не назвать: он активно используется, просто не самый новый вариант.
Как Happ показывает сервер VMess в общем списке?
Рядом с именем сервера Happ обычно выводит короткий технический текст, например тип протокола, если провайдер не заменил его собственным описанием serverDescription. Достоверно узнать протокол можно, открыв параметры сервера, если подписка не зашифрована и не скрыта провайдером. Проще всего ориентироваться по исходной ссылке: она начинается с vmess://.
Упомянутые темы
Похожие материалы
Разделы по теме
Источники
- Документация Happ: примеры ссылок и параметры — обращение 28 сентября 2026
- Документация Happ: добавление конфигурации и подписки — обращение 28 сентября 2026
- Документация Xray: исходящее подключение VMess — обращение 28 сентября 2026