PROTOCOL & CORE REFERENCE

V2Ray 协议与内核技术参考

面向客户端选型,比较 VMess、VLESS、Trojan、Shadowsocks 与 REALITY 的职责、性能边界和兼容关系,并说明 V2Fly、Xray、订阅格式与图形客户端之间的连接方式。

系统查阅手册 8 个章节 更新于 2026-08-19

CONTENTS

章节目录

建议先读第一章建立分层模型,再按协议、性能、内核或订阅问题进入对应章节。

01 / SELECTION MODEL

先分清协议、传输、安全层与内核

客户端里的“协议类型”只是第一层选择

图形客户端通常把 VMess、VLESS、Trojan、Shadowsocks 显示为节点类型,但一次连接并不只由这一项决定。完整链路至少可以拆成四层:应用协议负责认证与请求表达,传输方式决定数据如何装入 TCP、WebSocket、gRPC 等通道,安全层负责加密与对端身份确认,内核负责解析配置并实际建立连接。REALITY 更接近安全与握手能力,而不是与 VLESS 完全并列的应用协议。把这些概念混成一个名称,容易出现“协议选对了仍无法连接”的判断偏差。

以常见的 VLESS 组合为例,节点可能同时包含 VLESS、TCP、REALITY、XTLS Vision、服务器名称和公钥等字段。VLESS 只说明认证与请求格式,TCP 表示底层传输,REALITY 处理握手与身份验证,Vision 则影响数据流处理方式。客户端导入分享链接后,会把这些部分写入同一个出站配置。任何关键字段缺失、拼写变化或落在当前内核不认识的位置,都可能让最终行为与节点名称看起来不一致。

选型应从服务端既有配置开始

协议不能只按客户端偏好单方面切换。客户端节点必须与服务端在协议、端口、认证信息、传输方式和安全参数上对应。订阅提供的是既有配置时,正确做法是确认客户端能否完整识别,而不是把 VLESS 手动改成 VMess,或只保留服务器地址和端口重新创建节点。协议名称相近不代表可以互换,UUID 相同也不能替代其余参数。节点编辑器里的每个选项,本质上都是服务端配置的一部分映射。

如果可以自主决定两端配置,选型顺序应是:先确认两端内核支持范围,再确定应用协议,然后确定安全层和传输,最后考虑客户端导入与维护便利。对多数新配置而言,VLESS 提供较轻的协议层,适合与 TLS 或 REALITY 等安全能力组合;VMess 的协议层包含更多既有设计,常见于历史配置;Trojan 把口令认证与 TLS 使用方式结合起来;Shadowsocks 结构简洁,客户端覆盖范围广。这里不存在脱离网络条件、服务端实现和维护目标的绝对排序。

用字段完整性判断兼容,而不是只看名称

判断客户端是否支持某节点,至少要核对协议、地址、端口、用户标识、传输、安全方式、服务器名称、指纹、路径或服务名等字段。客户端列表能够显示节点,不等于所有字段都已被正确接收。订阅转换、旧版订阅模板或跨内核导入可能丢弃不认识的扩展项,使节点看似完整,实际退回默认值。遇到此类情况,应打开节点编辑页逐项比对原始链接或服务端说明,并查看客户端日志中关于未知字段、握手失败或配置解析的提示。

层次 常见选项 决定的内容 典型错配
应用协议 VMess、VLESS、Trojan、Shadowsocks 认证方式与代理请求格式 客户端类型与服务端不一致
传输 TCP、WebSocket、gRPC 数据分帧和承载方式 路径、服务名或网络类型缺失
安全层 TLS、REALITY 握手、加密与身份确认 服务器名称、公钥或短标识错误
流控 Vision 等 特定组合下的数据处理策略 内核支持但客户端未写入字段
执行内核 V2Fly、Xray 配置解析与实际连接实现 扩展字段被另一内核拒绝

因此,协议选择的基本原则不是追逐一个名称,而是保证整组参数在服务端、订阅、客户端和内核之间连续传递。先建立这套分层模型,后续比较速度、资源占用或电量才有意义。若基础导入流程尚未完成,可先按快速配置教程建立一条可工作的连接,再回到本页比较不同组合。

02 / VMESS & VLESS

VMess 与 VLESS 的设计差异

VMess 的背景与配置特征

