TECHNICAL REFERENCE / 协议参考

代理协议与内核参考

VMess、VLESS、Trojan、Shadowsocks 与 REALITY。
按协议分层、内核能力与使用场景查阅。

本页用于理解参数和比较方案,不替代首次连接的操作流程。尚未完成安装与导入时,先阅读快速上手;已有可用配置时,可从目录进入对应章节。桌面端以 v2rayN 为主要说明对象,Android 对照 v2rayNG 与 v2flyNG。具体入口见客户端下载页。

协议 / 传输 / 安全层 Xray / V2Fly 订阅兼容性 路由与连接验证

SECTION 01 / 分层与字段

连接配置。先区分四个层次。

客户端、内核与服务端的边界

图形客户端负责展示服务器列表、读取分享链接、管理订阅和保存设置。内核负责建立入站监听、执行路由规则、连接远端并转发流量。远端服务则按约定的协议接受连接。v2rayN 里能看到某个编辑选项,不等于当前选中的内核一定支持它;客户端能够导入一条链接,也不等于服务端会接受其中的所有参数。排查兼容性时,需要同时核对客户端如何解释字段、内核实际生成什么配置,以及服务端允许什么组合,不能只看界面上的协议名称。

本地应用通常先连接系统代理或虚拟网络接口,再由内核送往远端。浏览器访问失败可能发生在本地入口、名称解析、路由选择、远端连接或目标站点任一阶段。协议只是其中的一段。把所有失败都归因于 VMess 或 VLESS,会遗漏端口被占用、系统代理没有生效、分流误命中等更直接的原因。首次测试应固定一个应用和一个目标,确认请求进入客户端,再观察错误发生在哪一层;不要同时切换节点、修改 DNS 和调整路由。

代理协议、传输方式与安全层

VMess、VLESS、Trojan 和 Shadowsocks 描述代理双方如何识别用户、表达目标地址与封装数据。TCP、WebSocket、gRPC 等属于承载或传输安排;TLS 和 REALITY 则涉及外层安全机制。VLESS 与 REALITY 不能作为两个同级协议直接比较,因为它们可以出现在同一条连接上。类似地,看到 WebSocket 不应直接推断正在使用 VMess,看到 TLS 也不能推断一定使用 Trojan。选型应比较完整组合,而不是把来自不同层次的名称放进同一张速度排行榜。

连接字段的常见归属
层次常见字段或名称核对重点
远端入口address、port地址是否可达,端口是否一致
代理协议VMess、VLESS、Trojan、Shadowsocks认证方式、用户标识与服务端配置
传输安排TCP、WebSocket、gRPC路径、服务名和承载方式
安全机制TLS、REALITY服务器名称、验证材料与握手条件

地址、服务器名称与应用目标

连接地址决定客户端首先向哪里建立网络连接,服务器名称通常参与安全握手与身份验证,应用目标则是浏览器原本想访问的站点。三者有时使用相同域名,但职责不同。修改连接地址不应顺手覆盖服务器名称;调整 WebSocket 的 Host 也不等于改变应用目标。服务端使用反向代理时,路径、Host 和服务器名称可能共同参与转发。漏掉其中一个值,往往表现为入口可达但请求无法进入正确服务,而不是单纯的账户错误。

实际查阅时,先把现有配置按层记录下来:协议是什么、底层传输是什么、是否启用外层安全、认证字段从何而来。对不熟悉的开关保留原值,并保存一份原始导入记录。分享链接里的短字段名与界面中文名称不一定逐字对应,不能凭名称相近就互换。最可靠的依据是服务端提供的完整参数及内核文档中的对应含义。下面各章沿用这套分层方法,分别讨论设计取舍和客户端中的核对顺序。

SECTION 02 / 协议取舍

VMess、Trojan 与 SS。比较设计而非名称。

VMess:认证与数据保护相结合

