协议选型 · 内核兼容 · 性能边界

Clash 协议与内核技术参考

比较 SS、VMess、Trojan、VLESS、Hysteria2 与 TUIC,说明原版 Clash、Clash Meta 和 mihomo 的关系,并把速度、资源占用、电量与订阅兼容性放进同一套选型框架。

协议范围 6 类
推荐内核 mihomo
开源协议 GPL-3.0
阅读定位 选型参考

本页是系统查阅手册,不替代安装流程。第一次使用 Clash、尚未完成订阅导入和系统代理设置时,先按入门指南完成可用连接;需要选择客户端安装包时前往下载中心。完成基础配置后,再用本页判断协议是否适合当前网络、设备和内核。

协议名称并不等于实际体验。一次连接的结果同时受到服务端实现、线路质量、拥塞控制、传输层、加密方式、客户端内核和设备电源策略影响。本文因此不做简单排名,而是先拆开变量,再给出可复用的选择方法。

一、先建立协议选型框架

协议、传输与客户端是三个层级

Clash 配置里的一个代理节点通常包含三层信息。第一层是协议本身,例如 Shadowsocks、VMess、Trojan、VLESS、Hysteria2 或 TUIC,它规定双方如何认证、封装数据以及维护会话。第二层是承载协议的传输方式,例如普通 TCP、WebSocket、gRPC、HTTP/2、QUIC 或基于 UDP 的定制传输。第三层才是执行配置的客户端与内核。图形客户端负责订阅管理、策略组、系统代理和界面操作,mihomo 等内核负责真正解析节点并转发连接。

这三层不能混为一个结论。VMess 配合 TCP 与 VMess 配合 WebSocket,在握手次数、包头开销和连接复用方面并不相同;VLESS 本身很轻,但叠加 TLS、REALITY、gRPC 后,实际连接过程仍会包含对应传输层的计算与往返。客户端名称也不能证明它支持某个协议的全部扩展。判断兼容性时,应查看内核类型、节点字段和传输组合,而不是只看界面里是否出现相似名称。

先确定约束,再比较协议

实用的选型顺序是:先确定服务端已经提供哪些协议,再确认当前客户端内核能否完整解析,随后考虑网络特征和设备限制,最后才比较速度。用户通常无法只在本地把一个现有节点改成另一种协议,因为协议、端口、认证信息和服务端配置必须对应。订阅只提供 SS 节点时,客户端无法通过修改 type 字段把它转换成 Hysteria2;这种改动只会造成握手失败。

网络约束至少包含四项:UDP 是否稳定、往返时延是否高、丢包是否明显、连接是否频繁在 Wi-Fi 与蜂窝网络之间切换。设备约束则包括处理器性能、后台运行限制、电池容量和是否长期保持大量并发。桌面端持续供电,更适合优先追求吞吐和连接恢复;移动端需要同时衡量唤醒次数、持续发包、无线模块活跃时间和后台保活成本。

六个判断维度

本文统一使用六个维度比较协议:握手成本决定首次建立连接需要多少次往返;传输效率关注有效载荷占比和复用方式;弱网恢复关注丢包与抖动下的退化程度;资源占用包括加密、拥塞控制和会话维护带来的 CPU 与内存成本;移动端表现重点观察无线模块是否被频繁唤醒;生态兼容则考察订阅格式、内核和服务端支持范围。任何协议都可能在一个维度占优、另一个维度付出成本。

因此,协议选择的目标不是找出全局最强项,而是避免明显不匹配。例如 UDP 质量长期不稳定时,优先选择成熟的 TCP 组合通常比反复调节 QUIC 参数更有效;高时延且存在随机丢包时,Hysteria2 或 TUIC 可能获得更平滑的吞吐;老旧设备只承担网页与消息流量时,结构简单、实现成熟的 SS 往往更省资源。先把需求写成约束,结论会比协议排行榜可靠。

判断维度 需要观察的事实 常见误区
握手 首次连接往返、TLS 或 QUIC 建连过程 只看节点延迟,不看首包时间
弱网 丢包、抖动、网络切换后的恢复 用短时下载代替长期观察
资源 CPU、内存、后台唤醒与发热 把客户端界面占用都归因于协议
兼容 内核、字段、传输与订阅格式 认为名称相同就一定能导入

二、SS、VMess、Trojan 与 VLESS 的设计差异

Shadowsocks:简单结构与广泛实现

