From 6741b0bea7877ae593dcf5b5188e411f3d2f0203 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A3=8E=E6=89=87=E6=BB=91=E7=BF=94=E7=BF=BC?= Date: Thu, 7 Aug 2025 14:34:29 +0800 Subject: [PATCH] Vmess inbound: Correct desc of "none" and update chacha20 performance tip --- docs/config/outbounds/vmess.md | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/docs/config/outbounds/vmess.md b/docs/config/outbounds/vmess.md index 0e6be2f..8f0b46f 100644 --- a/docs/config/outbounds/vmess.md +++ b/docs/config/outbounds/vmess.md @@ -91,25 +91,15 @@ level 的值, 对应 [policy](../policy.md#policyobject) 中 `level` 的值。 加密方式,客户端将使用配置的加密方式发送数据,服务器端自动识别,无需配置。 -- `"aes-128-gcm"`:推荐在 PC 上使用 -- `"chacha20-poly1305"`:推荐在手机端使用 +- `"aes-128-gcm"`:使用 AES-128-GCM 算法 +- `"chacha20-poly1305"`:使用 Chacha20-Poly1305 算法 - `"auto"`:默认值,自动选择(运行框架为 AMD64、ARM64 或 s390x 时为 aes-128-gcm 加密方式,其他情况则为 Chacha20-Poly1305 加密方式) -- `"none"`:不加密 +- `"none"`:不加密,保持vmess消息结构 +- `"zero"`:不加密,数据流直接拷贝(类似vless) -* `"zero"`:不加密,也不进行消息认证 (v1.4.0+) +不推荐在未开启 TLS 加密并强制校验证书的情况下使用 `"none"` `"zero"` 伪加密方式。无论使用哪种加密方式, VMess 的包头都会受到加密和认证的保护。 -::: tip -推荐使用`"auto"`加密方式,这样可以永久保证安全性和兼容性。 - -`"none"` 伪加密方式会计算并验证数据包的校验数据,由于认证算法没有硬件支持,在部分平台可能速度比有硬件加速的 `"aes-128-gcm"` 还慢。 - -`"zero"` 伪加密方式不会加密消息也不会计算数据的校验数据,因此理论上速度会高于其他任何加密方式。实际速度可能受到其他因素影响。 - -不推荐在未开启 TLS 加密并强制校验证书的情况下使用 `"none"` `"zero"` 伪加密方式。 -如果使用 CDN 或其他会解密 TLS 的中转平台或网络环境建立连接,不建议使用 `"none"` `"zero"` 伪加密方式。 - -无论使用哪种加密方式, VMess 的包头都会受到加密和认证的保护。 -::: +注意,auto 只是判断客户端的 AES 硬件加速支持状态,如果服务端没有 AES 硬件加速支持,仍然需要手动设置到 chacha20-poly1305, 这非常重要,因为 Chacha20-Poly1305 在支持 AES 加速的平台上比 AES-128-GCM 耗时多了约 48% 但是在不支持 AES 加速的平台上, AES-128-GCM 的耗时将比 Chacha20-Poly1305 高出 2000% 以上。 > `experiments`: string