VMess 来自 Project V 的协议体系,将用户认证、请求信息和数据保护纳入协议设计。常见配置以 UUID 标识用户,并包含相应的加密选择。较新的实现使用 AEAD 认证方式,旧教程中的额外标识与旧式认证参数不能直接当成通用推荐值。导入后应让客户端按当前格式生成配置,而不是为了套用历史截图去改回旧字段。设备时间也需要保持准确;当认证过程涉及时间条件时,明显的时钟偏差可能导致网络可达却认证失败。

VMess 的适用性主要取决于现有服务和客户端支持情况。已有稳定的 VMess 服务时,没有必要仅因另一个名称较新就更换协议。需要核对的是传输方式、用户标识、加密设置和外层安全是否一致。VMess 可以与不同传输组合,实际连接开销也随组合变化。一个采用多层封装的 VMess 连接,不能与另一条链路上的直连传输做简单对照,再把差异全部归于协议本身。比较时至少要固定服务器、目标、网络与测试方式。

Trojan:依赖 TLS 的代理认证

Trojan 的设计将代理请求置于 TLS 连接之中,再用协议自身的认证信息识别用户。它不以 UUID 作为统一的账户表达方式,客户端通常要求密码。使用时仍需区分远端地址与服务器名称,并检查证书是否与名称匹配。TLS 连接能够建立,不代表代理认证已经成功;相反,密码正确也不能修复证书名称错误。这两个阶段的日志应分别理解。不要把关闭证书验证当成常规安装步骤,这会削弱客户端确认远端身份的能力。

Trojan 常被认为配置字段相对集中,但实际维护复杂度仍取决于证书、域名和服务部署。连接复用、传输扩展或外部转发安排会引入额外条件。客户端支持 Trojan,并不意味着支持所有带有类似名称的扩展组合。迁移配置时,应先确认服务端使用的是哪种具体实现与传输,再检查客户端是否原样保留密码和服务器名称。密码可能含需要进行 URL 编码的字符,手动拼接分享链接时尤其容易在这一处出错。

Shadowsocks:方法与密钥必须成对匹配

Shadowsocks 通常以较紧凑的配置表达代理连接,关键内容包括服务器地址、端口、加密方法和密码。简称 SS 只表示协议家族,不能代替具体方法名称。经典 AEAD 方法与更新的 Shadowsocks 2022 方法在密钥要求和实现支持上存在差异,后者不能简单沿用任意长度的普通密码。一个客户端能识别 SS 链接,不代表其内核支持链接声明的所有方法。遇到导入成功但连接报错,应先核对方法名称和密钥格式,而不是反复更换服务器地址。

协议选择以服务端提供的组合为前提。客户端不能单方面把 VMess 改成 VLESS,也不能把 Shadowsocks 的加密方法替换成另一种来获得兼容。

这三类协议各自解决认证与转发问题,不能只按字段数量判断安全性或资源占用。配置短不一定更省电,层次多也不一定更慢。对于已有服务,优先选择参数完整、客户端支持明确的组合;对于需要维护多台设备的场景,优先考虑所有设备能否使用同一种表达方式。有关四种代理协议的进一步横向比较,可阅读VMess、VLESS、Trojan、Shadowsocks 选型说明,并结合下一章理解 VLESS 的安全边界。

SECTION 03 / VLESS 与 REALITY

VLESS 与 REALITY。分别核对协议和握手。

VLESS 不等于完整的加密连接

VLESS 的设计取向是精简代理协议本身,把部分职责交给外层机制。用户标识通常仍使用 UUID,但其工作方式不能照搬 VMess 的加密选项。常见 VLESS 配置里的 encryption: none 表示协议这一层不额外选择数据加密方法,并不自动意味着整个连接没有保护。完整连接是否受到保护,要继续查看传输配置中的 TLS 或 REALITY。反过来,如果配置确实没有外层安全机制,就不能因为协议名称是 VLESS 而推断存在加密。

因此,讨论 VLESS 时应写清完整组合,例如 VLESS 配合 TLS,或 VLESS 配合 REALITY,并说明承载方式。不同组合的服务器要求、握手字段和内核支持范围不同。选项中的 flow 也不是通用的提速按钮;它表示特定流控方式,必须与服务端和传输条件对应。任意填入 xtls-rprx-vision 并不会让不支持该组合的服务获得相应能力。若原始链接没有这个字段,不应仅依据教程截图自行补上。

