Xray-docs-next/docs/ru/config/outbounds/vmess.md

111 lines
7.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# VMess
[VMess](../../development/protocols/vmess.md) - это зашифрованный транспортный протокол, который обычно используется в качестве моста между клиентами и серверами Xray.
::: danger
VMess полагается на системное время. Убедитесь, что системное время UTC, используемое Xray, находится в пределах 120 секунд от фактического времени, независимо от часового пояса. В системах Linux вы можете установить службу `ntp` для автоматической синхронизации системного времени.
:::
## OutboundConfigurationObject
```json
{
"vnext": [
{
"address": "127.0.0.1",
"port": 37192,
"users": [
{
"id": "5783a3e7-e373-51cd-8642-c83782b807c5",
"security": "auto",
"level": 0,
"experiments": ""
}
]
}
]
}
```
> `vnext`: \[ [ServerObject](#serverobject) \]
Массив, содержащий набор конфигураций сервера.
Каждый элемент - это конфигурация сервера [ServerObject](#serverobject).
### ServerObject
```json
{
"address": "127.0.0.1",
"port": 37192,
"users": []
}
```
> `address`: address
Адрес сервера, поддерживается IP-адрес или доменное имя.
> `port`: number
Номер порта, который прослушивает сервер, обязательный параметр.
> `users`: \[ [UserObject](#userobject) \]
Массив, представляющий группу пользователей, распознаваемых сервером.
Каждый элемент - это пользователь [UserObject](#userobject).
#### UserObject
```json
{
"id": "5783a3e7-e373-51cd-8642-c83782b807c5",
"security": "auto",
"level": 0,
"experiments": ""
}
```
> `id`: string
Идентификатор пользователя VMess, может быть любой строкой длиной менее 30 байт или допустимым UUID.
Пользовательская строка и соответствующий ей UUID эквивалентны, что означает, что вы можете использовать любой из следующих вариантов в файле конфигурации для идентификации одного и того же пользователя:
- Напишите `"id": "Я люблю арбуз учителя 1314"`,
- Или напишите `"id": "5783a3e7-e373-51cd-8642-c83782b807c5"` (этот UUID является сопоставлением строки "Я люблю арбуз учителя 1314")
Стандарт сопоставления описан в [VLESS UUID Mapping Standard: Mapping Custom Strings to a UUIDv5](https://github.com/XTLS/Xray-core/issues/158).
Вы можете использовать команду `xray uuid -i "пользовательская строка"` для создания UUID, соответствующего пользовательской строке. Вы также можете использовать команду `xray uuid` для создания случайного UUID.
> `level`: number
Уровень пользователя, для соединения будет использоваться [локальная политика](../policy.md#levelpolicyobject), соответствующая этому уровню пользователя.
Значение level соответствует значению `level` в разделе [policy](../policy.md#policyobject). Если не указано, используется значение по умолчанию - 0.
> `security`: "aes-128-gcm" | "chacha20-poly1305" | "auto" | "none" | "zero"
Метод шифрования. Клиент будет отправлять данные с использованием настроенного метода шифрования, сервер автоматически распознает его, настройка на сервере не требуется.
* `"aes-128-gcm"`: Использовать алгоритм `AES-128-GCM`.
* `"chacha20-poly1305"`: Использовать алгоритм `Chacha20-Poly1305`.
* `"auto"`: Значение по умолчанию. Автоматический выбор (для архитектур `AMD64`, `ARM64` или `s390x` будет выбран метод шифрования `aes-128-gcm`, в остальных случаях — `Chacha20-Poly1305`).
* `"none"`: Без шифрования, сохраняется структура сообщения `VMess`.
* `"zero"`: Без шифрования, поток данных копируется напрямую (аналогично `VLESS`).
Не рекомендуется использовать псевдошифрование `"none"` или `"zero"` без включенного `TLS` шифрования и принудительной проверки сертификата. Независимо от выбранного метода шифрования, заголовки пакетов `VMess` всегда защищены шифрованием и аутентификацией.
Обратите внимание, что `auto` определяет поддержку аппаратного ускорения `AES` только на стороне клиента. Если сервер не поддерживает аппаратное ускорение `AES`, необходимо вручную установить `"chacha20-poly1305"`. Это очень важно, поскольку `Chacha20-Poly1305` на платформах с поддержкой ускорения `AES` работает примерно на 48% медленнее, чем `AES-128-GCM`, однако на платформах без аппаратного ускорения `AES`, `AES-128-GCM` будет работать более чем на 2000% медленнее, чем `Chacha20-Poly1305`.
> `experiments`: string
Включенные экспериментальные функции протокола VMess. (Функции здесь нестабильны и могут быть удалены в любое время). Несколько включенных экспериментов можно разделить символом |, например, "AuthenticatedLength|NoTerminationSignal".
"AuthenticatedLength" включает эксперимент с аутентифицированной длиной пакета. Этот эксперимент необходимо включить одновременно на клиенте и сервере, а также запустить одну и ту же версию программы.
"NoTerminationSignal" включает эксперимент с отключением сигнала завершения соединения. Этот эксперимент может повлиять на стабильность проксируемого соединения.