协议手册 · 选型与兼容性参考

Clash 协议与内核
兼容性与场景选型

从代理类型到订阅格式,区分协议能力、内核实现和客户端设置。比较连接表现时,先固定网络条件,再讨论协议差异。

首次使用请先完成Clash 配置教程中的导入订阅、选择模式和连接验证。本页用于遇到协议名称、内核要求或格式差异时系统查阅;不替代服务端参数说明,也不把某种协议当作所有网络的统一答案。

六类代理协议 内核家族关系 订阅兼容性 移动端资源开销

一、协议、传输与代理入口

节点名称不能代替连接结构

客户端里的一个节点,实际是一组连接参数。服务器地址和端口决定连接去向,协议规定认证与数据封装方式,传输方式决定字节通过哪种通道送达,TLS 则可能负责通道加密和身份验证。节点显示名称只是便于识别的标签;名字里写了某种协议,并不能证明配置中的类型与之相同。判断兼容性时,应查看节点详情里的真实类型,而不是从名称、地区或图标猜测。

这些层次经常被混写。例如 VLESS 是代理协议,WebSocket 是一种传输方式,TLS 是安全通道机制,三者可以出现在同一条连接里。QUIC 则本身构建在 UDP 上,并整合了安全握手和多路流。比较时如果只写“VLESS 对比 QUIC”,就把不同层级放在了一起。更准确的对象是完整组合,例如某个 VLESS 传输组合与某个 Hysteria2 节点,并注明客户端和内核。

从应用到目标服务的四段路径

一次代理访问可以拆成应用到本机入口、本机内核到代理服务器、服务器到目标服务,以及目标服务返回数据四个环节。系统代理通常只影响遵循该设置的应用;TUN 通过虚拟网卡与路由机制接收相应流量。它们决定流量如何进入内核,不会把一个 SS 节点转换成 Trojan,也不会自动补齐服务器缺少的 UDP 转发能力。入口接管范围和节点协议,应当分别检查。

规则模式在入口之后为连接选择策略。命中 DIRECT 的连接直接发送,命中代理策略组的连接才使用对应节点。因而“切换了节点但网页表现没变”,有时并不是协议差别太小,而是该网页一直走直连,或者连接仍复用旧会话。先在连接面板确认命中规则、策略链和目标地址,再做对照,能避免把规则配置错误误认为协议性能问题。

层次决定什么检查位置
本机入口哪些应用进入代理系统代理、TUN、应用代理设置
规则与策略连接交给哪个出口规则命中、策略组选择
代理协议与传输认证、封装、会话传送节点类型、传输字段、TLS 参数
远端链路出口访问目标的实际质量服务端状态、目标站点响应

选型之前需要固定的条件

公平比较协议,至少要固定代理服务器所在网络、目标服务、测试设备和大致时间窗口。同一地区的两个节点,可能采用不同线路、共享不同带宽,也可能承受完全不同的负载。此时一个节点更快,只能说明该节点在当前条件下更合适,不能推出它使用的协议普遍更快。没有同服务器对照条件时,仍可按体验选节点,但应把结论限定为实际组合,而非协议排名。

还要区分能够解析配置、能够建立连接、能够承载目标业务这三种状态。配置导入成功,只表示语法与部分字段被接受;握手成功,只表示客户端与服务器完成了认证或通道建立;语音、游戏或视频是否正常,还取决于 UDP、DNS、路由和目标服务。排查应逐层推进,不要看到绿色连接状态,就认定整个数据路径已经验证完成。

本页采用的顺序也是实际选型顺序:先确认服务端提供什么,再检查内核能否支持,然后评估网络条件与资源开销,最后验证业务。协议不会凭空提供更好的线路,客户端也不能单方面启用服务器尚未部署的功能。把这个边界放在前面,后续看到带宽参数、拥塞控制或保活选项时,才不会把调参当作修复所有连接问题的捷径。

二、Shadowsocks 与 VMess 的设计取舍

Shadowsocks:较简洁的代理封装

Shadowsocks 通常简称 SS,较早形成了轻量加密代理的使用方式。它的核心思路是对代理请求和数据进行加密封装,由服务端还原后转发到目标。客户端配置往往围绕服务器、端口、密码和加密方法展开,概念相对集中。但“SS”并不是一个永远不变的单一格式;不同代际的加密方案和扩展,在密钥要求、实现支持及配置细节上存在差异,不能只看类型相同就互换字段。

