mirror of
https://github.com/XTLS/Xray-docs-next.git
synced 2025-01-20 17:51:40 +03:00
3b23ce3ea2
* add Russian lang support --------- Co-authored-by: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
125 lines
7.8 KiB
Markdown
125 lines
7.8 KiB
Markdown
# 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"`: рекомендуется для использования на ПК.
|
||
- `"chacha20-poly1305"`: рекомендуется для использования на мобильных устройствах.
|
||
- `"auto"`: значение по умолчанию, автоматический выбор (метод шифрования aes-128-gcm, если платформа выполнения - AMD64, ARM64 или s390x, в противном случае - Chacha20-Poly1305).
|
||
- `"none"`: без шифрования.
|
||
|
||
* `"zero"`: без шифрования и проверки подлинности сообщений (v1.4.0+).
|
||
|
||
::: tip
|
||
Рекомендуется использовать метод шифрования `"auto"`, чтобы обеспечить безопасность и совместимость в долгосрочной перспективе.
|
||
|
||
Метод псевдошифрования `"none"` будет вычислять и проверять контрольные суммы пакетов данных, но поскольку алгоритм аутентификации не имеет аппаратной поддержки, на некоторых платформах он может быть медленнее, чем `"aes-128-gcm"` с аппаратным ускорением.
|
||
|
||
Метод псевдошифрования `"zero"` не шифрует сообщения и не вычисляет контрольные суммы данных, поэтому теоретически он должен быть быстрее любого другого метода шифрования. Фактическая скорость может зависеть от других факторов.
|
||
|
||
Не рекомендуется использовать методы псевдошифрования `"none"` и `"zero"` без включенного TLS-шифрования и обязательной проверки сертификатов.
|
||
Если для установления соединения используется CDN или другая промежуточная платформа, расшифровывающая TLS, или сетевая среда, не рекомендуется использовать методы псевдошифрования `"none"` и `"zero"`.
|
||
|
||
Независимо от используемого метода шифрования, заголовок пакета VMess защищен шифрованием и аутентификацией.
|
||
:::
|
||
|
||
> `experiments`: string
|
||
|
||
Включенные экспериментальные функции протокола VMess. (Функции здесь нестабильны и могут быть удалены в любое время). Несколько включенных экспериментов можно разделить символом |, например, "AuthenticatedLength|NoTerminationSignal".
|
||
|
||
"AuthenticatedLength" включает эксперимент с аутентифицированной длиной пакета. Этот эксперимент необходимо включить одновременно на клиенте и сервере, а также запустить одну и ту же версию программы.
|
||
|
||
"NoTerminationSignal" включает эксперимент с отключением сигнала завершения соединения. Этот эксперимент может повлиять на стабильность проксируемого соединения.
|
||
|
||
|
||
|
||
|