You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Xray-docs-next/docs/config/inbounds/vmess.md

107 lines
2.6 KiB

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 依赖于系统时间,请确保使用 Xray 的系统 UTC 时间误差在 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)
可选clients 的默认配置。仅在配合`detour`时有效。
### ClientObject
```json
{
"id": "5783a3e7-e373-51cd-8642-c83782b807c5",
"level": 0,
"email": "love@xray.com"
}
```
> `id`: string
Vmess 的用户 ID可以是任意小于 30 字节的字符串, 也可以是一个合法的 UUID.
::: tip
自定义字符串和其映射的 UUID 是等价的, 这意味着你将可以这样在配置文件中写 id 来标识同一用户,即
-`"id": "我爱🍉老师1314"`,
- 或写 `"id": "5783a3e7-e373-51cd-8642-c83782b807c5"` (此 UUID 是 `我爱🍉老师1314` 的 UUID 映射)
:::
其映射标准在 [VLESS UUID 映射标准:将自定义字符串映射为一个 UUIDv5](https://github.com/XTLS/Xray-core/issues/158)
你可以使用命令 `xray uuid -i "自定义字符串"` 生成自定义字符串所映射的的 UUID。
> 也可以使用命令 `xray uuid` 生成随机的 UUID.
> `level`: number
用户等级,连接会使用这个用户等级对应的 [本地策略](../policy.md#levelpolicyobject)。
level 的值, 对应 [policy](../policy.md#policyobject) 中 `level` 的值。 如不指定, 默认为 0。
> `email`: string
用户邮箱地址,用于区分不同用户的流量。
### DetourObject
```json
{
"to": "tag_to_detour"
}
```
> `to`: string
一个 inbound 的`tag`, 指定的 inbound 的必须是使用 VMess 协议的 inbound.
### DefaultObject
```json
{
"level": 0
}
```
> `level`: number
用户等级,连接会使用这个用户等级对应的 [本地策略](../policy.md#levelpolicyobject)。
level 的值, 对应 [policy](../policy.md#policyobject) 中 `level` 的值。 如不指定, 默认为 0。