较常见的 AEAD 方法把加密与完整性保护结合起来,避免把旧式流加密方案的经验直接沿用到新配置。SS 2022 又引入不同的密钥与协议要求,部分实现还支持多用户相关结构。遇到指定方法时,应完整保留方法名和密钥格式。普通口令、编码后的密钥以及多段密钥并不是同一种输入;客户端能够保存字符串,不代表服务端会按预期解释。

SS 的资源开销取决于具体密码算法、硬件加速和实现质量。带有相关指令支持的处理器,可能更适合某些 AES 方案;另一些设备在 ChaCha20 类方案上表现更合适。这是设备与实现的组合结果,不宜按手机品牌或处理器架构直接下结论。对于日常网页、小文件和消息应用,线路等待时间往往比这类算法差异更明显,先看稳定性比反复更换方法更有价值。

VMess:认证与传输组合更丰富

VMess 来自 V2Ray 生态,围绕用户身份、认证及数据传送构建代理协议,并可以搭配不同传输方式。用户常见的配置含 UUID、加密相关选项、传输类型与 TLS 设置。它的适用范围不能只由 VMess 这个名称确定:使用直接 TCP 传输与使用 WebSocket 加 TLS 的连接,在建立过程、额外头部、反向代理部署和中间设备要求上都有不同。

历史 VMess 配置中的 alterId 与旧认证机制有关,现代常见配置使用基于 AEAD 的认证方式,常会看到值为零的写法。不要为了让旧教程中的字段“看起来完整”而改成一个非零数字,也不要把旧客户端导出的配置直接当作当前服务端模板。遇到认证错误时,应优先核对服务端给出的 UUID、认证方式和系统时间,再检查传输层,避免同时修改多个不相关参数。

时间同步是 VMess 排错中容易被忽略的一环。身份和端口都正确,但设备时间明显偏离,仍可能导致认证失败;休眠恢复、手工设置时区和离线设备尤其值得检查。需要核对的是实际系统时间,而不只是桌面显示的时区名称。相反,TLS 证书错误也可能与时钟有关,但它属于另一层验证,日志中的认证失败和证书有效期错误不应合并解释。

何时选择,如何理解 UDP

当配置提供方已经给出结构清晰、维护稳定的 SS 或 VMess 节点,且业务以网页和常规应用为主,没有必要仅因协议发布时间较早就更换。优先检查客户端是否支持指定方法或传输,以及实际连接能否稳定持续。若需要穿过反向代理部署,VMess 的具体传输参数就更重要;若希望配置项较少,且服务端已具备合适实现,SS 的简洁结构可能更便于维护。

两者都不能仅凭客户端里的一个 UDP 开关保证所有 UDP 业务可用。内核、服务端、节点配置与当前传输组合需要共同支持,远端防火墙也必须允许相应通信。游戏连接失败而网页正常时,先用明确需要 UDP 的业务做独立验证,检查连接记录和服务端能力。把 UDP 关闭后网页仍正常,并不能证明先前的 UDP 路径已经工作,也不能说明该协议天然不适合游戏。

迁移这两类配置时,最可靠的做法是保留一份原始订阅,导入新客户端后逐项核对类型、方法、身份、传输和 TLS,再测试一个简单网页与一个持续连接。协议名相同但连接行为不同,常由被遗漏的传输选项或插件配置造成。SS 插件也不是每个内核都支持;看到插件字段时,应先查目标内核文档,不要把字段删掉后期待服务端自动兼容。

三、Trojan、VLESS 与 TLS 边界

Trojan:围绕 TLS 通道组织代理连接

Trojan 的常见部署使用 TLS 建立安全通道,再在通道内完成代理认证与数据传递。对客户端用户而言,服务器地址、端口和密码之外,服务器名称与证书验证也很关键。这里的“地址”负责找到服务器,“服务器名称”参与 TLS 握手和身份检查;两者可以相关,但不保证文字完全相同。节点给出 IP 地址连接、同时指定域名进行验证,是需要保留这种区分的典型情形。

TLS 证书验证检查的不是“有没有证书”这么简单,还包括证书信任链、有效期和名称匹配。连接地址可达,但验证失败,通常应检查系统时间、SNI、证书域名和服务端证书链。把跳过验证设为开启,可能让连接继续建立,却移除了重要的身份保障;它不能修复证书本身。长期配置应由正确的名称和证书解决,而不是把跳过检查当成通用兼容选项。