Shadowsocks 通常缩写为 SS。它的核心思路是使用预共享密钥保护代理数据,并以较精简的结构转发 TCP 与 UDP 流量。早期实现曾提供多种传统加密方式,现代配置更常见 AEAD 加密,例如 aes-128-gcmaes-256-gcmchacha20-ietf-poly1305。AEAD 同时提供加密和完整性保护,客户端与服务端必须使用完全一致的方法和密码。

SS 的优势来自实现成熟、节点字段少、客户端覆盖广。对于普通网页、软件更新、即时通信和多数桌面场景,它通常能以较低的配置复杂度提供稳定表现。AES 在带硬件加速的桌面处理器上效率很好;ChaCha20 在部分移动设备或低功耗处理器上可能更合适,但不能仅凭算法名称断定结果,具体实现与设备指令集同样重要。

SS 的限制也与简单结构相关。它不是一套包含复杂传输编排的通用协议框架,扩展能力更多依赖具体实现、插件或服务端能力。订阅中若包含插件参数,mihomo 必须识别对应插件类型与字段;只复制服务器、端口和密码可能遗漏关键传输信息。遇到能导入但无法连接的 SS 节点,应先核对加密方式、插件选项和 UDP 开关,而不是反复切换系统代理。

VMess:带会话信息的完整协议

VMess 来自 V2Ray 生态,以 UUID 等身份信息完成认证,并可与 TCP、WebSocket、HTTP/2 等传输组合。它比 SS 承担更多协议层工作,配置字段也更丰富。历史配置中还能看到 alterId 等字段,但现代服务端通常采用不同的推荐值;导入旧订阅时,字段虽然可能被内核接受,服务端实际配置却未必仍然匹配。

VMess 的价值在于生态成熟、传输组合多、旧有订阅覆盖面广。其代价是配置链条较长:协议认证、传输类型、TLS、服务器名称、路径和请求头可能共同决定连接结果。任意一处与服务端不一致,都可能表现为超时或握手关闭。排查时应从订阅原始字段出发,不宜凭经验删除看似多余的参数。

从性能看,VMess 并非天然缓慢,但额外封装、传输层和加密会产生一定成本。若多个节点实际线路相同,普通 TCP 组合通常比叠加 WebSocket 与 TLS 的组合拥有更少的握手和帧开销;不过在真实使用中,线路拥塞往往比这部分差异更显著。只有在控制变量后,协议层比较才有意义。

Trojan:以 TLS 连接为基础

Trojan 通常建立在 TLS 之上,使用密码完成认证,并把数据承载在受 TLS 保护的连接中。其配置关键包括服务器地址、端口、密码、服务器名称和证书验证行为。客户端中的 sniservername 必须与服务端证书及部署方式对应。随意关闭证书验证可能暂时绕过错误,但会改变安全边界,不应成为常规排错手段。

Trojan 的优势是标准 TLS 组件成熟,部署与证书体系清晰,很多内核都能稳定处理。建立新连接时需要完成 TCP 与 TLS 握手,高时延环境中的首包时间可能因此增加;连接复用和会话恢复可以减少部分成本,但具体效果取决于客户端与服务端实现。网页访问以大量短连接为主时,应同时观察首包时间;持续传输时,线路质量通常更重要。

Trojan 订阅常见问题集中在 SNI、证书域名、传输层和端口不一致。若节点在一个客户端可用、另一个客户端失败,先比较两边导出的完整节点字段,特别是网络类型、ALPN、SNI 与证书验证选项。只核对密码不足以确认配置等价。

VLESS:精简认证与可组合扩展

VLESS 采用较轻的协议层设计,本身不负责像 VMess 那样的内建加密,通常依靠 TLS、REALITY 或其他安全传输提供保护。它以 UUID 等信息认证,可与 TCP、WebSocket、gRPC 等承载方式组合。VLESS 的配置可读性较高,但这不意味着节点字段更少:流控、传输、安全层、服务器名称、公钥、短标识和路径等参数仍必须与服务端一致。

VLESS 常见于较新的服务端方案,也能通过组合不同传输适配多种部署需求。其协议层开销较轻,但最终性能由整个组合决定。VLESS 加普通 TCP、VLESS 加 gRPC、VLESS 加 WebSocket 是三种不同的数据路径,不能把它们视为同一个性能结论。REALITY 相关字段还依赖内核支持,旧版原版 Clash 通常无法完整解析,mihomo 的适配范围更广。