REALITY 的客户端验证材料

REALITY 属于安全传输机制,不是替代 VLESS 的另一种用户账户协议。在常见 Xray 客户端配置中,需要核对服务器名称、公钥类验证材料、短标识与指纹设置等内容。界面名称会随客户端和内核配置模型变化,分享链接中也可能使用缩写。核对时应以导入后的实际含义为准,而非只看字段标签。客户端用于验证远端的材料与服务端保存的私有材料职责不同,服务端私有材料不应复制到普通客户端设置中。

VLESS 与 REALITY 组合的核对顺序
项目作用常见误区
UUIDVLESS 用户识别用显示名称替代用户标识
服务器名称参与安全握手随连接地址一起任意改写
公钥类验证材料验证预期的远端复制错误字段或漏掉字符
短标识匹配服务端允许的标识忽略空值约定和格式限制
flow 与指纹指定相应连接行为将任意选项视作通用优化

短标识通常有十六进制格式和长度约束,空值是否允许由服务端决定。服务器名称必须属于服务端允许的范围,不能替换成任意熟悉的域名。指纹设置影响握手表现,也受内核实现支持限制;它不是更换设备身份的通用工具。原始配置能够连接而手动重建失败时,应逐项比较这些字段,再检查是否在复制过程中引入空格、全角字符或遗漏查询参数。先恢复原值,比同时尝试多个所谓优化组合更容易定位原因。

兼容性失败的识别顺序

若保存配置后内核直接退出,优先考虑字段不受支持、参数结构错误或组合不合法。若内核正常启动但远端握手失败,再检查地址、端口、服务器名称和验证材料。若握手成功而应用仍无法访问,则转向路由、DNS 和目标连接。这样的顺序能把本地配置解析与网络握手分开。客户端日志中出现某个安全层名称,只能说明正在处理相应阶段,不能单凭这一行确认用户认证和应用数据转发都已经完成。

对于新建的桌面配置,v2rayN 配合支持对应能力的内核是主要查阅路径;Android 使用 v2rayNG 时同样需要检查实际内核能力。不要把面向 Xray 的 VLESS 与 REALITY 配置直接交给另一内核家族并期待完全兼容。已有可用配置时,应先确认导入工具没有丢失字段,再考虑更换客户端。有关内核支持的边界见第五章,关于分享链接保留字段的方法见第六章,两者共同决定这类组合能否在设备间正确迁移。

SECTION 04 / 开销与电量

连接速度与耗电。先统一比较条件。

连接建立、响应时间与吞吐量

连接性能至少包含三个不同问题:新连接需要多久建立、请求发出后多久收到响应、持续传输时能维持多大吞吐量。它们受不同因素影响。名称解析、TCP 建连、安全握手和代理认证会影响首次响应;往返时间、丢包、拥塞控制和服务端负载会影响持续传输。某个协议减少了应用层字段,不代表它在更差的链路上仍更快。只看一个测速结果,无法把协议实现、服务器位置和网络状态的影响拆开。

Tcping 一类测试通常只能反映某个 TCP 入口的连接情况,不会完整执行代理认证和目标访问。真连接测试则更接近应用经过代理访问测试地址的过程,但仍受到测试目标与客户端实现影响。两项结果不是同一指标。入口可连接而真连接失败,可能是认证、安全握手、目标访问或 DNS 问题;不能立即认定线路中断。具体操作可对照首次连接与真连接测试指南,使用固定测试目标重复观察。

封装、复用与资源占用

WebSocket、gRPC 等传输会带来各自的握手与封装安排,同时也能适配已有的服务部署方式。额外封装通常需要处理更多结构,但真实开销是否显著,取决于请求大小、连接存活时间和实现效率。对于短请求,连接建立过程可能比持续数据处理更重要;对于长时间下载,链路吞吐和丢包往往更关键。不能据此写出对所有网络都有效的固定排序,也不应把更少的配置字段等同于更低的处理成本。