Trojan 的表现还受 TLS 会话复用、底层 TCP 和部署方式影响。首次连接需要的往返,与已有会话或保持连接后的请求并不一致。客户端重启后打开网页的体感,不能直接与另一个已经保持连接的节点相比。服务器使用反向代理或不同传输扩展时,还可能增加额外层次;这些扩展需要内核支持,不能根据“支持 Trojan”就推断全部组合都可用。

VLESS:把身份与安全通道分开看

VLESS 来自 V2Ray、Xray 相关生态,它的设计重点之一是精简代理协议本身,将用户身份和底层传输、安全机制分开。尤其需要记住,VLESS 本身不提供负载加密保障;实际部署通常依赖 TLS 或其他受支持的安全机制保护通道。因此“VLESS 加密更轻”不能理解成可以直接省略安全配置。服务端和客户端约定的安全模式,必须作为完整连接方案一起评估。

同为 VLESS 节点,TCP、WebSocket、gRPC 等传输组合会有不同参数。WebSocket 常涉及路径和请求头,gRPC 常涉及服务名称,TLS 则涉及服务器名称和证书验证。这些字段在分享链接、订阅和 YAML 中可能使用不同表示。手工迁移时应按语义对应,不应把某种传输的路径字段随意放到另一种传输里;出现字段不支持,首先检查内核文档和配置结构。

REALITY、Vision 等名称也经常和 VLESS 同时出现,但它们不等同于 VLESS 本身。REALITY 涉及特定安全握手配置,Vision 属于特定流控组合;客户端支持 VLESS,不代表自动支持这些功能。相关的公钥、短标识、服务器名称和 flow 等信息应来自服务端配置。不能从另一条节点复制几个字段来补齐,也不能因为导入器忽略了字段,就认定连接仍保留原有行为。

参数方向Trojan 常见配置VLESS 常见配置
用户认证密码UUID
通道保护常见部署使用 TLS需核对所配安全机制
扩展兼容核对具体传输实现核对传输、flow 与安全组合
常见误区将证书错误当成密码错误将协议支持当成全部组合支持

性能差别先从实际组合解释

Trojan 与 VLESS 的客户端 CPU 占用,不能仅凭协议头部大小推算。TLS 实现、复用策略、传输包装、数据量和硬件指令都会改变结果。短连接业务更容易感受到握手和解析等待,长时间传输则更受线路容量、拥塞控制和服务器转发能力影响。选择时先确认完整组合受到维护,再比较同一网络上的可重复表现,而不是把认证方式当作速度等级。

如果网页正常但部分应用失败,应回到入口和流量类型检查。应用可能不读取系统代理,也可能使用 UDP,或存在单独的 DNS 行为。此时换用另一种 TLS 类协议,有可能碰巧绕开某项配置差异,却不能证明问题出在协议设计。先参考常见问题区分系统代理、TUN 与 DNS,再根据连接面板判断失败发生在哪一段,排查会更有依据。

四、Hysteria2、TUIC 与 QUIC 传输

UDP 承载不等于应用必须使用 UDP

Hysteria2 和 TUIC 都采用基于 QUIC 的设计思路,底层依赖 UDP。这里的 UDP 描述客户端与代理服务器之间的承载通道,不表示只能代理 UDP 应用;它们也可以传送 TCP 业务。理解这一区分很重要:浏览器发起的 TCP 请求可以被代理封装进 QUIC,而一款 UDP 游戏是否顺畅,仍要看协议实现、数据转发方式、路径质量和服务端支持,不能由底层名称直接判断。

QUIC 将安全握手、流管理和拥塞控制整合在用户态传输中。多个独立流不必因为某一个流的数据丢失而全部等待同一份按序字节,这是它与把多路业务共同塞进单条 TCP 连接时的重要区别。不过同一流内的可靠数据仍需要恢复,所有流也会共享连接级资源和拥塞预算。“减少跨流队头阻塞”不等于丢包没有成本,更不等于拥塞时每个请求都能保持原速。

Hysteria2:带宽参数需要与路径相符

Hysteria2 面向复杂链路条件,提供带宽相关参数与相应拥塞控制机制。常见配置中的上行和下行数值,是客户端与服务端协商和控制发送的重要输入,不是填写后就能获得的实际带宽。把数值设得远高于接入网络能力,可能让队列堆积、丢包增多,并影响同一网络上的其他应用。启用何种控制方式、参数是否被采用,还要结合服务端策略与内核实现判断。