选择 VLESS 时,重点不是“新”这一属性,而是订阅与内核是否提供完整字段、服务端组合是否稳定、当前网络是否适合对应传输。若现有 VMess 或 Trojan 节点长期稳定,没有必要只因协议名称变化而迁移。协议更换应解决明确问题,例如降低配置复杂度、使用内核支持的新传输,或改善特定网络下的连接恢复。

协议 主要认证或保护方式 配置重点 适合优先考虑的情况
SS 预共享密钥与 AEAD 加密方式、密码、插件、UDP 重视成熟度与较低复杂度
VMess UUID、协议封装与可选安全层 传输、TLS、路径、旧字段 已有成熟 VMess 订阅和服务端
Trojan TLS 与密码认证 SNI、证书、ALPN、传输 服务端采用标准 TLS 部署
VLESS 轻量认证并依赖外部安全层 安全层、流控、传输扩展 使用较新传输与 mihomo 内核

三、Hysteria2 与 TUIC:面向高时延和丢包的 UDP 方案

为什么使用 QUIC 或定制拥塞控制

传统 TCP 按连接维护可靠有序的数据流。发生丢包时,重传和拥塞窗口调整可能让后续数据等待,多个逻辑请求若共享同一条 TCP 路径,还可能相互影响。QUIC 在 UDP 之上实现可靠传输、加密和多路流,把更多传输控制放在用户态。Hysteria2 与 TUIC 都利用这一方向改善高时延、随机丢包或带宽变化明显场景中的连接表现,但两者不是简单的“UDP 加速开关”。

UDP 方案能否发挥作用,首先取决于端到端 UDP 质量。若本地网络、路由设备或服务端入口对 UDP 存在严格限速、映射时间短或持续丢包,协议再先进也无法补偿基础路径问题。常见症状包括刚连接时正常、数十秒后吞吐骤降,或测速可用但长连接频繁重建。此时应先与同线路的 TCP 节点对比,确认问题来自协议、线路还是本地网络。

Hysteria2 的带宽利用思路

Hysteria2 使用基于 QUIC 的传输,并针对高时延与丢包环境强调吞吐利用。配置通常包含服务器、端口、认证信息、TLS 服务器名称以及证书验证设置。部分服务端还会提供混淆相关参数。客户端下载订阅后应保留这些字段,不要把认证字符串误当作 SS 密码,也不要把普通 HTTPS 地址直接填入 Hysteria2 节点。

Hysteria2 在长距离、高带宽延迟积和随机丢包环境中可能比保守的 TCP 拥塞控制更积极。积极发送有助于维持吞吐,但也意味着网络条件较差时可能产生更多重传、CPU 工作和无线模块活跃时间。它适合持续下载、视频传输或远程大文件访问,不代表所有短连接网页都会更快。短请求的体验还受到 DNS、QUIC 建连、证书验证和应用自身连接复用影响。

配置中的带宽相关参数应反映真实可用能力,而不是填写越大越好。过高估计可能造成突发发送、排队和额外丢包;过低估计则限制吞吐。服务提供方已经通过订阅给出参数时,优先保留原值。需要手动调整时,应在稳定网络下测量多次,使用略低于持续可用吞吐的值,再观察延迟是否因排队明显升高。

TUIC 的连接迁移与多路流

TUIC 同样建立在 QUIC 体系上,常见配置包含 UUID、密码、服务器名称、拥塞控制器和 UDP 中继模式。其设计关注低延迟、多路复用和连接状态管理。QUIC 使用连接标识而非只依赖传统四元组,在实现与网络条件允许时,设备从 Wi-Fi 切换到蜂窝网络后可能更容易恢复会话。不过“支持迁移”不等于切换过程一定没有中断,移动系统的后台策略、地址变化和中间设备映射都会影响结果。

TUIC 的拥塞控制选项会改变吞吐与延迟取舍。较积极的算法可能在带宽充足时快速提升发送速率,也可能在共享网络上增加排队;较保守的策略通常更平稳,但高时延线路爬升速度较慢。客户端应遵循订阅或服务端建议,不宜只依据算法名称修改。客户端和服务端对 TUIC 代际及字段解释不一致时,最常见表现是认证后立即断开或 UDP 转发不可用。

Hysteria2 与 TUIC 的选择通常由服务端支持决定。如果两者位于相同线路,可以用三个任务比较:连续访问一组短网页,观察首包与失败重试;保持十分钟以上持续传输,观察吞吐波动;在移动设备上切换一次网络,观察恢复时间和电量变化。结论应基于任务而不是单一测速数值。