VMess 是 Project V 早期生态中具有代表性的协议。它把用户标识、认证信息和协议层加密组织在自身格式内,长期以来被大量 V2Ray 配置与订阅格式采用。常见节点字段包括服务器地址、端口、用户 UUID、alterId、传输方式和安全设置。较新的配置通常不再依赖较高的 alterId,但旧订阅或旧教程仍可能保留该字段。客户端导入后应以服务端给出的值为准,不应因为字段看起来陈旧就自行改写。

VMess 的优点主要体现在生态积累与历史兼容。许多订阅生成器、面板格式和客户端早已能够稳定识别其基础字段,迁移旧配置时阻力较小。它的代价是协议层承担的工作相对更多,字段语义也容易与传输层、安全层混在一起。对资源有限的设备而言,这些差异通常不会单独决定体验,但在大量并发连接、频繁唤醒或长时间运行时,协议与实现的额外处理仍可能反映到 CPU 时间和电量上。

VLESS 把安全职责交给组合层

VLESS 的设计重点是简化协议层。它使用用户标识完成认证,但不在 VLESS 自身重复提供完整的数据加密能力,而是依赖 TLS、REALITY 等外部安全层组成完整连接。这样的分层使职责更清楚,也为 Xray 生态中的扩展能力保留了组合空间。客户端中选择 VLESS 后,仍必须继续确认 security、flow、transport、serverName 等项目;只填地址、端口和 UUID,通常不足以复现原节点。

“VLESS 更轻”不应被理解为所有环境下都必然更快。连接总耗时包括域名解析、TCP 建连、安全握手、认证、首个请求和持续传输。协议层减少一些处理,只影响其中一部分。若网络往返时间较高,握手次数与连接复用会比少量本地计算更显著;若主要传输大文件,拥塞控制、链路质量和服务端出口更关键;若手机频繁建立许多短连接,握手和应用唤醒又会重新成为重点。因此,性能判断需要放在完整组合中,而不是仅比较 VLESS 与 VMess 四个字。

Vision、TLS 与 REALITY 不能省略核对

部分 VLESS 配置会携带 flow 字段,例如与特定 TCP 和安全组合配合的 Vision。该字段不是装饰标签,而是两端协商和数据处理的一部分。订阅导入后若 flow 为空、值被截断,或当前内核不支持对应组合,连接可能在握手后失败。TLS 场景则要核对服务器名称、证书对应域名和应用层协议选项。REALITY 场景还会增加公钥、短标识、服务器名称与客户端指纹等参数,具体含义在第三章展开。

配置编辑器中常见的“跳过证书验证”属于诊断性选项,不适合作为长期修复方式。证书错误通常提示设备时间、服务器名称、证书部署或订阅字段存在问题。直接放宽验证会掩盖根因,使之后迁移设备或更新订阅时再次失败。更稳妥的顺序是先检查系统时间,再核对节点中的服务器名称,最后确认服务端对应端口是否确实提供预期的 TLS 配置。

两者的实际选择边界

已有 VMess 配置运行稳定,且多设备客户端都能完整导入时,没有必要仅因名称更新而立即重建。新部署若使用 Xray 生态并需要 REALITY、Vision 等组合,VLESS 通常更自然。需要在 V2Fly 与 Xray 之间保持较宽兼容时,应优先使用双方都理解的基础字段,并避免把特定扩展误当作通用配置。对订阅维护者而言,明确输出协议、传输和安全层字段,比简单标注“VLESS 节点”更重要。

在 v2rayN 中可通过节点编辑页查看完整组合;Android 上使用 v2rayNG 时,也应展开传输与安全选项核对,而不是只看节点列表名称。v2flyNG 以 V2Fly 内核为主要方向,适合使用 V2Fly 能识别的配置。三个客户端的安装入口与适用平台可在下载页查阅。

03 / TROJAN, SHADOWSOCKS & REALITY

Trojan、Shadowsocks 与 REALITY 的职责边界

Trojan 是协议,核心前提是正确的 TLS 参数

Trojan 使用口令认证,并把连接建立在 TLS 之上。客户端节点通常需要服务器地址、端口、密码、服务器名称与证书验证相关选项。它的配置表面上比带多种扩展字段的 VLESS 简单,但 TLS 参数仍然是连接成立的核心。服务器地址可以是域名或 IP,而服务器名称通常用于 TLS 握手中的名称匹配;两者有时相同,有时不同。订阅转换若只保留地址而丢失服务器名称,就可能出现证书名称不匹配。