连接复用能减少反复建立连接的成本,但不一定改善每一种任务。多个请求共享底层连接时,会共同受到该连接的状态影响;当链路不稳定或某个流占用较多资源时,其他请求也可能受到牵连。是否启用应考虑内核支持、服务端能力和任务类型,先记录默认表现再比较。CPU 占用还与加密方法、硬件指令、流量规模和日志级别有关。单独看到一个进程短时占用上升,不能直接推出协议不适合该设备。

不要持续批量测速来判断日常耗电。测速本身会建立连接、传输数据并唤醒网络接口,可能成为测试期间的主要负载。

Android 电量的实际影响因素

移动设备耗电不仅来自加密计算,还来自无线网络接口的活跃时间、后台唤醒、连接重试和应用流量。弱信号下反复重连可能比正常数据处理更消耗电量。若启用了全设备接管,原本不经过代理的应用也可能进入处理链路,流量覆盖范围扩大后,不能再把电量差异全部归因于协议。系统的后台限制还可能中断客户端,引发恢复连接与再次认证,表现为待机耗电增加、通知延迟或解锁后短时集中重连。

有意义的比较应固定设备、网络类型、应用集合与使用时长,并区分前台传输和后台待机。先关闭重复测速和高频日志,确认没有持续重试,再比较不同配置。记录系统电池统计时,同时查看屏幕、移动网络和目标应用的活动情况。若只更换协议却连同服务器、传输方式和代理覆盖范围一起变化,结果只能代表两套完整方案的差异,不能作为协议本身的功耗结论。v2rayNG 与 v2flyNG 的比较也应遵循这一原则。

实践中,优先修复错误配置、无效重试与不必要的全量接管,再考虑微调传输方案。对于日常网页和消息应用,一条参数正确、连接稳定的现有配置往往比频繁切换更容易评估。对于大文件任务,则应单独观察持续吞吐与失败恢复。没有可复现的测试条件时,保留现有可用方案比根据单次截图更换协议更合理;需要排除具体错误时,可结合常见问题按故障阶段逐项核对。

SECTION 05 / 内核兼容

V2Fly 与 Xray。共同来源不等于完全兼容。

Project V 生态中的分工

Project V 是理解这一生态的起点,V2Ray 的配置模型和协议设计为后续工具提供了基础。V2Fly 持续维护 V2Ray 相关实现,Xray 则从相关代码与技术基础发展出独立演进的内核项目。两者保留了不少相似概念,包括入站、出站、路由和 DNS,但功能集合与字段模型会分别变化。不能把 Xray 简化成 V2Fly 的版本号升级,也不能把它们视为可以任意互换的同一个程序。真正的兼容范围需要按功能逐项判断。

客户端处于另一个层次。v2rayN 为桌面用户提供图形管理入口,具体协议处理由实际使用的内核完成;v2rayNG 的常见使用路径围绕 Xray 能力展开;v2flyNG 则是 Android 上围绕 V2Fly 内核的备选。选择哪款客户端,首先受平台和所需能力约束,不是单纯的界面偏好。桌面端优先从 v2rayN 开始,Android 需要 Xray 特有能力时先核对 v2rayNG,对既有 V2Fly 配置则检查 v2flyNG 的适配情况。

共享配置骨架与独立功能

inbounds 描述本地如何接收流量,outbounds 描述如何向外建立连接,routing 决定请求交给哪个出站。这些概念相近,不代表其下所有字段都一致。传输设置、安全机制、流控选项和 DNS 行为尤其需要核对。REALITY 与相关 Xray 连接能力不能仅因外层 JSON 看起来熟悉就直接迁入 V2Fly。某些字段在另一内核里可能无法解析,也可能存在名称相似但行为不同的设置。

跨内核迁移时的检查层级
检查对象可能相近的部分仍需确认的内容
配置骨架入站、出站与路由概念字段结构、默认行为和支持范围
代理协议部分常见协议名称认证方式、方法与扩展能力
传输安全部分 TLS 设置概念REALITY、流控和握手参数
规则资源域名和 IP 分类思路资源文件、标签与加载路径