项目 Hysteria2 TUIC
传输基础 基于 QUIC 的定制传输 基于 QUIC 的多路连接体系
重点参数 认证、SNI、带宽、混淆 UUID、密码、拥塞控制、UDP 中继
典型优势 高时延与随机丢包下维持吞吐 多路流与连接状态管理
共同前提 端到端 UDP 可用且质量稳定,客户端与服务端字段完全匹配

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

把速度拆成首包、吞吐和稳定性

“速度快”至少包含三种不同指标。首包时间是从应用发起连接到收到首段有效数据的时间,受 DNS、协议握手、TLS 或 QUIC 建连和服务端处理影响;持续吞吐描述大文件或视频在稳定阶段的传输能力;稳定性则关注一分钟到数小时内是否出现断流、重连和明显抖动。协议可能在持续吞吐上占优,却因为首次建连较复杂而不改善短网页体验。

比较时应保持服务端位置、线路、设备、时间段和客户端内核一致。两个名称不同但线路也不同的节点,测试结果主要反映线路差异。建议分别使用网页加载、持续文件传输和实时语音三类任务,每类执行多次,并记录中位体验而不是最高峰值。Clash 的策略组延迟测试适合筛除明显不可用节点,不适合作为完整吞吐基准。自动策略组的差异可进一步阅读url-test、fallback 与 load-balance 选型说明

CPU、内存与并发连接

协议资源占用来自加密运算、数据复制、拥塞控制、连接复用、日志和规则匹配。SS 的协议结构较简洁,通常具有较低的常驻开销;AES 与 ChaCha20 的实际成本取决于硬件加速。VMess 与多层传输需要处理更多封装。Trojan 借助成熟 TLS 库,但大量短连接会重复承担握手。VLESS 本身较轻,若叠加 gRPC、TLS 或复杂流控,最终开销仍取决于整个组合。

Hysteria2 与 TUIC 的 QUIC 处理位于用户态,需要维护丢包检测、拥塞窗口和多个逻辑流。在高速传输或弱网重传较多时,CPU 占用可能高于简单 TCP 协议。现代桌面设备通常能够承担,但低功耗路由器、旧手机或小型服务器需要关注持续负载。内存方面,节点数量、规则集、GeoIP 数据、连接面板记录和 DNS 缓存往往比单个协议对象更显著,不能看到客户端占用增加就直接归因于协议。

诊断资源问题时,先固定同一份规则和 DNS 配置,只更换一个节点协议;关闭连接详情页的持续刷新,并将日志级别保持在常规水平。分别观察空闲、普通浏览和持续传输三种状态。如果空闲时资源仍高,原因更可能是图形界面、规则更新、DNS 循环或系统代理冲突;如果只在高速传输时升高,则更接近加密和传输处理成本。

移动端电量不是协议名称的单变量

移动设备的主要能耗通常来自屏幕、无线基带、CPU 唤醒和后台保活。代理协议会通过发包频率、重传数量、连接保持和加密计算间接影响电量。持续发送小包会让无线模块更长时间保持活跃;弱网下大量重传会同时增加网络与 CPU 成本;过短的连接保活可能频繁唤醒系统,过长的保活又可能维持不必要的会话。

日常轻量浏览中,成熟的 SS、Trojan 或 VLESS TCP 组合通常容易获得可预测的功耗。Hysteria2 与 TUIC 在移动网络质量好、持续传输明显时可能用更短时间完成任务,从而抵消部分瞬时负载;但在 UDP 丢包严重的网络中,重传和连接维护可能增加耗电。是否省电必须以完成同一任务的总耗时和总电量判断,不能只比较某一刻 CPU 百分比。

Android 与 iOS 还会限制后台网络活动。客户端被系统暂停、VPN 服务被节能策略回收或网络切换后未及时重建,都可能表现为协议断线。Android 用户应确认客户端的 VPN 权限和后台运行策略;iOS 用户应使用系统允许的客户端与网络扩展方式。需要选择对应软件时,可在Android 下载区iOS 下载区查看 Clash Plus 等客户端。