Trojan 适合需要成熟 TLS 组合、希望配置语义相对直接的场景。性能上,它受到 TLS 握手、连接复用和底层传输影响,并不会因为字段较少就自动减少所有开销。长连接中,首次握手成本会被后续数据摊薄;大量短连接中,握手次数更值得关注。客户端日志若显示 TLS 相关错误,应先处理名称、时间和服务端配置,而不是反复更换本地代理模式。

Shadowsocks 的简洁来自明确的加密方法

Shadowsocks 节点的核心字段通常是服务器、端口、密码与加密方法。它的协议结构相对紧凑,许多平台和内核都有实现,因此常被用于强调基础兼容与较低配置复杂度的场景。需要注意的是,加密方法必须由两端共同支持且完全一致。客户端下拉列表中存在某个方法,不代表服务端一定使用该项;订阅中的方法名称被转换工具改写,也可能导致认证失败。

不同加密方法对处理器能力与实现质量有不同要求。现代设备通常具有较好的对称加密支持,但低功耗设备、旧处理器或高并发情况下仍可能显示差异。评估时应关注持续吞吐下的 CPU 占用、温度和稳定性,而不是只进行一次网页打开测试。若服务端或客户端日志提示 unsupported method,应恢复订阅原始值,并确认当前内核是否包含对应实现。

Shadowsocks 的简洁也意味着部分高级行为由外部层或客户端策略承担。分流、DNS、系统代理和应用接管并不是协议本身的功能,不能把这些设置变化归因于 Shadowsocks 节点。相同节点在两个客户端中表现不同,常见原因是路由规则、DNS 查询路径或系统接管方式不同,而不是节点协议发生变化。

REALITY 不是第五种并列代理协议

REALITY 常与 VLESS 一起出现,但它处理的是安全握手和对端确认,不负责替代 VLESS 的代理请求格式。客户端中新建此类节点时,通常先选择 VLESS,再把安全方式设为 REALITY,并填写公钥、短标识、服务器名称、指纹和 flow 等参数。若订阅界面把它简写为“REALITY 节点”,仍应在理解上拆回 VLESS、传输、安全层和流控四部分。

公钥用于客户端确认服务端身份,短标识由服务端配置限定,服务器名称参与握手参数,客户端指纹描述握手特征。字段之间没有可随意替代的关系。尤其不能把普通 TLS 证书字段直接套入 REALITY,也不能用节点显示名称推测公钥或短标识。服务端配置改变后,应同步更新订阅;手工编辑多台设备容易造成部分设备仍保留旧值。

REALITY 相关扩展主要与 Xray 内核能力关联。使用 V2Fly 内核的客户端时,不能仅凭“支持 VLESS”推导出它也支持同一组 REALITY 扩展。协议基础兼容和扩展功能兼容需要分开判断。订阅同时服务不同内核时,适合按内核建立不同分组,或至少用清楚的节点名称标示要求,避免客户端导入后才发现字段被忽略。

名称 主要职责 必须核对的字段 常见误区
Trojan 代理协议与口令认证 密码、TLS 服务器名称、端口 把证书问题当成代理模式问题
Shadowsocks 精简代理与对称加密 密码、加密方法、端口 两端加密方法名称不一致
REALITY 安全握手与身份确认能力 公钥、短标识、服务器名称、指纹 把它当作可独立选择的应用协议

选用三者时,先问“这一项在连接栈中负责什么”,再问客户端与内核是否支持全部字段。这个顺序比按节点名称判断更可靠。关于导入后节点缺失、字段为空或更新失败的集中排查,可继续阅读常见问题订阅更新失败排查

04 / PERFORMANCE & POWER

连接速度、资源占用与移动端电量

先区分建连、首包、吞吐与稳定性

“速度”至少包含四个不同指标。建连时间是从发起连接到协议与安全握手完成;首包时间是请求发出后收到第一段有效数据的等待;持续吞吐反映较长传输中的有效速率;稳定性则关注连接在网络切换、空闲和持续负载下能否保持。某个协议在建连阶段少一次处理,不代表它在长时间传输中一定有更高吞吐。反过来,吞吐接近也不说明短连接体验相同。

