OVEROUTESOVEROUTES
首页
阅读须知
  • 总览
  • 选购要点
  • 协议详解
  • 客户端使用
  • 概述
  • IP 与线路
  • 选型指南
  • 选购参考
  • 基础部署
  • 安全加固
  • 概述
  • 3X-UI
  • Xboard
  • 协议总览
  • Shadowsocks
  • Shadowsocks 2022
  • VMess
  • Trojan
  • VLESS
  • Hysteria 2
  • TUIC
  • AnyTLS
  • NaiveProxy
  • Mieru
  • ShadowTLS
  • VLESS-XHTTP
  • WireGuard
  • 传统协议
  • 孤家寡人协议
  • 软件总览
  • Mihomo
  • sing-box
  • Xray
  • V2Fly
  • dae (Linux)
  • Shadowrocket (iOS)
  • QuantumultX (iOS)
  • Stash (iOS/macOS)
  • Loon (iOS)
  • Surge (macOS/iOS)
  • NekoBox (Android)
  • Husi (Android)
  • Exclave (Android)
配置
首页
阅读须知
  • 总览
  • 选购要点
  • 协议详解
  • 客户端使用
  • 概述
  • IP 与线路
  • 选型指南
  • 选购参考
  • 基础部署
  • 安全加固
  • 概述
  • 3X-UI
  • Xboard
  • 协议总览
  • Shadowsocks
  • Shadowsocks 2022
  • VMess
  • Trojan
  • VLESS
  • Hysteria 2
  • TUIC
  • AnyTLS
  • NaiveProxy
  • Mieru
  • ShadowTLS
  • VLESS-XHTTP
  • WireGuard
  • 传统协议
  • 孤家寡人协议
  • 软件总览
  • Mihomo
  • sing-box
  • Xray
  • V2Fly
  • dae (Linux)
  • Shadowrocket (iOS)
  • QuantumultX (iOS)
  • Stash (iOS/macOS)
  • Loon (iOS)
  • Surge (macOS/iOS)
  • NekoBox (Android)
  • Husi (Android)
  • Exclave (Android)
配置
  • 主流序列

    • 代理协议总览
    • Shadowsocks
    • Shadowsocks 2022
    • VMess
    • Trojan
    • VLESS
    • Hysteria 2
  • 新生序列

    • TUIC
    • AnyTLS
  • 小众序列

    • NaiveProxy
    • Mieru
    • SS-ShadowTLS
    • VLESS-XHTTP
  • 传统与其他

    • WireGuard
    • 传统协议
    • 孤家寡人协议

VLESS

VLESS 是由 Xray 项目核心开发者 @rprx 于 2020 年设计的轻量级代理协议。它可以看作 VMess 的精简重构版:去掉了 VMess 中多余的应用层加密和时间戳校验机制,将所有加密工作交由底层传输层(TLS 或 Reality)处理,从而在保持安全性的同时获得更高的性能。

VLESS 目前是自建代理节点的首选协议之一,尤其是 VLESS + Reality 组合,在 2023 年后迅速成为社区最推荐的新建节点方案。

与 VMess 的核心区别

理解 VLESS,首先需要理解它和 VMess 的本质差异:

设计决策VMessVLESS
应用层加密有(独立于 TLS)无(完全依赖 TLS / Reality)
时间戳校验有(90 秒窗口)无
身份认证UUID + 时间戳哈希UUID(无时间绑定)
协议开销中(双重加密时有损耗)低(无冗余加密层)
XTLS 支持不支持支持
Reality 支持不支持支持

VMess 在没有 TLS 的情况下也能通过自身的加密层运行(尽管不推荐),而 VLESS 设计上必须配合 TLS 或 Reality 使用——这不是缺陷,而是一种"职责分离"的设计哲学:让专业的加密协议(TLS)做加密,让 VLESS 只做最核心的身份认证和流量转发。

VLESS 的传输方案

VLESS 本身只是一个轻量的认证层,其实际的抗检测能力和性能高度依赖所选择的传输方案。以下是主要的几种组合:

VLESS + XTLS-Vision + TLS(推荐,需要域名)

XTLS-Vision 是 Xray 项目独创的流控方案。普通的 TLS-in-TLS 方案(如 VMess over WebSocket over TLS)会产生两层 TLS 加密,造成性能损耗,且内层 TLS 的特征可能暴露代理行为。XTLS-Vision 通过直接"拼接"内外层 TLS 数据流来解决这个问题:

普通 TLS-in-TLS:
[TLS outer] → 解密 → [TLS inner] → 解密 → 明文

XTLS-Vision:
[TLS outer 握手] → 完成后直接传递 [TLS inner 数据](无需双重解密)

效果:

  • 消除双重加密的性能损耗
  • 内层 TLS 数据流原样传输,使整体流量特征与正常的 HTTPS 访问高度吻合
  • 是目前 TCP 协议中性能最高的代理方案之一

