V2Ray 协议与内核技术参考
本页是站内的系统查阅手册,与快速上手分工明确:那一页负责把一次连接跑通,本页负责在做选择时给出依据——五种代理协议的设计取舍、V2Fly 与 Xray 两个内核的差异、订阅字段的对应关系、传输与路由的实际影响,以及按场景挑选协议的顺序。
- 协议 VMess / VLESS / Trojan / SS / REALITY
- 内核 V2Fly · Xray
- 客户端 v2rayN · v2rayNG · v2flyNG
- 平台 Windows · macOS · Android · Linux
选型总览:内核、协议、传输三层怎么分
在 v2rayNG 或 v2rayN 里点开一个节点之前,先分清三层东西,后面的选择会清楚很多。这三层分别是客户端、内核、协议与传输,每一层能改动的东西并不一样。
三层各管什么
客户端是能看到的那一层。桌面端是 v2rayN,安卓端是 v2rayNG 与 v2flyNG。客户端负责界面、订阅管理、路由开关、分应用代理这类操作,并把节点信息翻译成内核能读的配置。
内核是真正建立连接的程序。它读一份 JSON 配置,按 inbounds 接收本机流量,按 outbounds 把流量送出去,中间按 routing 里的规则决定走哪条出站。v2rayNG 调用的是 Xray 内核,v2flyNG 调用的是 V2Fly 内核,v2rayN 桌面版同样以 Xray 内核为主。内核决定了哪些协议可用——例如 REALITY 只存在于 Xray 一侧,把 REALITY 节点导入 v2flyNG 是解析不了的。
协议与传输是决定实际表现的一层。协议指 VMess、VLESS、Trojan、Shadowsocks、REALITY 这些身份与封装方案;传输指 TCP、WebSocket、gRPC 这些承载方式;再叠加是否使用 TLS。这一层通常随订阅一起下发,日常使用中很少需要手写。
日常能改的其实只有几项
打开客户端设置界面,普通用户真正会动的选项集中在几个地方:选哪个节点、路由模式选哪一种、哪些应用走代理、是否开机自启。协议与传输是随节点来的,不是现场编辑的。所以"选对协议"这件事发生在挑选订阅或整理自建配置的阶段,而不是每次连接的时候。理解协议差异的价值在于两点:同一个订阅里有多种协议的节点时,你知道该优先试哪一个;某个节点连不上时,你能判断问题出在协议参数还是链路本身。
本页与快速上手页的分工
快速上手负责把一次连接跑通的最短路径:导入订阅、选择模式、连接、验证,每一步只讲必要动作。本页不重复那条主线,而是把每个环节背后的选择讲清楚——协议之间差在哪、两个内核怎么取舍、订阅字段怎么对应、什么场景该用哪种组合。如果现在只想尽快连上,先看快速上手;如果在选订阅、整理自建配置或排查疑难,留在本页。
按目标找章节
- 想知道五种协议的设计差别 → 协议家族
- 想比较握手开销与资源占用 → 速度与开销对比
- 想知道 v2rayNG 与 v2flyNG 的内核区别 → 内核家族
- 订阅导入失败或字段对不上 → 订阅格式与兼容性
- 想了解传输方式与路由模式的影响 → 传输与路由
- 关心安卓设备的耗电 → 移动端电量表现
- 想直接看推荐组合 → 按场景选型
- 需要字段速查或排错清单 → 参数速查与排错
术语约定
本页所说的节点,指一条完整的出站配置,包含服务器地址、端口、身份字段与传输参数;订阅指包含多条节点信息的链接或文件;内核指 v2ray-core 家族的处理程序;入站与出站分别对应本机流量的入口与出口。流控指协议层对数据转发方式的控制参数。REALITY 在本页按协议层方案讨论,涉及的是选型与兼容性判断,不展开服务端部署细节。
代理协议家族:诞生背景与设计取舍
协议之间的差别,大多不是"谁更快"这种能一句话回答的问题,而是每个方案在设计时优先解决了什么、又主动放弃了什么。把五种协议放回各自的出发点看,选型时的疑问会少很多。
VMess:协议内自带认证与加密
VMess 是 V2Ray 项目早期自有的协议,目标是在质量不稳定的链路上完成身份确认与数据封装。它自带 UUID 身份字段与时间戳校验,早期通过 alterId 机制生成一批子身份,后来改为 AEAD 认证加密,alterId 设为 0 成为主流做法。设计上的特点是认证与加密都在协议内部完成,因此不依赖外层 TLS 也能工作。代价是每个数据包都多一层封装,握手时客户端与服务端要完成一次请求与响应,移动设备会因此多出几次处理器唤醒。
VLESS:把加密交给外层
VLESS 可以理解为 VMess 的减法版本。它去掉了协议自带的加密层,只保留一个轻量的身份标识与可选流控参数,加密完全交给外层通道,通常是 TLS。取舍很明确:放弃"裸跑也加密"的能力,换取更短的握手路径与更少的封装字节。因此 VLESS 必须搭配 TLS 或等价的可靠加密通道使用,单独裸跑不提供机密性。在 Xray 内核里,VLESS 可以配合 flow 参数启用 XTLS Vision 流控,进一步减少加解密层数。
Trojan:让流量保持标准 HTTPS 的样子
Trojan 不发明新的流量形态,而是让代理流量保持一次标准 HTTPS 访问的样子。服务端监听 443 端口并持有真实证书,密码正确时转发流量,密码错误时把请求回落到一个真实网站。从外部观察,它就是一台普通的 Web 服务器。取舍在于:必须拥有域名与有效证书,证书或端口配置出错时会完全不可用;好处是配置概念少、理解成本低,流量形态与常规 HTTPS 高度接近。
Shadowsocks:轻量对称加密
Shadowsocks 走的是轻量对称加密路线。客户端与服务端共享一个密码,由密码派生出加密密钥,没有额外的身份握手字段。常见加密方式为 chacha20-ietf-poly1305 与 aes-256-gcm 这类 AEAD 算法。它的封装开销在几种方案里最小,实现也最简单,因此在算力有限的设备上仍然常见。代价是协议本身不提供伪装层,流量特征相对固定,需要靠外层封装或插件来补充。
REALITY:借用真实站点的握手流程
REALITY 由 Xray 一侧提出,针对的是证书维护成本这个具体问题。常规 TLS 方案需要自己拥有域名与证书,REALITY 改为在握手阶段借用某个真实站点的证书链:客户端预先知道目标站点的公钥,握手时验证的是目标站点,服务端不需要持有自己的证书。对使用者来说,一个 REALITY 节点通常只需要填几个参数:公钥、shortId、目标域名。它目前主要与 VLESS 搭配,并配合 XTLS Vision 流控使用。
协议不是越新越好。判断顺序是:先看客户端内核是否支持,再看链路质量与是否需要伪装,最后看设备算力。三者都满足时,再在新旧之间取舍。
五种方案的取舍对照
| 协议 | 身份方式 | 自带加密 | 主动放弃的能力 |
|---|---|---|---|
| VMess | UUID 加时间戳校验 | 有 | 更短的握手路径 |
| VLESS | UUID | 无 | 裸跑时的机密性 |
| Trojan | 密码 | 无 | 免证书部署 |
| Shadowsocks | 共享密码派生 | 有 | 协议层伪装 |
| REALITY | 公钥与 shortId | 无 | 使用自有证书 |
从表里能看出一条清晰的演化线索:早期方案倾向于把能力做进协议内部,后来的方案倾向于把能力交给外层、让协议本身尽量薄。这条线索也解释了为什么新协议往往要求搭配 TLS——它们把安全边界外移了。
连接速度与资源占用对比
"哪个协议快"要先拆开看。一次连接的时间由三部分构成:物理链路往返、握手往返次数、加解密与封装的处理时间。前两项由服务器位置和链路质量决定,与协议无关;协议能影响的只有第三项,以及握手需要几个来回。所以同一台服务器换协议测速,差异通常很小;换一台服务器,差异可能大得多。
握手路径:需要几个来回
VMess 的握手是请求与响应两段式,客户端发出身份信息后要等服务端确认;VLESS 只带一个轻量身份标识,不额外等待一轮确认;Trojan 走标准 TLS 握手,密码校验发生在握手之后的应用层数据里;Shadowsocks 没有身份往返,密钥由共享密码直接派生;REALITY 的握手过程与访问一个真实站点一致,客户端验证的是目标站点的证书链。往返次数越少,在高延迟链路上的首包时间越短。
封装层数:加解密做几遍
封装层数决定处理器开销。VMess 自带加密,如果外面再套一层 TLS,数据就要加解密两遍;VLESS 与 Trojan 自身不做加密,只做一层 TLS;REALITY 配合 XTLS Vision 时,代理数据可以直通,减少重复的加解密。在桌面处理器上这几层差异很难感知,在低功耗安卓设备上则会体现在耗电与发热上,这一点在移动端电量表现一章展开。
三种开销对照
| 协议 | 握手特征 | 典型封装层数 | 相对开销 |
|---|---|---|---|
| VMess | 身份校验加请求响应两段 | 协议自身加密,可再叠 TLS | 中 |
| VLESS | 单次身份标识 | 一层 TLS | 低 |
| Trojan | 标准 TLS 握手后校验密码 | 一层 TLS | 中低 |
| Shadowsocks | 密钥派生,无身份往返 | 协议自身对称加密 | 低 |
| REALITY | 与访问真实站点一致 | 一层 TLS,可直通 | 低 |
什么时候差异能被感知
三种情况下协议差异会变得明显:链路本身延迟很高时,握手往返次数的影响被放大;设备算力有限时,加解密层数直接体现为耗电与掉速;并发连接数多时,每条连接的开销会累积。反过来,在延迟较低的固定宽带加中端以上设备上,VMess 与 VLESS 的体感差别通常小到无法稳定复现。
客户端里显示的延迟数字来自 TCP 握手或真连接测试,反映的主要是链路质量,不是协议优劣。要比较协议,必须在同一台服务器、同一条链路上换协议测,并在同一时间段内完成。
怎么自测才有意义
在 v2rayNG 的节点列表里,可以通过菜单发起延迟测试,常见的有 TCP 测试与真连接测试两类。TCP 测试只验证地址与端口能否连通,速度快但信息少;真连接测试会实际建立一次代理连接,结果更接近真实使用。比较协议时按下面的顺序做:
- 固定一台服务器,把同一份配置按不同协议各写一条出站。
- 用真连接测试各测三轮,记录波动范围而不是单次数值。
- 在同一时间段内完成全部测试,避免跨时段比较。
- 再补一次实际访问测试,确认测试结果与体感一致。
如果三轮结果互相重叠,说明在当前链路上这几个协议没有可分辨的差异,选型应该转向其它因素:是否需要伪装、证书维护成本、设备耗电。按同样的思路筛节点的完整流程,见首次连接检查。
内核家族:V2Fly 与 Xray 的功能差异
协议是配置里的字段,内核是执行这些字段的程序。同一份节点信息在不同内核上的表现可能不同,原因是两个内核支持的特性集合并不完全一样。
从 Project V 到两条维护线
Project V 是一套围绕代理与路由的开源方案,最初的实现是 v2ray-core。随着项目演进,社区接手维护这条主线,形成了 V2Fly 内核;另一条线从 v2ray-core 分叉出来,发展成 Xray 内核。两者共享同一套配置结构与大部分字段命名,但各自增加了不同的能力。理解这一点,就能明白为什么同一个订阅在不同客户端上导入后,节点数量可能对不上。
功能差异对照
| 能力 | V2Fly 内核 | Xray 内核 |
|---|---|---|
| VMess / VLESS / Trojan / Shadowsocks | 支持 | 支持 |
| REALITY 握手方案 | 不支持 | 支持 |
| XTLS 与 Vision 流控 | 不支持 | 支持 |
| VLESS 的 flow 参数 | 不支持 | 支持 |
| 路由规则与域名匹配 | 支持 | 支持 |
| 分应用代理(安卓端) | 支持 | 支持 |
| 配置骨架与字段命名 | 同源 | 同源 |
配置兼容性怎么判断
两个内核的配置骨架一致:顶层是 inbounds、outbounds、routing 这些键,出站里的 protocol、settings、streamSettings 结构也相同。差异出现在具体字段上:Xray 独有的字段,例如 VLESS 出站里的 flow、传输层里的 realitySettings,在 V2Fly 内核上无法解析,轻则忽略该字段,重则整份配置加载失败。反过来,V2Fly 支持的字段 Xray 基本都兼容。所以从 Xray 往 V2Fly 搬配置需要逐项检查,从 V2Fly 往 Xray 搬通常不用改。
如果一份订阅导入后节点数量变少,或所有节点都连接失败,先确认节点用了哪种协议与传输。出现 REALITY 或 flow 参数时,应使用基于 Xray 内核的客户端。
三款客户端与内核的搭配
桌面端 v2rayN 以 Xray 内核为主,覆盖 Windows、macOS、Linux 三个平台;安卓端 v2rayNG 同样基于 Xray 内核,是安卓上的首选;v2flyNG 基于 V2Fly 内核,作为备选,适合订阅内容只包含基础协议、且希望与既有配置保持一致的情况。三款客户端的界面结构相近,订阅管理与路由设置的思路一致,从桌面搬到安卓不需要重新学习。三者的详细对比见选型指南。
怎么选
判断顺序很简单:订阅里出现 REALITY 节点,或者配置里带 flow 参数,就用 Xray 内核的客户端;订阅只有 VMess、Trojan、Shadowsocks 这类基础协议,两个内核都能覆盖,这时按平台选客户端即可,安卓优先 v2rayNG。需要同时维护桌面与安卓时,统一用 Xray 内核可以减少一次配置迁移时的检查成本。
订阅格式与兼容性
订阅是节点信息从服务方到客户端的主要通道。理解它的格式,能在导入失败时快速定位问题,也能避免在不同客户端之间搬运配置时丢字段。
订阅链接与分享链接的区别
分享链接描述单个节点,形如 vless://、vmess://,复制一条就能导入一个节点。订阅链接描述一组节点,本身是一个 HTTP 或 HTTPS 地址,客户端访问后拿到一段文本,文本里的每一行是一条分享链接。订阅的价值在于更新:节点有增删时服务方改一处,客户端下次刷新就同步,不需要逐条重新复制。
文本是怎么编码的
订阅返回的内容有两种常见形态:明文的多行分享链接,以及把整段文本做一次 Base64 编码后的单块字符串。客户端导入时会先尝试按明文解析,失败则按 Base64 解码再解析。所以手工检查订阅内容时,如果看到的是一长串没有换行的字符,先做一次 Base64 解码再读。解码后的每一行应该以协议名开头。
四种分享链接的字段形态
| 链接前缀 | 编码方式 | 关键字段 |
|---|---|---|
vmess:// | Base64 编码的 JSON | 服务地址、端口、UUID、alterId、传输方式、TLS 开关 |
vless:// | URL 查询参数 | UUID、加密方式、安全类型、flow、SNI、公钥、shortId |
trojan:// | URL 查询参数 | 密码、SNI、传输类型 |
ss:// | Base64 或 SIP002 形态 | 加密方式、密码、服务地址、端口 |
可以看到,VMess 与 Shadowsocks 把字段打包进 Base64 段,VLESS 与 Trojan 则把字段摊在 URL 查询参数里。REALITY 节点通常以 vless:// 形式出现,额外带上公钥与 shortId 两个参数,少任何一个都无法完成握手。
导入失败的常见原因
- Base64 段在复制过程中被截断,末尾少了几个字符,解码结果不完整。
- 分享链接里的服务地址是域名,而当前环境下域名解析不到,表现为导入成功但连接失败。
- REALITY 节点的公钥或
shortId缺失,导入后节点存在但握手无法完成。 - 订阅里的节点使用了当前客户端内核不支持的特性,导入时被跳过。
- 订阅地址需要额外的请求头或鉴权参数,直接粘贴到浏览器能打开、在客户端里却拉取失败。
导入之后客户端内部长什么样
导入完成后,节点会被翻译成内核能读的 JSON。下面是 VLESS 出站的最小骨架,字段名与真实配置一致,地址与身份做了替换:
{
"outbounds": [
{
"protocol": "vless",
"settings": {
"vnext": [
{
"address": "node.example.com",
"port": 443,
"users": [
{
"id": "00000000-0000-0000-0000-000000000000",
"flow": "xtls-rprx-vision"
}
]
}
]
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"serverName": "www.example.com",
"publicKey": "example-public-key",
"shortId": "0123456789abcdef"
}
}
}
]
}
对照这份骨架就能理解导入过程:分享链接里的每个查询参数,最终都会落到 settings 或 streamSettings 的某个键上。字段对不上时,问题通常出在链接本身,而不是客户端。
多客户端并存时的同步
同一个订阅在 v2rayN 与 v2rayNG 上导入,节点列表理论上应该一致。如果桌面端有某个节点、安卓端没有,先检查该节点的协议与传输:REALITY 与带 flow 的 VLESS 节点在只支持基础协议的内核上会被跳过。更新订阅时,客户端通常按订阅分组整体替换,本地对单个节点的改名或排序可能不会保留,重要节点建议单独记下关键字段。多设备之间搬运配置的几种做法,可以参考多设备同步 V2Ray 配置。
传输层与路由对选型的影响
同一套协议参数,换一种传输方式,表现可能完全不同。传输决定数据怎么被承载,路由决定哪些流量进入代理,两者共同影响连接成功率与使用体验。
常见传输方式
| 传输 | 承载方式 | 特点 | 常见搭配 |
|---|---|---|---|
| TCP | 裸 TCP | 封装最少,握手最短 | VLESS + REALITY、Trojan |
| WebSocket | HTTP/1.1 升级 | 可自定义路径与 Host 头 | VMess + WS + TLS |
| gRPC | HTTP/2 流 | 多路复用,单连接承载多请求 | VLESS + gRPC + TLS |
| HTTP/2 | HTTP/2 | 与 gRPC 思路相近 | VMess + h2 |
| QUIC | UDP | 丢包重传策略不同 | 使用较少 |
选传输的实用判断是:能用 TCP 就用 TCP,需要配合前置服务或特定端口时再考虑 WebSocket 与 gRPC。WebSocket 的可配置项最多,路径与 Host 头写错是最常见的连接失败原因之一;gRPC 在链路质量波动时靠多路复用有优势,但配置里多一个服务名参数,填错同样连不上。
TLS 与 SNI 在选型中的位置
TLS 决定流量是否加密,SNI 决定握手时向对端声明访问哪个域名。对 VLESS 与 Trojan 来说,TLS 不是可选项而是前提;对 VMess 来说,TLS 是可加的一层。REALITY 把 SNI 指向一个真实站点,握手时验证的是该站点的证书链,因此配置里的 serverName 必须与目标站点一致,写错会导致握手失败。选择传输时先确认订阅里带的 SNI 字段,再决定是否需要额外设置。
路由模式三选一
v2rayNG 与 v2rayN 的路由模式通常提供三种:
- 仅代理:按内置规则分流,匹配到的流量走代理,其余直连。日常使用最常用。
- 绕过局域网:局域网地址直连,其余流量走代理。适合需要访问路由器管理页、局域网存储这类本地设备的场景。
- 全局:所有流量都进代理。排查问题时用得多,日常使用会增加不必要的流量消耗。
三种模式对应的是内核配置里 routing 段的不同规则集。切换模式不会改变节点本身,只改变哪些流量被送进出站。
分应用代理与开机自启
安卓端的分应用代理按应用包名决定是否走代理,适合只让少数应用走代理的使用方式。开启后需要逐个勾选应用,未勾选的应用按直连处理。桌面端没有这项设置,取而代之的是按进程或按地址段的规则。开机自启适合长期在线的设备;移动设备上开启会持续占用一个后台连接,是否启用取决于使用频率。
domainStrategy 与 DNS 的关系
路由规则里的 domainStrategy 决定域名在什么时候被解析成 IP。常见取值有三种:
| 取值 | 行为 | 适用情况 |
|---|---|---|
AsIs | 直接用域名匹配规则,不预先解析 | 规则以域名为主时 |
IPIfNonMatch | 域名规则未命中时,解析成 IP 再匹配一次 | 规则里同时有域名与 IP 段 |
IPOnDemand | 遇到 IP 规则时立即解析 | 规则以 IP 段为主时 |
这一项与 DNS 设置耦合:如果 DNS 查询没有走代理,解析结果可能暴露真实出口。相关的现象与检查方法整理在V2Ray DNS 泄漏检测与防泄漏设置一文里。需要让全部流量都经过虚拟网卡接管时,做法见TUN 模式原理与开启。
移动端电量与流量表现
安卓设备上,代理客户端的耗电主要不来自加解密本身,而来自连接保持与网络唤醒。理解这一点,就能判断哪些设置值得调、哪些调了也看不出差别。
四个影响变量
- 握手频率:每次建立新连接都要完成一次握手,握手越频繁,处理器唤醒次数越多。
- 心跳与保活:为保持长连接,客户端与服务端会定期交换数据包,间隔越短越耗电。
- 封装层数:加解密做几遍直接影响处理时间,在低功耗核心上更明显。
- 传输方式:WebSocket 与 gRPC 需要维护额外的协议层状态,分包次数多于裸 TCP。
协议层面的差异
把五个协议放在电量视角下排序,大致是:VLESS 与 Trojan 这类只做一层 TLS 的方案开销最低;REALITY 配合 XTLS Vision 时,代理数据可以直通,开销同样很低;VMess 自带一层加密,若外层再套 TLS,处理层数最多;Shadowsocks 的对称加密开销小,但缺少协议层伪装,是否省电取决于外层怎么封装。
这个排序只在低功耗设备上容易观察。中高端手机上,几个协议的耗电差异往往被屏幕、无线电和后台应用掩盖,很难通过电池统计界面分辨出来。
比协议更重要的几件事
- 减少节点切换:每换一次节点就要重新握手,频繁切换比协议选择更耗电。
- 用分应用代理收窄范围:把不需要代理的应用排除在外,能直接减少连接数。
- 避免频繁测速:真连接测试会建立完整连接,批量测试几十个节点会明显增加唤醒次数。
- 合理设置保活:长时间不使用时直接断开,比维持一个空闲连接更省电。
用系统自带的电池用量统计,对比"开启代理"与"关闭代理"两种状态下的前台与后台耗电占比,时间窗口取一整天。单次短时间对比的噪声太大,结论不可靠。
流量层面的额外开销
封装会带来额外的字节:每个数据包都要带协议头,TLS 记录层也有自己的头部。这些开销在浏览网页时几乎察觉不到,在大流量下载或长时间视频播放时才会体现出来。传输方式越复杂,头部越多;裸 TCP 加一层 TLS 是头部最少的组合。如果流量套餐有限,优先选择封装简单的传输方式。
桌面端为什么不用考虑这些
桌面环境没有无线电唤醒问题,处理器也通常有余量,同样的协议差异在桌面上几乎无法感知。因此桌面的选型可以更侧重维护成本与配置便利性,不必为省电做取舍。移动端的取舍则更实际:少一层封装、少一次握手,累积到一整天的使用时长里就有意义。
按使用场景挑选协议的顺序
把前面几章的结论收拢成一套判断顺序:先确认内核支持,再看链路与维护成本,最后按设备类型微调。下面按常见场景给出建议组合。
三步判断顺序
- 看内核:节点里是否出现 REALITY 或 flow 参数。出现就用 Xray 内核的客户端,不出现则两个内核都能覆盖。
- 看链路与维护成本:是否愿意维护域名与证书。愿意维护,Trojan 与 VLESS 加 TLS 都是成熟选择;不愿意维护,VLESS 加 REALITY 省去证书这一环。
- 看设备:低功耗设备优先封装层数少的方案;桌面端按便利性选即可。
场景对照
| 场景 | 建议组合 | 理由 |
|---|---|---|
| 桌面固定网络,自行整理配置 | VLESS + REALITY + TCP | 不需要自有证书,封装层数少 |
| 桌面,已有域名与证书 | Trojan 或 VLESS + TLS | 配置概念少,客户端兼容面广 |
| 安卓移动网络,在意耗电 | VLESS + TLS 或 Trojan | 只做一层加密,握手路径短 |
| 算力有限的老设备 | Shadowsocks 或 Trojan | 对称加密开销小,实现简单 |
| 订阅里协议混杂 | 安卓用 v2rayNG,桌面用 v2rayN | Xray 内核覆盖全部协议 |
| 需要访问局域网设备 | 任意协议加绕过局域网模式 | 路由模式决定分流,与协议无关 |
几种不建议的组合
- VLESS 不带 TLS 直接使用:协议本身不提供机密性,数据在链路上没有加密保护。
- 在 V2Fly 内核上使用 REALITY 节点:内核不支持该方案,配置无法生效。
- 把 Shadowsocks 当作唯一方案覆盖所有场景:缺少协议层伪装,可配置项少,遇到需要自定义路径的链路时没有退路。
- 在移动设备上长期开启全局模式:所有流量都进代理,连接数与唤醒次数都会上升。
一个可执行的落地流程
- 在客户端里导入订阅,确认节点数量与预期一致。
- 按协议分组,优先测试封装层数少的节点。
- 用真连接测试筛掉不通的节点,步骤参考首次连接检查。
- 选定两到三个节点作为常用项,其余保留备用。
- 按设备类型调整路由模式与分应用代理。
协议之间的横向比较还可以参考VMess、VLESS、Trojan、SS 横向对比,那篇按握手开销、延迟与场景选型三个角度展开,与本页的对照表互为补充。客户端的选取与系统要求集中在下载中心,三款客户端的差异集中在选型指南。
参数速查与排错索引
这一章是前面的索引化收尾:常用字段的含义、典型现象对应的检查项,以及站内相关页面的入口。
常用字段速查
| 字段 | 所在位置 | 含义 |
|---|---|---|
inbounds | 配置顶层 | 本机流量的入口,决定监听方式 |
outbounds | 配置顶层 | 流量的出口,节点信息写在这里 |
routing | 配置顶层 | 分流规则,决定哪些流量走哪个出口 |
domainStrategy | routing 段内 | 域名解析时机,取值 AsIs / IPIfNonMatch / IPOnDemand |
streamSettings | 出站或入站内 | 传输层设置,包含 network、security 等键 |
flow | 用户字段内 | 流控参数,xtls-rprx-vision 对应 XTLS Vision |
shortId | realitySettings 内 | REALITY 握手时的短标识,需与服务端一致 |
现象与检查项
| 现象 | 优先检查 |
|---|---|
| 节点导入后消失 | 客户端内核是否支持该协议与传输 |
| 节点存在但握手失败 | REALITY 的公钥与 shortId 是否填全 |
| 能连上但访问超时 | 路由模式与 domainStrategy 设置 |
| 局域网设备访问不了 | 是否处于全局模式 |
| 耗电明显上升 | 分应用代理与保活设置 |
| 订阅刷新后节点变少 | 订阅内容是否被截断,或节点用了新特性 |
相关页面
- 快速上手:导入订阅、选择模式、连接、验证的完整主线。
- 下载中心:三款客户端的平台入口与系统要求。
- 选型指南:v2rayN、v2rayNG、v2flyNG 三款客户端的横向对比。
- 常见问题:按基础认知、安装配置、使用技巧、故障排查分类整理。
- 首次连接检查:节点挑选、真连接测速与代理生效验证。
- DNS 泄漏检测:现象、检测入口与配置项。
- 多设备配置同步:三种搬运做法的取舍。
- 四种协议横向对比:握手开销、延迟与场景选型。
- TUN 模式:原理与开启顺序。
最后一点说明
本页的结论都建立在协议与内核的公开设计之上,不涉及具体服务端的部署参数。协议选择没有唯一正确答案:同一份订阅在不同链路上表现可能不同,同一台服务器在不同设备上的耗电表现也不一样。把本页当作判断依据,把实际测试当作最终结论,两者结合才能选出适合自己的组合。如果本页没有覆盖你的问题,可以在常见问题里按分类查找,或回到快速上手按主线重走一遍流程。