公网路径、服务器负载、域名解析、TCP 拥塞控制和应用自身缓存,往往比协议层差异更大。要进行有意义的比较,应固定服务器、出口、客户端、路由规则与测试时间,只改变一个协议组合。连续测试多轮并记录中位表现,比挑选一次最快结果更能反映常态。测试期间还应关闭后台同步和系统更新,避免额外流量影响判断。

协议与传输方式会共同决定开销

VMess 在协议层承担较多处理,VLESS 的协议层较轻,Trojan 依赖 TLS,Shadowsocks 的处理重点与所选加密方法相关。这些只是计算开销的一部分。WebSocket 需要额外分帧与头部处理,gRPC 依赖 HTTP/2 连接管理,TCP 直连组合则减少中间封装。不同实现对缓冲区、连接复用与并发调度的处理也会改变实际资源占用。

内存占用通常更多受连接数量、DNS 缓存、路由规则规模、日志级别和图形客户端界面影响。单独比较一个空闲节点的内存值,很难代表协议成本。更合理的方法是建立相同数量的连接,执行相同持续时间的任务,再观察内核进程的稳定区间。日志设置为详细级别时,磁盘写入和文本格式化也会增加开销,完成排查后应恢复常规级别。

CPU 占用要结合设备硬件看。桌面处理器通常可以轻松处理日常连接,但低功耗设备在高吞吐、复杂加密、密集规则或大量并发时可能达到明显负载。若 CPU 占用随吞吐线性上升,先比较加密与传输组合;若空闲时仍持续占用,则应检查重连循环、订阅更新任务、DNS 请求异常或日志滚动,而不是直接更换协议。

移动端耗电主要来自唤醒与网络活动

移动设备的电量表现不能只按加密算法排序。持续保活、频繁重连、网络在无线局域网与蜂窝链路之间切换、应用后台唤醒、DNS 查询以及大量短连接,都会让无线模块和处理器反复进入活跃状态。一个计算稍轻但频繁断线重连的组合,可能比计算稍重但连接稳定的组合消耗更多电量。因此,稳定性、保活间隔和应用流量模式通常与协议本身同样重要。

测试电量时,应使用相同设备、相近信号强度和相同应用任务,至少覆盖前台连续使用与后台待机两个阶段。系统电量统计适合观察趋势,不适合把很短时间内的小幅变化当作结论。若 v2rayNG 或 v2flyNG 在后台耗电明显,先查看是否持续重连、订阅自动更新是否过于频繁、路由是否让全部应用流量进入代理,以及系统是否反复终止并重新启动连接服务。

对于以消息、网页和轻量同步为主的使用方式,连接稳定和合理分流通常比峰值吞吐更重要。对于持续下载或视频流,服务端出口与链路质量占比更高。对于大量开发工具请求,连接复用和 DNS 行为更值得观察。只有先定义任务,协议性能比较才不会变成脱离场景的数字竞赛。

观察目标 主要影响因素 建议测试方式
建连时间 网络往返、安全握手、DNS 固定节点,多轮新建连接并取中位趋势
持续吞吐 链路、服务器负载、拥塞控制、加密实现 相同文件与时段,保持测试时长一致
CPU 与内存 并发数、规则规模、日志、传输封装 相同任务下观察内核进程稳定区间
移动端电量 唤醒、重连、信号、后台任务、分流 分别记录前台使用与后台待机趋势

综合来看,VLESS 的简化协议层有利于减少部分处理,Shadowsocks 的结构也较紧凑,VMess 侧重既有兼容,Trojan 的表现与 TLS 连接管理关系密切,但这些方向性差异不能覆盖传输、实现和网络条件。对普通用户,优先选择字段完整、连接稳定、内核明确的节点,通常比仅按协议名追求理论开销更有效。

05 / CORE FAMILY

V2Fly 与 Xray 内核家族关系

共同配置传统不等于功能完全相同

V2Fly 与 Xray 都继承了 Project V 生态中的配置组织方式,常见结构包括 inbounds、outbounds、routing、dns 和 log。大量基础 VMess、VLESS、Shadowsocks、Trojan 与路由配置在概念上相近,因此用户经常看到相似的 JSON 层级和客户端字段。相似结构有利于迁移,但不能推导出所有扩展都能直接互换。两条内核路线各自维护功能、字段与实现,具体支持范围需要按目标内核确认。