缺点:需要一个域名和有效的 TLS 证书,服务器 IP 直接暴露(不能过 CDN)。

VLESS + Reality(推荐,无需域名)

Reality 是 VLESS 生态中最重要的创新,于 2023 年 1 月发布。它解决了 Trojan 和 VLESS + TLS 方案中"必须拥有域名和证书"的限制。

Reality 的工作原理:

Reality 借用了 TLS 1.3 的扩展特性(ECH/ESNI 的原理类似),在不与目标网站建立真实连接的情况下,让客户端的 TLS 握手看起来像在访问一个指定的真实网站(如 www.apple.com、www.microsoft.com 等):

观察者视角:
客户端 ---[TLS 握手,SNI = www.apple.com]---> 服务端

实际发生:
客户端与服务端通过 VLESS + Reality 建立代理连接
服务端并没有也不需要拥有 apple.com 的证书

Reality 通过一对专用的密钥对(privateKey / publicKey)实现这一过程中的安全认证,防止第三方冒充服务端。

Reality 的优势:

  • 无需域名,无需 TLS 证书
  • 流量 TLS 指纹与访问指定真实网站完全一致(因为使用了真实的 TLS 1.3 实现)
  • 不会因为证书过期或域名失效而中断服务
  • 在"新疆"等特殊网络审查环境下被社区验证具有极高的抗检测能力

关于 Reality 的目标网站选择

Reality 配置中的 serverNames(SNI 目标)应选择真实存在、在中国大陆无法直接访问、且使用 TLS 1.3 的网站(如 www.apple.com、addons.mozilla.org、www.tesla.com 等)。不要使用国内可以正常访问的网站,也不要使用你自己的其他域名。

VLESS + WebSocket + TLS(可过 CDN)

与 VMess + WebSocket + TLS 类似,适合需要通过 CDN(如 Cloudflare)隐藏服务器真实 IP 的场景。

  • 抗检测能力不如 XTLS-Vision 或 Reality
  • 延迟高于直连方案(经过 CDN 中转)
  • 服务器 IP 被封时仍可使用
  • 配置方式与 VMess + ws + tls 基本相同,替换协议字段即可

VLESS + gRPC + TLS(可过 CDN)

使用 gRPC 传输,Cloudflare CDN 对 gRPC 有原生支持。在某些网络环境下,gRPC 的多路复用特性带来更稳定的连接。

VLESS + Reality 详细配置

以下为基于 Xray-core 的 VLESS + Reality 配置示例,这是目前最推荐的自建节点方案。

前置条件

  • 一台具有公网 IP 的 VPS
  • 服务器已开放 443 端口
  • 已安装 Xray-core

安装 Xray-core

bash <(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh) install

生成 Reality 密钥对

xray x25519

输出示例:

Private key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Public key:  yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

保存好这对密钥,Private key 填入服务端配置,Public key 填入客户端配置。

生成 UUID

xray uuid

服务端配置(/usr/local/etc/xray/config.json)

{
  "log": {
    "loglevel": "warning"
  },
  "inbounds": [
    {
      "port": 443,
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "id": "your-uuid-here",
            "flow": "xtls-rprx-vision"
          }
        ],
        "decryption": "none"
      },
      "streamSettings": {
        "network": "tcp",
        "security": "reality",
        "realitySettings": {
          "show": false,
          "dest": "www.apple.com:443",
          "serverNames": [
            "www.apple.com"
          ],
          "privateKey": "your-private-key-here",
          "shortIds": [
            "a1b2c3d4"
          ]
        }
      },
      "sniffing": {
        "enabled": true,
        "destOverride": ["http", "tls", "quic"]
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "tag": "direct"
    },
    {
      "protocol": "blackhole",
      "tag": "block"
    }
  ]
}

shortIds 是一个短 ID 列表,用于在服务端区分不同客户端连接,可以是 2–16 位的十六进制字符串。可以使用 openssl rand -hex 4 生成一个 4 字节的短 ID。

启动与验证

systemctl enable xray
systemctl start xray
systemctl status xray
journalctl -u xray -f  # 查看实时日志

客户端配置参数(以 sing-box 为例)

{
  "type": "vless",
  "tag": "vless-reality",
  "server": "your.server.ip",
  "server_port": 443,
  "uuid": "your-uuid-here",
  "flow": "xtls-rprx-vision",
  "tls": {
    "enabled": true,
    "server_name": "www.apple.com",
    "utls": {
      "enabled": true,
      "fingerprint": "chrome"
    },
    "reality": {
      "enabled": true,
      "public_key": "your-public-key-here",
      "short_id": "a1b2c3d4"
    }
  }
}

utls.fingerprint 用于模拟特定浏览器的 TLS 指纹,推荐使用 chrome 或 firefox。

VLESS + XTLS-Vision + TLS 配置

适合已有域名和证书的用户,性能极高,是 TCP 直连方案的最优选择。