选择带宽值时,应以当前设备到服务器路径的可持续能力为参考,而不是宽带套餐标称数字。手机切换蜂窝网络后,先前适合家中网络的参数未必继续合适。若提供方要求保留默认协商或指定参数,应先遵循其说明;只有在能够重复观察改善、同时没有明显增加卡顿和竞争时,再保留修改。测试过程中一次只调整一个方向,便于判断上行拥塞是否影响下行确认和交互。

TUIC:认证、版本与会话行为

TUIC 同样利用 QUIC 的流和数据报能力组织代理传输,关注可靠流、UDP 转发与连接管理的结合。配置可能包含 UUID、密码、拥塞控制和 UDP 转发方式等内容。不同协议代际之间存在兼容边界,客户端与服务端必须使用能够互通的实现。一个只写“TUIC”的分享说明不足以说明所有参数;导入失败或握手异常时,应核对服务端要求的协议代际与内核支持范围。

部分 QUIC 类配置允许调整连接保活、快速恢复或握手相关行为。这些选项涉及已有会话状态、服务端接受策略以及网络切换,不应被理解为每次首次连接都可以免去等待。早期数据还有重放等安全边界,需要由协议实现和业务一起处理。对普通用户而言,先使用客户端与提供方共同支持的默认组合,再讨论细调,通常比复制一套追求最低握手次数的参数更稳妥。

高丢包场景与移动网络的边界

QUIC 类协议在部分高往返时延、有丢包的链路中可能有优势,但前提是 UDP 路径质量没有明显劣于 TCP。一些接入网络对 UDP 使用不同队列、限速或空闲超时,结果可能相反。连接迁移也取决于协议实现、客户端网络栈和接管方式;Wi-Fi 切到蜂窝后是否不断线,不能只根据 QUIC 支持连接标识就保证,真实应用的旧连接仍需单独验证。

发现小网页可用、大文件停住时,还要考虑 MTU 和路径上的分片处理。额外封装会减少有效负载空间,某些路径对大 UDP 数据报不友好。不要直接把 MTU 调到极低值长期使用,应先固定节点、关闭其他变量,观察是否只在特定网络出现。若同设备在另一网络正常,可把问题范围缩到路径;若所有网络都失败,再核对认证、TLS 名称及服务端端口设置。

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

先区分四种不同的“快”

连接速度至少包括建立代理通道的时间、收到目标首字节的时间、持续传输速率和长时间运行的稳定性。网页打开慢,可能发生在 DNS、握手或目标服务响应;文件下载慢,则更可能受路径容量、拥塞与出口负载影响。把这些结果合成一个延迟数字,会掩盖真正差别。节点测试显示的毫秒数,通常只是一次特定请求的结果,不是带宽、游戏延迟和所有网站体验的总评分。

自动测速还会受到测试地址、连接复用和超时阈值影响。同一节点先测与后测可能使用不同的连接状态,目标站点也可能对请求采用不同路由。需要理解数值时,可阅读Clash 节点延迟测试原理。手工选型时,先用同一测试目标判断基础可达,再用常用业务验证,能减少为了追求更小数字而选中实际体验较差节点的情况。

建立可重复的对照流程

比较两个协议组合时,先暂停订阅更新和自动策略切换,固定一个策略组出口。关闭大文件同步、系统更新等竞争流量,记录接入网络与设备供电状态。先测试首次打开,再测试重复访问,两类结果分开记录;更换节点后结束旧连接或重新打开应用,避免旧会话仍走上一个出口。每组重复多次并交替顺序,比连续只测某一个节点更能减小时间窗口带来的偏差。

带宽测试不必持续拉满。选择相同目标、相近时长和相同并发条件,观察速率是否平稳、交互是否被明显拖慢即可。若测试期间路由器和手机都出现高延迟,可能是接入端队列拥塞,而不是协议缺少带宽。若只有一个远端目标慢,其他服务正常,则先看目标或出口路径。任何结论都应注明当前设备、网络和完整节点组合,不把一次结果推广为长期排序。

业务优先观察不宜单独依赖
网页与消息首字节、短请求成功率大文件峰值速度
持续下载稳定速率、重连、设备温度一次延迟测试
语音与游戏抖动、丢包、UDP 可用性仅测试 TCP 网页
移动待机后台唤醒、网络保持、耗电变化仅看前台 CPU 截图