协议或组合 首包成本倾向 持续负载倾向 移动端观察重点
SS + AEAD 较低 通常较低 加密算法与设备硬件加速
Trojan + TLS 包含 TCP 与 TLS 建连 连接稳定后较平稳 短连接数量与会话复用
VLESS + TLS/REALITY 由安全层与传输决定 取决于组合 流控、传输和内核支持
Hysteria2 / TUIC 包含 QUIC 建连 高速或弱网时可能较高 UDP 丢包、重传与后台保活

五、原版 Clash、Clash Meta 与 mihomo 的内核关系

原版 Clash 的定位

原版 Clash 建立了配置文件、规则分流、策略组、DNS 和多平台代理入口等基础模型。大量现有配置仍沿用它形成的字段和结构,例如 proxiesproxy-groupsrulesmixed-portmode。理解这些基础结构仍然有价值,因为 Meta 系列和 mihomo 保留了广泛兼容性。

但原版项目停止继续扩展后,较新的协议和传输并不在其完整支持范围内。含 VLESS 新扩展、Hysteria2、TUIC、REALITY 或较新 DNS 能力的配置,不能假定原版内核可以解析。部分旧客户端界面仍使用 Clash 名称,内部内核却可能不同,因此需要查看客户端关于页面、内核设置或运行日志,而不是依据产品名称猜测。

Clash Meta 与 mihomo 的延续关系

Clash Meta 在原版配置模型上扩展协议、DNS、规则提供器、TUN 和网络栈能力。mihomo 是这一内核路线延续使用的名称。实际讨论中,“Meta 内核”和“mihomo”常被用于指向同一技术家族的不同时期或包装方式。新配置优先以 mihomo 文档与当前客户端实际内核为准,旧教程中的 Meta 字段多数仍有参考价值,但不能机械照搬所有默认值。

mihomo 的主要价值不是单纯增加协议数量,而是让协议、策略组、规则、DNS 与 TUN 在同一内核中协同。它能处理 SS、VMess、Trojan、VLESS、Hysteria2、TUIC 等多类节点,并支持更丰富的规则集与 DNS 行为。协议可解析仍不等于节点可连接:服务端参数、证书、传输字段和本地网络必须同时正确。

图形客户端与内核应分开理解。Clash Plus、Clash Verge Rev、FlClash、Clash Nyanpasu 等提供不同的界面、更新方式和系统集成;真正决定配置语法与协议能力的是其内置或调用的内核。客户端可能为某些字段提供图形开关,也可能只允许通过 YAML 修改。首推 Clash Plus 是基于全平台图形操作与常用设置覆盖,并不改变底层协议需要与服务端匹配这一事实。

配置兼容是“基础兼容加扩展识别”

一份只使用基础端口、常规策略组、DOMAIN-SUFFIX 规则和 SS 节点的配置,通常容易在多个 Clash 家族内核间迁移。加入 mihomo 专属协议、规则集格式、DNS 选项或 TUN 扩展后,向旧内核迁移可能失败。失败方式有三种:配置检查直接报未知字段;未知字段被忽略,导致行为与预期不同;节点能够显示,但连接时因协议实现缺失而失败。第二种最隐蔽,因此迁移后必须验证实际流量路径。

配置检查是最低成本的第一步。mihomo 可通过命令检查语法和字段是否能被当前内核接受。命令中的路径应替换为本机真实配置位置:

mihomo -t -f config.yaml

检查通过只说明 YAML 结构和已知字段基本有效,不证明订阅地址可访问、节点认证正确或 DNS 路径符合预期。随后应启动客户端,查看运行日志是否出现 provider 更新、证书、DNS 或监听端口错误,再分别验证直连规则、代理规则和最终 MATCH 规则。

内核家族 配置基础 协议覆盖 适用判断
原版 Clash 规则、策略组、DNS、基础代理 以传统协议为主 读取旧配置或理解基础模型
Clash Meta 兼容基础结构并增加扩展 扩展 VLESS、TUIC 等能力 现有 Meta 配置继续迁移
mihomo 延续 Meta 路线并持续维护 覆盖本文六类协议及更多扩展 新客户端和新配置优先选择

六、订阅格式、节点字段与兼容性判断

分享链接、YAML 与订阅转换

常见订阅可能返回完整 Clash YAML、节点分享链接集合,或由服务端按客户端类型动态生成的内容。完整 YAML 可以同时携带节点、策略组、规则和 DNS;分享链接通常只描述单个节点;订阅转换服务则把上游数据重组为某种客户端格式。三者的信息量不同,导入成功也不代表内容完整。