图形客户端位于内核之上。v2rayN 负责节点管理、订阅、路由模板、系统代理与内核启动,桌面端通常把用户选择转换成内核配置;v2rayNG 在 Android 上提供相似的管理层,并以 Xray 内核能力为主要匹配方向;v2flyNG 则面向 V2Fly 内核。客户端界面出现某个选项,说明客户端能够表达该字段,但最终是否生效仍由当前内核和字段组合决定。

Xray 扩展与 V2Fly 通用字段要分开看

REALITY、特定 flow 取值及部分扩展组合与 Xray 能力关系更紧密。一个订阅若包含这些字段,导入到以 V2Fly 为执行内核的客户端时,可能出现不识别、忽略或启动失败。反向迁移也需要注意:某个配置虽然能被 Xray 接受,但不代表其写法是两边都推荐的公共形式。建立跨内核订阅时,应该明确区分基础协议节点与要求特定内核的节点。

兼容性判断可分三层。第一层是语法:JSON 能否解析,字段类型是否正确;第二层是结构:字段是否位于目标内核认可的位置;第三层是语义:该协议、传输与安全组合是否实现。只通过格式检查属于第一层,无法证明节点可以连接。日志中的 unknown field、failed to build config、unsupported security 等信息,分别指向结构或语义问题。

最小路由结构有助于理解配置边界

下面示例只展示通用的路由结构。它把私有地址交给名为 direct 的出站,其余流量按后续规则与默认出站处理。该片段本身不包含节点凭据,可用于理解 routing、rule 和 outboundTag 的对应关系。实际客户端通常会生成更完整的配置,手工修改前应先导出备份。

{
  "routing": {
    "domainStrategy": "AsIs",
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "direct"
      }
    ]
  }
}

outboundTag 必须指向配置中真实存在的出站标签。如果客户端模板把直连出站命名为其他值,仅复制这段规则会造成引用不存在。domainStrategy 控制路由阶段如何处理域名与 IP 匹配,它与 DNS 配置相关,但不会替代系统或内核的完整 DNS 决策。图形客户端提供预设路由时,优先理解预设效果,再决定是否进入自定义 JSON。

迁移内核时应按功能清单逐项验证

迁移不是替换可执行文件后只看能否启动。应先列出当前节点使用的协议、传输、安全方式、flow、路由规则、DNS 策略和本地入站,再在目标内核中逐项核对。随后选择一条字段最简单的节点验证基础连接,再测试扩展节点和分流。这样可以把问题定位到基础运行、协议扩展或路由配置,而不是一次导入全部内容后面对混合错误。

配置文件也不宜在不同客户端之间长期双向覆盖。v2rayN、v2rayNG 与 v2flyNG 会按各自界面模型生成配置,额外字段、标签命名和默认入站可能不同。订阅链接适合传递节点信息,客户端备份适合恢复同类客户端设置,完整内核 JSON 则适合明确知道字段语义时使用。三者用途不同,混用容易把客户端生成层与内核执行层搅在一起。

比较项 V2Fly 方向 Xray 方向
共同基础 Project V 配置传统、常见协议与路由结构 Project V 配置传统、常见协议与路由结构
扩展判断 按 V2Fly 文档与客户端字段确认 按 Xray 扩展及组合要求确认
本站对应客户端 v2flyNG v2rayN、v2rayNG
迁移重点 检查特定扩展是否存在等效写法 检查旧配置与扩展字段的组合要求

桌面端需要覆盖 Windows、macOS 与 Linux 时,v2rayN 是本站首推客户端;Android 以 Xray 配置为主时选择 v2rayNG,需要 V2Fly 内核方向时选择 v2flyNG。安装包类型和系统架构说明集中在客户端下载页,本章只处理内核与配置兼容关系。

06 / SUBSCRIPTION COMPATIBILITY

订阅格式与字段兼容性

订阅是配置容器,不是新的代理协议

订阅链接负责批量传递节点信息,节点内部仍然是 VMess、VLESS、Trojan 或 Shadowsocks 等协议。常见内容形态包括经过 base64 聚合的分享链接列表、客户端可识别的原生配置,以及逐条分享链接。base64 只是一种文本编码方式,不增加协议能力,也不会修复缺失字段。客户端拉取订阅后,需要先识别容器格式,再解析每条节点,最后转换成当前内核配置。