CPU、内存与电量不能混为一谈

CPU 开销来自加解密、协议封装、用户态网络处理、规则匹配和日志等多项工作。QUIC 在用户态实现的处理路径,与系统 TCP 栈并不相同;这不意味着它总是更耗电,但高吞吐、小包密集或实现优化不足时,差别可能放大。内存又更多受到连接数、缓存、规则集与客户端界面影响。看到某款客户端占用较大,不能立即归因于当前节点使用的协议。

移动端还要考虑无线电保持活跃的成本。频繁的保活、自动测试和订阅轮询可能让设备难以进入低功耗状态,即使每次数据很少,累计影响也值得关注。蜂窝网络信号弱时,同样的数据传输可能需要更多重传和更长活跃时间。对待机耗电的比较,应在相近信号、相同后台应用和相似使用时长下进行,不能拿满信号 Wi-Fi 与弱信号蜂窝直接对照。

降低耗电可以先从管理行为入手:减少没有必要的高频测速,避免反复切换导致连接重建,关闭长期调试日志,并检查是否同时运行多个网络接管工具。TUN 是否增加开销,需要结合接管流量规模与平台实现看待;它的意义首先是接管范围,不是节能模式。涉及客户端后台权限或系统代理设置时,应回到TUN 与代理入口教程确认操作边界。

最终选择不一定是峰值最快的组合。移动办公可能更重视休眠恢复、弱网重连和电量,桌面下载可能更重视持续吞吐,路由器则可能受单核性能和内存限制。把需求写成可验证的条件,例如“锁屏后消息仍可到达”或“下载时语音不明显断续”,再比较结果,比给协议贴上轻量、极速或省电的固定标签更可靠。

六、原版 Clash、Meta 与 mihomo 的关系

客户端负责管理,内核负责连接

图形客户端提供订阅管理、策略选择、日志和系统集成;内核负责解析配置、规则匹配、DNS 与实际代理连接。它们不是同一个层次。两款界面不同的客户端可能使用同一内核,一款客户端也可能允许切换内核或单独更新。判断协议能否使用时,首先查看实际运行的内核与能力说明,再看客户端是否能完整保存相关字段;界面上没有某个按钮,并不总代表内核没有该能力。

原版 Clash 建立了广泛使用的 YAML 配置与规则体系。生态历史上还存在开源内核与 Premium 分支等差异,不能把过去所有标为 Clash 的功能都视作同一基线。经典配置中的监听端口、策略组和规则顺序仍影响今天的使用习惯,但较新的协议、安全组合与网络栈功能,不应据此推断原版内核也支持。旧客户端能打开新配置文件,不代表能够按新语义执行。

Meta 与 mihomo 是延续关系,不是任意互换

Clash.Meta 在 Clash 生态基础上扩展了协议和网络能力,之后以 mihomo 名称继续发展。用户在订阅和教程里看到 Meta、Clash Meta、mihomo,往往是在描述同一条演进脉络,但这些称呼本身不提供精确能力边界。具体安装包内置了哪个构建、是否启用了特定实现,仍需查看客户端实际信息。不要只把配置文件标题里的 Meta 改成 mihomo,就认定已经完成迁移。

mihomo 扩展的协议类型、DNS 配置、规则提供器及 TUN 行为,可能超出原版 Clash 可解析范围。反方向看,许多基础 Clash 配置可以继续作为起点,但也需要检查旧字段、平台相关选项和行为变化。配置兼容不是只有“支持”与“不支持”两种状态;某字段可能被拒绝、忽略,或在默认值改变后呈现不同结果。迁移时应读取日志,不只看进程是否成功启动。

最容易误判的是客户端生成配置这一层。有些客户端会把订阅、全局设置和覆写合并,最终交给内核的文件与用户看到的订阅原文不同。节点明明包含某个字段,实际运行却没有相应行为,可能是编辑器未保留字段,或覆写覆盖了它。排查时应优先查看运行配置和启动日志,注意其中可能含订阅地址与认证信息,分享给他人前先删除敏感内容。

按平台选客户端,再核对能力

普通用户可以从下载中心的 Clash Plus 首推入口开始,再按平台查看 Clash Verge Rev、FlClash 等选择。Windows 还有 Clash Nyanpasu;Android 还列有 Clash Meta for Android 和 Surfboard。不同客户端不一定使用相同内核,也不一定接受相同订阅。尤其 Surfboard 的配置体系不能直接当作 mihomo YAML 使用,选择客户端时应同时确认提供方支持的格式。