SS 分享链接通常包含加密方式、密码、服务器和端口;VMess 旧式链接常把 JSON 信息编码后传输;Trojan、VLESS、Hysteria2 与 TUIC 多使用 URI 查询参数表达 SNI、传输、安全层和其他扩展。中间工具若不认识新字段,可能保留节点名称却丢失关键参数,最终形成“列表存在但全部超时”的配置。

优先使用服务提供方明确标注为 Clash Meta 或 mihomo 的订阅格式。只有原始分享链接时,应使用能够识别对应协议和扩展字段的导入工具。不要连续经过多层转换,因为每一层都可能重命名字段、删除未知参数或改变转义。订阅解析失败的系统检查可参考订阅链接失效或解析失败自查步骤

用最小节点检查字段是否完整

排查兼容问题时,可以从订阅中复制一个节点到单独测试配置,保留服务端提供的全部字段,再建立一个 select 策略组。下面示例展示字段层级,不包含真实服务器信息。缩进使用空格,协议参数必须替换为服务端实际值:

mixed-port: 7890
mode: rule
log-level: info

proxies:
  - name: SS-Test
    type: ss
    server: server.example
    port: 443
    cipher: chacha20-ietf-poly1305
    password: "your-password"
    udp: true

proxy-groups:
  - name: PROXY
    type: select
    proxies:
      - SS-Test

rules:
  - MATCH,PROXY

这个最小配置适合确认内核能否监听端口、解析节点并建立基本连接。它不应直接覆盖原配置,因为其中没有生产环境需要的 DNS、规则集和本地网络选项。若最小配置可用而完整订阅不可用,问题通常位于策略组引用、规则提供器、DNS 或重复节点名称;若最小配置也失败,应回到协议字段、认证信息、服务端状态和本地网络。

字段映射比文件扩展名更重要

文件名为 YAML 并不能保证内容符合 mihomo 结构。有效文档需要正确缩进,列表项与映射层级必须明确。订阅可能以文本形式返回错误页面、登录提示或超时信息,客户端随后会报告解析失败。检查时先确认返回内容开头是否符合 YAML 或节点链接格式,再看 HTTP 状态、编码和更新日志。

不同内核对同一概念可能接受别名,但不应依赖未记录的隐式转换。例如服务器名称可能表现为 sniservername,跳过证书验证可能使用不同字段,WebSocket 路径与请求头也有特定嵌套层级。最可靠的方法是保留订阅生成器输出,并对照当前内核支持格式。手工迁移时一次只改一个字段,修改后立即执行配置检查。

策略组还会引用节点名称或 provider 名称。节点重命名后若未同步更新组内引用,内核可能报告找不到代理。provider 更新失败时,已有缓存有时仍会让旧节点显示,容易误判订阅正常。应查看更新时间、日志和实际选择项,确认客户端使用的是新内容。节点列表为空、某类协议被过滤或更新后字段丢失,通常都与订阅格式和内核能力有关。

订阅安全边界与本地覆盖

订阅包含服务器、认证和策略信息,应只导入信任来源。分享配置前需要移除真实认证内容。客户端提供覆写或合并功能时,应明确哪些字段来自远程订阅、哪些由本地补充。常见做法是让远程内容提供节点,本地配置维护策略组、规则和 DNS;这样订阅更新不会反复覆盖个人规则,但合并顺序错误也可能造成同名组被替换。

每次大幅调整前保存可用配置副本,并记录当前内核类型。更新订阅后若连接异常,可先回退配置而不是同时更换客户端、协议和 DNS。一次改变多个变量会让问题无法定位。常见问答与错误现象可在常见问题中继续查找。

七、按网络、设备与任务选择协议

桌面办公与普通浏览

Windows、macOS 与 Linux 桌面环境通常供电稳定,系统允许客户端长期运行。办公网页、文档同步、代码托管和即时通信更重视连接稳定、首包一致性与兼容性。已有成熟 SS、Trojan 或 VLESS TCP 节点时,应优先使用稳定项,不必为了追求协议名称更新而频繁迁移。SS 配置简单,Trojan 的 TLS 部署清晰,VLESS 则适合已经采用较新服务端组合的环境。

客户端方面,Clash Plus 适合需要图形界面、系统代理、TUN 与订阅管理的用户;Clash Verge Rev、FlClash 和 Clash Nyanpasu 也可按系统与操作偏好选择。服务器或脚本环境可以直接使用 mihomo 内核。客户端差异主要体现在界面与系统集成,协议能否连接仍由内核和节点字段决定。安装入口集中在下载中心