路由数据资源也不是抽象地“装上就相同”。域名分类标签和 IP 分类标签依赖实际加载的资源内容,文件缺失或标签不可用时,规则可能导致启动失败或无法达到预期。迁移时既要看 JSON,也要看运行环境中的资源和路径。相对路径往往取决于客户端启动内核时的工作目录,不能把另一台机器上的绝对路径直接保留。对于图形客户端管理的资源,应优先使用其提供的更新与设置入口,避免覆盖后不清楚实际加载的是哪一份。

判断需要更新哪一层

界面无法识别链接字段,通常需要检查客户端的导入能力;配置生成正常但内核报告不支持选项,需要检查内核能力;内核运行正常而规则标签找不到,需要检查资源文件。这是三种不同问题。只更新图形界面不一定改变内核,替换内核也不一定修复客户端丢字段的问题。更新前保留原始订阅与可用设置,更新后先用一条已知配置验证,再恢复复杂规则。避免在同一次操作中同时更换内核家族、改写订阅和导入整套新规则。

开源属性说明代码能够被查阅并按相应许可使用,不意味着两个项目会保持永远一致的配置格式。选择依据应是所需功能、客户端支持和维护路径,而不是把某个家族视作所有场景的唯一答案。需要读懂配置各段时,可继续阅读Xray 配置文件结构拆解;需要更换设备安装包时,回到下载页按操作系统和处理器选择,不要把内核概念与安装包架构混为一谈。

SECTION 06 / 订阅格式

订阅与分享链接。能解码不等于能运行。

单条分享链接与链接集合

分享链接用于描述一个服务器配置,常见前缀包括 vmess://、vless://、trojan:// 和 ss://。它们不共享完全相同的内部格式。常见 VMess 分享表达会对 JSON 内容编码,而 VLESS、Trojan 通常用 URL 的用户信息、地址和查询参数表达设置。Shadowsocks 也存在不同历史表达方式。客户端导入时需要先识别协议前缀,再按对应规则解析,不能把一种链接的解码方式直接套到另一种。

订阅地址则是获取一组配置的入口,不是某个服务器地址本身。常见订阅返回多行分享链接,或者返回这些链接集合的 base64 编码。base64 是编码方式,不是加密,也不是代理协议;成功解码只说明得到了文本,还要看文本是否属于客户端支持的格式。换行、字符编码和 URL 编码都可能影响解析。复制订阅时应使用提供方给出的完整地址,避免混入页面标题、说明文字、不可见空格或邮件工具添加的换行。

原生 JSON 与客户端管理配置

Xray 原生 JSON 可以描述整套运行行为,包括多个入站、多个出站、路由和 DNS。它不是一组分享链接的另一种外观。单条分享链接通常只覆盖远端连接所需的主要字段,并不承载完整的本地监听和复杂分流逻辑。因此,原生配置转成链接时可能丢失全局行为;链接导入后生成的配置,则会叠加客户端自身的默认入站与路由。两种结果可能都能连接,但实际处理的流量范围、DNS 路径和规则优先级并不相同。

客户端自己的设置文件还可能包含分组、显示名称、窗口状态和测速偏好,这些不属于内核通用格式。迁移时应先确定要保留的是远端参数,还是整套客户端工作环境。只想把一个服务器移到另一设备,使用该客户端能识别的分享形式通常更直接;需要保留复杂规则时,要另外记录路由与 DNS,不能期待分享链接自动携带。导入完整自定义配置时,也应确认客户端是否仍会接管系统代理与端口设置,避免误以为所有界面开关都能覆盖自定义内容。

订阅地址可能包含访问授权信息。不要把完整地址、原始链接或客户端导出内容贴到公开问答中。排错时只保留字段名称和错误类型,并遮去认证信息。

格式转换与更新的边界