Clash for Windows 与 ClashX Meta 在下载页作为已停止维护的归档项目呈现,适合有明确旧环境需求的用户辨认来源,不适合作为新协议兼容性的默认答案。迁移前可先用客户端横向评测核对平台、订阅管理与接管方式;需要更细的选型维度时,再阅读图形客户端功能对比。不要根据名称相似就推断包内实现相同。

内核升级后若出现问题,先用最小配置确认新内核能否启动,再逐步恢复规则提供器、DNS 和 TUN。不要同时导入整个旧目录,否则缓存、旧脚本和本机设置也可能一起进入测试。桌面与手机应分别验证:相同 YAML 的逻辑可以接近,但权限、虚拟网卡、系统 DNS 与后台策略不同。内核支持某协议,只解决链路中一部分兼容问题,平台集成仍需单独确认。

七、订阅格式、YAML 与字段兼容

订阅地址不说明返回内容是什么

订阅可以返回完整配置、只含节点的 YAML、分享链接列表,或经过编码的文本。地址末尾有没有文件扩展名,并不能可靠说明格式;某些服务还会根据请求参数或客户端标识返回不同内容。因此浏览器打开看到一段文本,不代表所有客户端都能导入。应在提供方页面选择明确面向目标客户端或内核的格式,避免把面向其他生态的订阅直接交给 Clash 配置解析器。

完整配置通常除了节点,还包含策略组、规则、DNS 和监听设置;节点订阅则只提供代理条目,需由本机模板或 proxy-providers 机制接入。两者在更新行为上差别很大。导入完整配置后切换到另一份配置,规则也可能一起改变;只更新节点提供器时,本机策略与规则通常由主配置保留。理解订阅属于哪一类,才能解释为什么更新后节点变了,模式或分流行为也跟着变化。

分享链接转换可能损失语义

分享链接擅长传递单个节点,但不一定表达完整策略、规则与 DNS。转换器还可能因为不认识某个新字段而丢弃它,或把协议参数映射到不完全等价的配置项。尤其传输路径、服务器名称、flow、安全握手和 UDP 方式等信息,不能只检查地址与密码就算迁移完成。转换后应对照原始参数,查看日志和连接行为,而不是把“转换成功”视作兼容保证。

订阅 URL 和节点认证信息都可能授予实际使用权限。不要把完整订阅粘贴到公共转换页面或问题截图里,也不要把运行配置直接公开到讨论区。确需转换时,优先使用客户端已支持的导入方式,或由可信环境处理。教学和排错只展示必要字段,服务器名称可以保留结构但替换为示例域名;认证、订阅参数和本地控制接口信息应从分享内容中移除。

先理解结构,再理解覆写顺序

下面是一段可独立用于理解分流的最小 YAML,不含远端节点,只提供本机监听与直连规则。它不是代理订阅,运行后不会得到远端出口。示例的作用是说明端口、模式、策略组和规则如何关联:规则中的策略名称必须指向已有出站或策略组;缩进使用空格,列表层级应一致。真实订阅导入和连接步骤仍以订阅导入教程为主线。

mixed-port: 7890
allow-lan: false
mode: rule
log-level: info

proxy-groups:
  - name: 出口选择
    type: select
    proxies:
      - DIRECT

rules:
  - DOMAIN-SUFFIX,example.com,DIRECT
  - MATCH,出口选择

用户覆写是订阅更新之外的本地定制层,但“覆写”并没有跨客户端统一的合并算法。有的以字段整体替换,有的对列表追加,有的通过脚本生成最终配置。若 rules 被整体替换,原订阅规则可能全部消失;若列表追加在 MATCH 之后,新规则可能永远匹配不到。编辑之前应确认合并方式和插入位置,更新后再看运行配置,不要只检查编辑框里保存的内容。

策略组名称也属于引用关系。节点更新后,如果某个名称被删除,静态引用可能失效;筛选规则过严,则可能把提供器中的节点全部排除。此时配置未必存在 YAML 语法错误,而是组内没有可用成员。应依次查看节点提供器是否拉取成功、格式是否正确、过滤条件是否命中,以及策略组当前选择。不要靠反复改缩进来解决实际属于空列表或引用错误的问题。

