# VMess

[VMess](../../development/protocols/vmess.md) - это зашифрованный транспортный протокол, который обычно используется в качестве моста между клиентами и серверами Xray.

::: danger
VMess полагается на системное время. Убедитесь, что системное время UTC, используемое Xray, находится в пределах 120 секунд от фактического времени, независимо от часового пояса. В системах Linux вы можете установить службу `ntp` для автоматической синхронизации системного времени.
:::

## InboundConfigurationObject

```json
{
  "clients": [
    {
      "id": "5783a3e7-e373-51cd-8642-c83782b807c5",
      "level": 0,
      "email": "love@xray.com"
    }
  ],
  "default": {
    "level": 0
  },
  "detour": {
    "to": "tag_to_detour"
  }
}
```

> `clients`: \[ [ClientObject](#clientobject) \]

Массив, представляющий группу пользователей, одобренных сервером.

Каждый элемент в массиве - это пользователь [ClientObject](#clientobject).

Когда эта конфигурация используется для динамических портов, Xray будет автоматически создавать пользователей.

> `detour`: [DetourObject](#detourobject)

Указывает, что для соответствующего исходящего протокола следует использовать другой сервер.

> `default`: [DefaultObject](#defaultobject)

Необязательно. Конфигурация по умолчанию для клиентов. Действует только при использовании с `detour`.

### ClientObject

```json
{
  "id": "5783a3e7-e373-51cd-8642-c83782b807c5",
  "level": 0,
  "email": "love@xray.com"
}
```

> `id`: string

Идентификатор пользователя VMess. Это может быть любая строка длиной менее 30 байт или допустимый UUID.

::: tip
Пользовательские строки и соответствующие им UUID эквивалентны, что означает, что вы можете использовать любой из следующих вариантов в файле конфигурации для идентификации одного и того же пользователя:

- `"id": "Я люблю арбуз учителя 1314"`
- `"id": "5783a3e7-e373-51cd-8642-c83782b807c5"` (этот UUID является сопоставлением строки "Я люблю арбуз учителя 1314")

Стандарт сопоставления описан в [VLESS UUID Mapping Standard: Mapping a Custom String 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.

> `email`: string

Адрес электронной почты пользователя, используемый для разделения трафика от разных пользователей.

### DetourObject

```json
{
  "to": "tag_to_detour"
}
```

> `to`: string

`Тег` входящего соединения, определяющий входящее соединение, использующее протокол VMess.

### DefaultObject

```json
{
  "level": 0
}
```

> `level`: number

Уровень пользователя, который будет использоваться соединением для определения соответствующей [локальной политики](../policy.md#levelpolicyobject).

Значение `level` соответствует значению `level` в [policy](../policy.md#policyobject). Если не указано, используется значение по умолчанию - 0.