分享链接通常把协议类型放在 URI scheme 中,再通过主体与查询参数表达认证、传输和安全信息。基础字段容易跨客户端传递,扩展字段则依赖链接规范和解析器实现。REALITY 公钥、短标识、指纹、flow、gRPC 服务名等项目,若订阅生成端使用非通用参数名,接收端可能忽略。节点能出现在列表中,只说明外层解析成功,不能证明所有查询参数都已进入配置。

原生 JSON 与分享链接适用范围不同

原生 JSON 能表达完整入站、出站、DNS、路由和日志配置,适合精确控制单个内核实例,但它与图形客户端的节点数据库并不完全等价。把完整 JSON 导入图形客户端时,部分客户端会以自定义配置方式运行,部分只提取出站节点,还有些界面设置不会写回原文件。使用前要明确导入入口标注的是“节点”“订阅”还是“自定义配置”。

分享链接更适合传递单节点,便于二维码、剪贴板和订阅聚合,但复杂路由和 DNS 策略通常不应塞进单个节点链接。订阅负责节点,客户端负责本机路由,是更清楚的职责划分。若需要在多台设备保持相同分流,可以分别维护节点订阅与路由模板,并在每种客户端中采用对应格式,避免一个过度复杂的订阅同时承担全部设置。

更新失败与更新后不可用是两类问题

更新失败表示客户端没有取得或没有解析订阅内容,常见线索包括链接不可访问、设备时间异常、返回内容不是预期格式、证书错误或本地网络出口问题。更新成功但节点不可用,则应转向字段完整性、内核支持和服务端状态。两类问题的日志位置不同,处理顺序也不同。先确认订阅请求是否成功,再检查节点解析数量,最后检查单节点连接,能避免把所有错误都归因于订阅链接。

自动更新间隔不宜设置得过短。频繁拉取会增加后台唤醒,也可能在服务端临时生成内容时反复覆盖本地列表。合理做法是根据节点变化频率设置周期,并在大规模变更前保留客户端备份。分组名称、启用状态、排序和本地备注可能是客户端自身数据,更新订阅时是否保留取决于客户端实现,因此不应把重要说明只写在易被覆盖的节点名称里。

多订阅管理时,按来源或内核要求建立分组比把所有节点放在同一列表更容易排查。可以把基础兼容节点、Xray 扩展节点和 V2Fly 节点分开,再用包含或排除关键词减少列表噪声。具体分组方法可参阅订阅分组与服务器关键词过滤,格式差异则可继续阅读base64、原生 JSON 与分享链接的区别

内容形态 适合传递 兼容风险 检查重点
分享链接列表 单节点与常用扩展参数 查询参数命名与解析器差异 导入后逐项核对安全与传输字段
base64 聚合 多条分享链接的文本容器 外层解码成功但内层节点解析不全 比较原始条目数与导入条目数
原生 JSON 完整内核配置、路由与 DNS 图形客户端不一定按节点方式接收 确认导入入口与目标内核
客户端备份 同类客户端的界面与本地设置 跨客户端字段模型不同 用于恢复,不当作通用订阅

当订阅包含 v2rayN 能识别而另一客户端不能识别的扩展时,不应强行把原订阅当作完全通用格式。为目标客户端输出清晰、字段完整的订阅,或选择双方都支持的基础组合,维护成本通常更低。关于配置 JSON 中 inbounds、outbounds 与 routing 的职责,可阅读配置文件结构逐段解析

07 / CLIENT WORKFLOW

在客户端中完成协议选择与核对

桌面端先用 v2rayN 建立基准配置

桌面环境优先使用 v2rayN。安装后先导入订阅并执行一次更新,不要立即修改节点字段。选择一条来源清楚的节点,打开编辑页记录协议、地址、端口、用户标识、传输方式、安全方式、服务器名称、flow 及扩展参数。随后保存并连接,通过客户端日志确认配置已生成、内核已启动、出站已建立。这个过程建立了一份基准配置,后续性能测试或协议迁移都应以它为对照。

如果节点可以连接,再设置系统代理和路由模式。系统代理决定支持该机制的应用是否把请求交给客户端,路由模式决定进入内核后的流量走代理、直连还是阻断。两者不是协议字段。更换 VMess 为 VLESS 不会自动修复系统代理未开启的问题,修改路由规则也不会补齐 REALITY 公钥。排查时保持层次分离,可以减少无效修改。