转换只能重排已有信息,不能补出缺失的服务器名称、公钥类材料、短标识或传输路径。一个转换器把结果输出成合法 JSON,不代表字段语义正确,更不代表目标内核支持该组合。对于较新的传输字段,旧解析器可能直接忽略未知查询参数,导入后界面仍显示一个正常的服务器条目。遇到这种情况,应对照原始参数检查导入后的详情,而不是以“列表里出现了名称”作为兼容性完成的依据。

订阅更新通常会重新生成由订阅管理的条目,手动改动可能在下次更新时被覆盖。需要做实验时,可将测试配置复制为独立条目,保留原订阅分组不动;客户端具体提供的复制与分组方式以界面为准。更新后出现重复名称,也不一定代表同一个端点,可能是地址、传输或用户参数不同。清理时先比较关键字段,再删除条目。若分组突然为空,先核对返回内容和格式,不要连续执行删除、重建和清空全部配置。

完整排查顺序是:确认订阅入口可访问,确认返回文本属于预期类型,确认客户端识别协议,确认关键字段被保留,最后测试内核连接。格式问题与远端认证问题应分开记录。想了解不同格式的结构与互转限制,可阅读base64 订阅、原生 JSON 与分享链接的区别。本页不提供在线转换表单;敏感配置应在可信的本地工具与客户端中处理,避免为了格式转换扩大信息暴露范围。

SECTION 07 / 路由与代理模式

路由与代理入口。决定协议实际处理哪些流量。

系统代理与 TUN 的覆盖范围

系统代理向应用提供代理入口,只有读取相关设置的应用才会按预期使用它。某些程序有自己的网络栈或独立代理设置,因此浏览器能够访问,不代表所有程序都已经经过同一路径。TUN 模式通过虚拟网络接口接收流量,覆盖方式更广,但同时引入路由、权限和 DNS 等条件。它不是更换代理协议,也不会自动修正远端参数。协议认证失败时,启用 TUN 只会改变流量进入客户端的方式,不能让服务端接受错误账户。

v2rayN 中的“自动配置系统代理”和“启用 Tun 模式”应按任务选择,而不是默认同时开启所有接管方式。先用系统代理验证一个遵循系统设置的应用,再按需要测试 TUN,能减少变量。Windows、macOS 和 Linux 在权限、虚拟接口及系统网络设置上存在差异,具体提示以客户端和系统为准。Android 客户端则通过系统提供的虚拟网络接管能力工作,需要确认相关授权和后台运行状态,并避免多个同类接管程序争用同一入口。

规则顺序、出站标签与域名解析

路由规则通常按顺序匹配,先命中的规则决定出站。精确规则应放在宽泛规则前,出站标签必须与实际定义对应。domainStrategy 控制路由匹配过程中如何处理域名与 IP 的关系,不等同于浏览器全部 DNS 行为。IPIfNonMatch 表示域名规则没有匹配时,可能继续通过解析所得 IP 尝试匹配。它不会自动创建任何地理分流规则,也不会保证所有域名都按期望归类;具体效果取决于已有规则和解析结果。

下面是可放入 Xray 原生配置中 routing 字段的 JSON 对象片段,不是完整运行配置。它把本地回环地址送到名为 direct 的出站,其余 TCP 与 UDP 流量送到名为 proxy 的出站。使用前必须已定义这两个出站,且代理出站需要支持实际请求的网络类型。示例只演示顺序与标签,不代替完整的局域网例外、DNS 策略或虚拟接口防回环安排,也不应覆盖客户端自动生成的整套路由。

{
  "domainStrategy": "AsIs",
  "rules": [
    {
      "type": "field",
      "ip": ["127.0.0.0/8", "::1/128"],
      "outboundTag": "direct"
    },
    {
      "type": "field",
      "network": "tcp,udp",
      "outboundTag": "proxy"
    }
  ]
}

DNS、UDP 与失败定位

域名解析可能由应用、操作系统或内核执行,路径不同会影响路由能看到什么信息。应用已经自行解析成 IP 时,内核不一定仍能直接使用原始域名规则;流量嗅探也有能力和适用范围限制,不能被视作必然恢复域名的机制。配置 DNS 时应先明确谁发起查询、查询经过哪个出站、结果由谁使用。若解析依赖代理,而连接代理本身又必须先解析其地址,就可能形成循环依赖,需要为远端入口保留明确可用的解析路径。