办公网络里若 UDP 表现不确定,先使用 TCP 协议建立稳定基线,再决定是否测试 Hysteria2 或 TUIC。策略模式建议保持 rule,让业务域名按规则进入对应策略组;全局模式适合短时诊断,不宜用来掩盖规则错误。节点选择使用 url-test 时要理解它按测试地址延迟择优,不会持续评估所有业务的真实吞吐。

高时延、随机丢包与持续传输

当网络往返时间较高、偶发丢包明显,并且任务以视频、远程文件或持续下载为主时,Hysteria2 与 TUIC 值得优先测试。它们的 QUIC 传输和拥塞控制可能比保守 TCP 更快恢复发送。但测试前应确认 UDP 可持续使用,并确保服务端位于可比线路。若 UDP 受限,Trojan、VLESS 或 SS 的 TCP 组合通常更可预测。

持续传输场景应观察十分钟以上,而不是只看开始几秒的峰值。记录平均吞吐、最低吞吐、断流次数和同时进行网页访问时的延迟。如果高吞吐造成其他应用明显排队,应降低并发或调整带宽参数,而不是继续提高发送上限。家庭共享网络尤其需要平衡单设备吞吐与整体延迟。

实时语音、在线会议和交互式远程桌面更关注抖动与丢包恢复,不一定需要最高带宽。Hysteria2 或 TUIC 在合适网络下可能改善波动,但持续重传也可能带来反效果。应进行真实通话或交互测试,并保留一个稳定 TCP 节点作为 fallback。fallback 策略组按顺序检查可用性,适合明确主备关系;它与按延迟择优的 url-test 不是同一种逻辑。

移动设备与频繁网络切换

Android 和 iOS 的选择应把电量、后台限制与网络迁移放在同一层面。轻量浏览、消息和邮件可以先选择成熟的 SS、Trojan 或 VLESS 节点;长时间视频与大文件任务再比较 Hysteria2、TUIC。若设备经常在 Wi-Fi 与蜂窝网络之间切换,可观察 QUIC 连接恢复是否更平滑,但仍需接受系统切换网络时可能短暂重连。

移动端测试至少持续一个完整使用周期。保持屏幕亮度、应用组合和网络条件接近,比较相同任务后的电量变化。瞬时 CPU 占用高不一定意味着总耗电高,因为更快完成传输可能缩短无线模块活跃时间;反之,后台持续小包和频繁重试可能看似负载不高,却延长唤醒时间。客户端被系统回收时,应先调整后台权限,而不是立即更换协议。

路由器、低功耗主机与家庭网关

路由器和低功耗主机的处理器、内存与散热余量有限,协议选择需要关注持续 CPU 占用。SS 往往是较稳妥的起点,具体加密算法应结合硬件能力测试。Trojan 的 TLS、VMess 的封装以及 QUIC 协议在高吞吐下可能增加计算压力。设备无法跑满线路时,先查看单核占用、软中断和温度,再判断是协议瓶颈还是系统转发瓶颈。

作为家庭网关时,连接数和 DNS 请求量通常比单设备更高。规则集规模、TUN 网络栈、连接跟踪和日志级别都会影响资源。不要只通过更换协议解决整体负载,应同时精简重复规则、避免调试日志长期运行,并为 DNS 缓存设置合理策略。mihomo 内核适合需要完整规则和多协议支持的网关,但图形客户端通常更适合个人电脑。

使用场景 优先起点 需要重点验证 回退方案
桌面办公与浏览 SS、Trojan、VLESS TCP 首包、稳定性、系统代理 切换成熟 TCP 节点
高时延持续传输 Hysteria2、TUIC UDP、长期吞吐、排队延迟 Trojan 或 VLESS TCP
移动轻量使用 SS、Trojan、VLESS 后台保活、电量、网络切换 减少重试并选稳定节点
低功耗网关 SS 与精简规则 单核占用、温度、连接数 降低并发与规则复杂度

八、验证、迁移与故障定位方法

建立一条可重复的验证流程

协议迁移不应从删除旧节点开始。先保留现有可用配置,把新节点加入独立策略组,并使用相同规则测试。第一步执行配置检查,确认 YAML 和字段能被当前内核解析;第二步在客户端中选择新节点,测试基本 TCP 连接;第三步确认 DNS 查询与规则命中;第四步再测试 UDP、持续传输和网络切换。每一步只验证一个层级,失败时能够快速回退。