v2rayN 提供多个桌面安装形态时,应按下载页说明选择适合的界面版本,但节点与内核选型原则一致。Windows、macOS 与 Linux 的系统代理入口和权限表现有所差别,客户端内部生成的出站配置仍遵循相同分层。涉及局域网共享时,还要单独设置监听地址、防火墙与端口,具体边界可阅读允许局域网连接设置指南

Android 上按内核方向选择客户端

使用 Xray 扩展节点时,v2rayNG 与其字段模型更匹配;需要 V2Fly 内核方向时,可使用 v2flyNG。导入订阅后先查看节点详情,特别核对 VLESS 的安全方式、flow、服务器名称、公钥与短标识。移动端界面空间有限,部分字段可能位于高级设置或传输设置中,不能因为列表页没有显示就断定字段不存在。

建立连接后,系统会显示本地连接服务状态。若应用没有流量,先确认该应用是否被当前分应用规则包含,再检查路由和 DNS。若连接服务反复退出,查看客户端日志中的配置解析或内核启动信息。若只在网络切换后失效,可手动断开再连接进行对照,判断是链路切换、系统后台限制还是节点握手问题。协议迁移期间一次只改一项,才能保留可比较的结果。

手工节点适合验证,不适合替代长期订阅

手工创建节点适合确认某组参数是否可用。创建时应从协议开始,依次填写服务器、端口、认证信息、传输与安全层,保存后立即回到编辑页复核。某些客户端会对空字段写入默认值,复核可以发现默认值是否与服务端要求不同。测试成功后,如果节点由订阅维护,仍应修正订阅输出,而不是长期在每台设备上保留手工副本。

订阅节点被本地修改后,下一次更新可能覆盖修改,也可能生成重复节点。需要临时排查时,可以复制节点到本地分组并修改副本,同时保留原节点。确认问题后,把正确字段反馈到订阅源或服务端配置,再删除临时副本。这样可以区分原始配置、诊断配置和最终配置,避免数周后无法判断哪一条才是当前标准。

日志应按阶段读取

配置解析阶段关注字段类型、未知字段和出站构建错误;内核启动阶段关注端口占用、权限与本地监听;连接阶段关注域名解析、TCP 建连、安全握手与认证;路由阶段关注请求最终匹配的出站标签。日志中最后一行不一定是根因,应该从同一次连接尝试的起点向后阅读。完成诊断后恢复常规日志级别,避免长期记录大量无关信息。

协议节点核对清单

  1. 来源:确认节点来自当前订阅或明确的手工配置,避免编辑旧副本。
  2. 协议:核对 VMess、VLESS、Trojan 或 Shadowsocks 类型。
  3. 认证:核对 UUID、密码及相关用户字段,保持格式完整。
  4. 传输:核对 TCP、WebSocket、gRPC 及路径或服务名。
  5. 安全:核对 TLS 或 REALITY,以及服务器名称、公钥、短标识和指纹。
  6. 执行:确认当前客户端使用的内核支持整套字段组合。
  7. 日志:按解析、启动、握手和路由阶段定位错误。

首次配置可直接按V2Ray 使用教程完成订阅导入、节点连接与验证。本页的检查清单适合在节点不能连接、跨客户端迁移或准备更换协议时使用。若错误信息仍难以归类,可在常见问题页按安装配置与故障排查分类继续查找。

08 / SCENARIO GUIDE

按使用场景建立选型决策

已有稳定配置:先保持,再建立替代节点

已有 VMess、Trojan 或 Shadowsocks 节点长期稳定运行时,最稳妥的策略是保留现状,同时建立一条独立的新组合进行测试。新节点使用不同名称和分组,避免订阅更新时与旧节点混淆。测试应覆盖网页短连接、持续传输、设备待机恢复和网络切换,而不是只确认一次连接成功。完成一段时间的对照后,再决定是否把新节点设为默认。

这种方式尤其适合从 VMess 迁移到 VLESS,或从普通 TLS 组合迁移到 REALITY 组合。迁移涉及服务端、订阅和客户端三处,分阶段切换能够保留回退路径。若多台设备使用不同客户端,应先在字段展示最完整的客户端中验证,再测试其他客户端的订阅解析。任何一端缺少扩展字段,都应在正式切换前处理。