UDP 还要求本地入口、内核、协议实现和远端服务共同支持。网页正常而某个实时应用失败,可能是 UDP 转发条件不满足,也可能是路由没有覆盖;不能仅凭协议名判断一定可用。测试时先观察失败应用是否进入客户端,再确认使用的网络类型与实际命中出站。远端连接稳定却只有部分域名失败时,优先检查规则和 DNS;所有应用都无法进入内核时,先处理本地入口。更多规则语法可查阅自定义路由规则与匹配优先级。

SECTION 08 / 场景选型

客户端与协议选型。从现有条件向下收敛。

桌面与 Android 的选择路径

桌面端优先选择 v2rayN,再按 Windows、macOS 或 Linux 选择对应安装入口。Windows 的 Desktop 与经典 WPF 界面属于客户端形态差异,不是两种代理协议;macOS 需要区分 Apple Silicon 与 Intel,Linux 需要匹配处理器和软件包格式。这些选择决定程序能否正确安装运行,不决定远端协议是否可用。安装后仍要检查内核和导入参数。具体包入口以下载页为准,不应从协议教程中的示意名称推断安装文件。

Android 首先看配置依赖哪一类内核能力。需要 Xray 对应功能时,以 v2rayNG 作为主要选择;已有明确面向 V2Fly 的配置与维护流程时,可评估 v2flyNG。两款客户端不应仅凭名称相似就互相导入全部应用设置,尤其是自定义 JSON 与路由资源。处理器架构则与协议无关,现代设备常见 arm64,但仍应以系统实际架构和安装结果为依据。选择通用包也不能修复一个内核不支持的协议组合,架构与功能属于两条独立检查线。

按使用条件确定核对重点
使用条件起点优先核对
桌面首次使用v2rayN平台架构、导入结果、系统代理
Android 使用 Xray 能力v2rayNG协议组合、授权与后台状态
Android 保留 V2Fly 配置v2flyNG原生配置兼容性与规则资源
多设备迁移共同支持的完整组合分享字段、传输、安全层与规则分离

已有稳定服务与新方案评估

已有稳定服务时,先保留当前协议,确认它满足需要的应用与网络类型。迁移的理由应是明确功能需求、设备兼容问题或维护困难,而不是只因为协议名称不同。若服务端只提供 VMess,客户端改选 VLESS 不会建立兼容连接;若服务端提供多种组合,才有条件在相同目标与网络下比较。应先确认每个组合都能正常认证,再比较首次响应、持续传输和后台稳定性。失败配置参与测速,只会把配置错误混入性能结论。

新方案评估应形成一张简短记录:客户端、实际内核、代理协议、传输方式、安全机制、流控字段、DNS 与接管模式。每次只改一个层次,并保留一个已知可用条目。需要长时间后台运行时,重点检查断网恢复与系统后台限制;需要处理大量短请求时,关注连接建立与复用;需要持续传输时,关注吞吐、资源占用和中断恢复。不同任务可能得出不同选择,没有必要用一个单项指标替所有场景作结论。

从报错阶段回到正确章节

导入时就提示格式无效,回到第六章检查链接与订阅表达;保存后内核无法启动,回到第五章检查支持范围和字段结构;入口可达但握手失败,回到第二、三章核对认证与安全设置;只有部分应用失败,回到第七章检查接管、路由和 DNS;连接可用但电量异常,回到第四章排除持续重试和高频测试。这套顺序比不断切换协议更可复现,也便于在保留敏感信息的前提下准确描述故障。

最终选择可以归纳为四个条件:服务端确实提供、客户端能够完整表达、内核明确支持、使用任务经过验证。满足这些条件后,再考虑管理习惯与资源表现。首次操作继续按快速上手完成导入、连接与验证;需要三款客户端的横向说明时,阅读选型指南;遇到具体症状时查阅常见问题。本手册用于解释这些选择背后的技术边界,不提供脱离服务端条件的统一协议排名。