基本连接成功后,应分别验证短连接、长连接和多并发。短连接可通过连续打开多个未缓存页面观察首包和失败率;长连接可保持文件传输或视频播放,观察十分钟以上的波动;多并发用于确认策略组和内核在日常负载下是否稳定。移动端还要锁屏一段时间,再解锁观察连接能否恢复。一次测试无法覆盖全部状态。

判断代理是否实际生效时,不要只看界面开关。检查系统代理或 VPN 状态、连接面板中的目标域名、规则命中和出口结果。首次连接的完整操作可参考选节点、测延迟与确认代理生效。若所有节点同时超时,再按节点超时排查顺序区分客户端、节点和本机网络。

按故障层级定位,而不是反复重装

配置解析错误通常发生在连接之前,日志会指出 YAML 行号、未知字段或策略组引用。此时应检查缩进、冒号后的空格、列表层级和内核支持,不需要更改防火墙。节点能显示但连接超时,则检查服务器、端口、协议类型、认证信息和本地网络。TLS 握手错误重点检查系统时间、SNI、证书验证和 ALPN。QUIC 节点认证后断流,应再检查 UDP 路径、拥塞控制与服务端代际。

只有部分网站异常时,协议本身通常不是第一嫌疑。应查看规则是否把域名送入预期策略组、DNS 是否返回适合当前模式的结果,以及应用是否绕过系统代理。TUN 模式能接管更多应用流量,但也会引入路由、权限和 DNS 接管变量。排查时可以暂时使用最小规则确认连接,再逐项恢复规则和 DNS 配置,避免全局模式长期掩盖规则错误。

所有协议都突然失效时,优先检查订阅更新、系统时间、本地监听端口、系统代理、VPN 权限、防火墙和当前网络。单个节点失败而同协议其他节点正常,问题更可能在服务端或节点字段。只有某一协议全部失败,则比较内核支持、订阅转换和该协议依赖的传输层。这样的分组判断比逐个随机点击节点更快。

从旧内核迁移到 mihomo

迁移前先列出旧配置中的端口、代理节点、策略组、规则、DNS、TUN 和 provider。第一轮只迁移基础端口、一个可用节点、一个 select 组和 MATCH 规则,确认内核运行。第二轮加入 DNS 与常用规则,第三轮再加入远程 provider、TUN 和新协议。分阶段迁移能明确是哪组功能造成差异。

原版 Clash 配置中的基础字段通常可以继续使用,但旧教程中的默认值不应直接视为 mihomo 的最佳设置。特别是 DNS 增强模式、Fake-IP 范围、嗅探、TUN 网络栈和规则集格式,应根据当前客户端与系统调整。遇到弃用提示时,按照当前内核文档替换字段,不要仅通过关闭日志隐藏问题。

迁移新协议时保留服务端生成的完整节点对象。VLESS 的流控与安全层、Hysteria2 的认证与带宽字段、TUIC 的 UUID、密码和拥塞控制都不应凭旧节点模板补写。配置通过后再把节点纳入 url-test 或 fallback 组。自动组测试地址和间隔会产生额外请求,移动端不宜设置过短间隔。

形成长期可维护的配置

稳定配置应把变化频率不同的内容分开:订阅负责节点更新,本地策略组表达选择逻辑,规则负责流量分类,DNS 与 TUN 负责系统接入。不要在多个位置重复维护同一节点,也不要让远程更新覆盖关键本地设置。节点名称应清晰且稳定,策略组名称避免频繁修改,以免规则和应用引用失效。

每次变更记录四项内容:修改了哪个层级、预期解决什么问题、如何验证、如何回退。协议迁移若没有明确目标,就应保留当前稳定方案。SS、VMess、Trojan、VLESS、Hysteria2 与 TUIC 都有适用边界,最终选择应由可用服务端、网络特征、设备资源和任务类型共同决定,而不是由协议的新旧顺序决定。

简化后的决策路径是:普通浏览先选稳定 TCP 协议;高时延持续传输再测试 Hysteria2 或 TUIC;新协议与扩展优先使用 mihomo;移动端额外比较后台恢复和总电量;订阅异常先核对格式与字段;更换协议后按配置、连接、DNS、规则、应用五层逐项验证。完成这套过程后,协议选择就从一次性测速变成可重复的工程判断。