新建 Xray 配置:优先考虑完整组合支持

新建配置且两端都使用 Xray 能力时,VLESS 可以作为协议层候选,再根据服务端设计选择 TLS 或 REALITY,并确认是否需要特定 flow。选择依据不是流行程度,而是服务端能否正确维护、订阅能否完整输出、客户端能否稳定解析。桌面使用 v2rayN、Android 使用 v2rayNG 时,字段模型通常更容易保持一致,但仍需逐项核对。

若需要让相同订阅同时服务以 V2Fly 为执行内核的客户端,应准备基础兼容节点,或把内核特定节点放入清楚的分组。不要把“VLESS 基础协议可识别”误认为“所有 VLESS 扩展组合可执行”。跨内核兼容的核心是缩小到共同字段集合,而不是依靠客户端忽略未知字段。

低功耗与移动场景:稳定连接优先

移动端应优先选择重连较少、字段明确且订阅更新稳定的节点。VLESS 和 Shadowsocks 在协议结构上较轻,但最终电量还受安全握手、信号、分流和应用流量影响。测试时观察后台待机后能否恢复、网络切换后是否反复重连,以及系统电量统计中连接服务是否长期活跃。若问题来自后台限制或信号变化,更换协议通常不会直接解决。

自动更新频率、日志级别和全局代理范围也会影响电量。节点变化不频繁时,不必设置密集更新;排查结束后关闭详细日志;只让需要的流量进入代理,可减少不必要的连接活动。v2rayNG 与 v2flyNG 的选择首先由节点内核要求决定,其次才比较界面偏好。

多客户端与团队配置:选择可解释的最小集合

需要在多台设备、不同桌面系统和 Android 客户端之间分发配置时,应优先选择字段定义清楚、各目标内核都确认支持的组合。订阅分组中标明协议、内核要求和用途,比使用“高速”“备用”等模糊名称更便于维护。路由与 DNS 策略可以由每个平台的客户端模板管理,节点订阅只传递出站信息,降低跨平台转换复杂度。

配置文档应记录协议、传输、安全层、内核要求和关键扩展字段,但不必复制完整凭据。变更时记录哪些字段发生变化,并保留旧节点到验证结束。这样即使某个客户端更新了解析方式,也能根据结构定位差异,而不是重新猜测节点含义。

场景 优先方向 主要核对项 不宜采用的判断方式
既有配置稳定 保留旧节点,平行测试新组合 多任务稳定性与回退路径 只因协议名称变化立即替换
新建 Xray 配置 VLESS 与受支持的安全层组合 flow、服务器名称、公钥与订阅输出 只填写地址、端口和 UUID
跨内核使用 采用双方支持的基础字段集合 扩展能力与客户端解析范围 把基础协议支持等同于扩展支持
移动端低功耗 稳定连接、合理分流与更新周期 重连、后台唤醒、信号和日志 只按理论加密开销排序
广泛客户端兼容 Shadowsocks、Trojan 或基础协议组合按需评估 加密方法、TLS 名称与解析一致性 看到节点已导入就认定字段完整

出现问题时按决策树回退

第一步判断订阅是否成功取得内容;失败则检查链接、设备时间和返回格式。第二步判断节点字段是否完整;缺失则检查订阅生成与转换。第三步判断内核能否构建配置;失败则处理未知字段、类型或不支持组合。第四步判断是否完成安全握手;失败则核对服务器名称、公钥、短标识、密码和设备时间。第五步判断请求是否被正确路由;连接成功但应用不可用时,检查系统代理、分应用规则、DNS 与出站标签。

每一步只改变相关层次的一项设置,并保留日志与原配置对照。反复同时修改协议、传输、安全层和路由,会让一次成功也难以复现。若问题由订阅更新触发,先复制旧节点作对照;若问题由更换内核触发,先用最基础节点验证内核运行;若问题只发生在某个平台,比较客户端生成字段和系统接管方式,而不是直接判定服务端异常。

完成选型后,可前往v2rayN、v2rayNG 与 v2flyNG 下载页选择对应平台安装包,再按配置教程建立连接。遇到订阅、内核启动、系统代理或路由问题时,使用本章决策树配合故障排查分类逐层定位,通常比频繁更换节点类型更有效。