Xray 服务端配置

{
  "inbounds": [
    {
      "port": 443,
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "id": "your-uuid-here",
            "flow": "xtls-rprx-vision"
          }
        ],
        "decryption": "none",
        "fallbacks": [
          {
            "dest": 8080
          }
        ]
      },
      "streamSettings": {
        "network": "tcp",
        "security": "tls",
        "tlsSettings": {
          "minVersion": "1.3",
          "certificates": [
            {
              "certificateFile": "/etc/ssl/certs/your.domain.crt",
              "keyFile": "/etc/ssl/private/your.domain.key"
            }
          ]
        }
      }
    }
  ]
}

关于 flow 字段

flow 字段用于指定 XTLS 流控方式,目前有效值为:

flow 值说明
xtls-rprx-vision当前推荐的 XTLS 流控方式,适用于 Reality 和 TLS 方案
空(不填)不启用 XTLS,适用于 WebSocket + TLS 等传输方式

关于旧版 flow 值

早期版本中存在 xtls-rprx-direct、xtls-rprx-splice 等流控方式,这些已在新版本中废弃。如果你的配置中仍有这些旧值,请升级客户端和服务端并改为 xtls-rprx-vision。

优缺点

优点缺点
协议轻量,无冗余加密层,性能高必须配合 TLS 或 Reality 使用,不能裸连
Reality 无需域名和证书Reality 配置相对于简单协议稍复杂
XTLS-Vision 性能极高(消除双重加密)WebSocket 变体延迟高于直连方案
抗检测能力在主流协议中最强之一客户端需要较新版本才支持 Reality
支持多种传输方式,灵活性高—
回落机制完善(通过 Xray 实现)—

适用场景

VLESS + Reality(推荐场景):

  • 新建自用代理节点的首选方案
  • 服务器没有域名,或不想管理证书
  • 网络审查严格,需要最强的 TLS 伪装能力
  • 在特殊区域(如新疆)需要稳定连接

VLESS + XTLS-Vision + TLS(推荐场景):

  • 已有域名和证书,追求最高的 TCP 传输性能
  • 对延迟极为敏感的场景
  • 希望服务端同时提供 Web 服务(回落机制)

VLESS + WebSocket + TLS(推荐场景):

  • 服务器 IP 不稳定或已被封,需要 CDN 中转
  • 部署在不支持直接监听 443 端口的环境(如共享主机)
  • 需要利用 Cloudflare Workers 进行额外处理

客户端支持

平台客户端VLESS + RealityVLESS + TLSVLESS + WS
Windows / macOS / LinuxMihomo支持支持支持
Windows / macOS / Linuxsing-box支持支持支持
Windows / macOS / LinuxXray / v2rayN支持支持支持
iOSShadowrocket支持支持支持
iOSStash支持支持支持
iOSQuantumult X不支持支持支持
iOS / macOSSurge支持(需新版)支持支持
iOSLoon支持支持支持
AndroidNekoBox支持支持支持
AndroidHusi支持支持支持
AndroidExclave支持支持支持
Linuxdae支持支持支持

关于 Quantumult X

Quantumult X 不支持 Reality,但支持标准的 VLESS + TLS 和 VLESS + WebSocket + TLS 方案。如果你主要使用 QX,且节点需要最强抗检测能力,可以考虑搭配 Shadowrocket 或 Stash 使用。

常见问题

Q:VLESS 和 VMess 用哪个?

新建节点一律推荐 VLESS。VMess 的唯一优势是历史兼容性——大量老旧节点和客户端仅支持 VMess。如果你是在使用机场订阅,以实际节点类型为准;如果是自建,选 VLESS + Reality。

Q:Reality 的目标网站(dest / serverNames)如何选择?

选择原则:

  1. 必须是在中国大陆无法直接访问的境外网站
  2. 必须支持 TLS 1.3
  3. 最好选择大型知名网站(苹果、微软、Mozilla 等),因为访问这类网站是正常用户行为
  4. 目标网站必须真实存在并正常运行

Q:shortId 是什么,有什么用?

shortId 是 Reality 握手过程中客户端携带的短标识符,服务端通过它验证连接是否来自合法客户端。你可以配置多个 shortId 对应多个客户端,每个客户端使用不同的 shortId。

Q:VLESS + Reality 能过 CDN 吗?

不能。Reality 依赖直接的 TCP 连接,无法通过 CDN 中转。如果需要 CDN,请使用 VLESS + WebSocket + TLS 方案。

延伸阅读

  • VMess 协议 — 了解 VLESS 的前身及其适用场景
  • Trojan 协议 — 了解同样依赖 TLS 的另一种设计思路
  • AnyTLS 协议 — 了解新一代基于 TLS 的协议
  • 代理协议总览 — 回到协议总览页面
最近更新: 2026/4/8 16:01
Prev
Trojan
Next
Hysteria 2