遇到更新后突然失效,先保留错误日志并恢复上一份可用配置,再比较节点类型、传输字段与覆写结果。若只是本地监听失败,应检查端口冲突,而不是重新转换订阅;具体命令可参考Clash 监听端口占用排查。把下载失败、解析失败、引用失败和运行失败分开,能让错误信息真正对应到需要修改的位置。

八、按场景选择协议与定位问题

桌面常用网络:先保留稳定基线

桌面网页、文档同步与日常开发,可以先使用提供方维护成熟、当前客户端完整支持的节点组合。SS、VMess、Trojan 或 VLESS 都可能满足需求,重点是握手稳定、证书或认证正确,以及常用服务响应一致。保留一条已经验证的基线节点,再尝试其他协议。若切换后只在某个网站改善,结论应限定在该路径;不要因此删除所有其他类型,失去后续排错的对照条件。

持续下载和高并发开发任务需要关注连接管理。多个依赖下载、容器镜像和后台同步可能同时占用链路,单一文件的峰值不能代表整体表现。可在相同任务集下观察吞吐、失败重试和设备温度;如果带宽拉满时交互明显变差,先检查接入队列与并发,再讨论协议。局域网共享还涉及本机监听和防火墙,相关边界可参考允许局域网与共享代理设置。

移动设备:网络切换与电量优先

通勤手机常在 Wi-Fi、蜂窝与不同信号强度之间切换。比起固定网络中的最佳速度,更应验证切换后能否恢复、锁屏后是否持续工作、消息连接会不会频繁重建。Hysteria2 或 TUIC 可以作为受控对照,但必须确认 UDP 路径与服务端设置;若某个接入网络表现不稳定,应允许切回可靠的 TCP 类组合。不要为追求单一协议覆盖,强行在所有网络上使用同一套参数。

语音与游戏更看重抖动、连续丢包和会话恢复。先确认应用流量真正进入客户端,再确认所选节点支持需要的 UDP 转发。测一次网页延迟只能证明该请求完成,不能代表实时业务链路。最好用同一应用、同一服务器和相近时段比较,并观察后台下载是否影响体验。如果直连也出现相同问题,说明代理协议可能不是主要变量,应先检查本地无线网络与目标服务。

小型设备:资源预算决定可用范围

服务器或路由器使用内核时,应把可用内存、单核能力、存储与架构支持纳入选择。大量规则、频繁日志和密集连接会叠加资源开销,不能只看空闲时占用。先用精简规则与单一出口跑通,再逐步增加提供器、DNS 和接管功能。需要图形管理的普通设备,可从下载页选择客户端;直接运行 mihomo 更适合能够维护服务、权限和网络路由的用户,不是所有人的必要步骤。

场景优先条件对照方式
日常网页稳定维护、完整参数兼容首次打开与重复访问分开测
移动办公网络恢复、后台表现、电量分别记录 Wi-Fi 与蜂窝表现
高时延或丢包路径传输适配、UDP 实际质量QUIC 类与 TCP 类交替比较
实时语音抖动、丢包、UDP 转发固定业务服务端与接入网络
低功耗设备CPU、内存与维护成本精简配置逐步增加功能

用失败发生的位置缩小范围

第一类是配置尚未启动:查看日志中最早出现的解析、字段或端口错误,先解决这一项,后续错误可能只是连带结果。第二类是无法到达代理服务器:检查地址解析、端口和接入网络,换一个已知可用节点作为对照。第三类是认证或安全握手失败:按协议核对密码、UUID、系统时间、TLS 名称和服务端要求,不要把所有失败都归为网络超时。

第四类是通道建立后只有部分业务失败:检查规则命中、目标解析、UDP 与传输大小,再看服务端出口到目标的连接。第五类是休眠或网络切换后失败:结束旧会话、重新建立连接,并观察是否只有某类协议复现。如果重新打开客户端就恢复,仍需进一步区分旧路由、DNS 缓存与会话状态;单次重启成功只是定位线索,不是长期修复方案。

记录问题时,保留操作系统、客户端名称、实际内核、协议与传输组合、接入网络及可重复步骤。日志只截取相关时间段,并删除订阅和认证内容。将“导入后不能用”改写成“配置启动成功、TLS 握手失败、另一节点正常”,讨论才有明确入口。仍不清楚术语时可查概念速查;需要按步骤恢复基础连接时,回到快速配置教程,从可验证的最小链路重新开始。