协议手册 · 技术参考
代理协议与内核参考
按协议能力、配置兼容性和设备条件选择出站方式。
本页用于系统查阅,重点是理解客户端里不同协议名称对应的能力与边界。首次安装、导入订阅和启用连接,请先按使用指南完成主线操作,再回到本页比较协议、内核和网络栈。协议只能影响连接链路的一部分,不能替代服务端容量、线路质量与正确配置。
准备客户端时,优先从下载页选择 Clash Plus,再按操作系统与处理器架构确认安装文件。以下讨论以 mihomo 的配置概念为基础;不同图形客户端对设置入口、配置覆写和平台授权的组织方式可能不同。
内核家族与配置边界
客户端、内核与配置文件
图形客户端负责安装服务、导入配置、展示策略组和申请系统权限;内核负责解析规则、建立出站连接、处理 DNS 与转发数据。界面中出现某个开关,不等于当前运行的内核已具备全部相关能力。判断协议是否可用,应同时查看客户端说明、内核标识和配置加载结果。只比较应用名称,容易把界面功能与网络能力混为一谈。
原版 Clash 建立了规则、代理、策略组等配置结构,很多客户端沿用这些字段。Meta 分支在这一体系上扩展协议与网络能力,后来以 mihomo 名称继续维护。Clash Meta 与 mihomo 在资料中经常指向同一条演进路线,而不是两个完全独立、互不兼容的配置世界。名称变化也不意味着所有历史配置都能原样迁移,仍须按具体字段判断。
兼容不是字段名称相似
原版配置里的基础规则和部分代理类型通常容易迁移,但 Meta 扩展的协议、DNS 选项或传输设置,不能反向假定被原版识别。较旧客户端也可能绑定较旧的 mihomo 内核,因此“基于 mihomo”只是第一层条件。遇到未知代理类型、未知加密方式或不支持的传输参数,应先核对实际内核能力,而不是连续更换节点密码。
兼容性还分为语法通过与行为一致两层。配置能加载,只说明解析器接受了内容;某项字段若被客户端覆写,最终行为仍可能不同。例如订阅里设置了 DNS,客户端又应用全局 DNS 覆写;文件里关闭 TUN,界面却通过独立设置启用。比较两台设备时,应查看最终生效配置及日志,不能只对照下载到本地的原始文件。
| 层次 | 主要职责 | 核对位置 |
|---|---|---|
| 图形客户端 | 配置管理、系统代理、权限与界面 | 应用设置与配置覆写 |
| mihomo 内核 | 协议连接、规则匹配、DNS 与转发 | 内核信息与运行日志 |
| 操作系统 | 路由、证书信任、虚拟网卡与后台限制 | 网络设置与授权记录 |
升级与迁移的验证顺序
迁移时先保留原配置副本,只导入一份已知可用的配置。确认能加载,再选择一个手动策略组验证连接,最后逐项恢复规则集、自动选择、DNS 和 TUN。这样能够区分协议不受支持、配置引用缺失与系统路由问题。一次性导入多层覆写和多个远程资源,会让任何一个失败都表现为“客户端不能用”,却难以定位原因。
客户端与内核也有打包和运行环境的关系。随意把某个可执行文件替换进应用目录,可能破坏启动参数、权限服务或进程管理约定。优先使用客户端支持的更新入口;需要手动管理内核时,先了解配置路径、工作目录和日志位置。服务器使用独立内核与桌面使用图形客户端,是不同的维护方式,不能把操作步骤直接互换。
选择 Clash Plus、Clash Verge Rev 或 FlClash 时,先看系统支持与配置管理习惯,再看所需协议是否被当前构建支持。归档的 Clash for Windows、ClashX Meta 适合识别历史配置来源,不应仅因旧教程使用它们就作为新设备的默认选择。开源协议也要区分层次:mihomo 内核采用 GPL-3.0,并不意味着周边所有应用都自动使用相同许可证。
SS 与 VMess:加密与封装
Shadowsocks 的轻量结构
Shadowsocks 常缩写为 SS,核心思路是用预先约定的密钥和加密方法承载代理流量,基础形式不要求额外套一层 TLS。它的连接路径相对直接,部署与客户端支持也较广。这里的“轻量”描述的是协议结构,不代表任何 SS 节点都比其他协议更快。若服务端线路拥塞或设备加密性能较弱,协议头部较小也不能消除这些瓶颈。
配置 SS 时,加密方法必须与服务端完全一致。传统 AEAD 方法与 Shadowsocks 2022 系列不能只靠改一个名称互相转换,后者对密钥格式和长度有明确要求。服务端给出的密钥应作为完整配置的一部分保存,不能把普通口令随意填进要求特定编码密钥的字段。认证失败时,先对照方法、密钥及端口,而不是降低本地安全设置。
SS 的 TCP 与 UDP 转发需要分别确认。网页打开正常,不能证明实时语音或其他 UDP 应用也能通过该节点;服务端、防火墙和客户端出站设置都可能影响 UDP。若配置还使用插件,必须确认客户端与内核支持相应插件及选项。带插件的 SS 与基础 SS 已不是同一组连接条件,测试时应把插件造成的握手和封装开销单独考虑。
VMess 的认证与传输组合
VMess 来自 V2Ray 协议体系,将用户身份、会话认证与数据传输组织在协议内部。现代配置应使用服务端支持的 AEAD 方式;旧资料中的历史认证选项不宜直接套用。身份标识、加密设置与系统时间都可能影响连接,尤其是设备时间明显偏离时,应先校正时间。不要把所有认证错误都解释成网络质量差,重复测速无法修复错误身份。
VMess 可以组合不同传输方式。直接运行在 TCP 上,与外层使用 WebSocket 或其他受支持传输的配置,握手路径和中间设施要求不同。使用 WebSocket 时,路径、请求主机名以及 TLS 的服务器名称各自承担不同职责,即使它们在某个配置里恰好相同,也不能视为同一个字段。缺少其中一项,可能出现端口可连接但代理请求失败。
| 类型 | 优先核对 | 常见误判 |
|---|---|---|
| SS | 加密方法、密钥、插件、UDP 支持 | 把密钥格式问题当成线路问题 |
| VMess | 身份标识、认证方式、传输、时间 | 只复制地址与端口,遗漏传输参数 |
适用条件与比较方法
若已有维护正常、配置明确的 SS 服务,日常浏览不必仅因协议名称较早就更换。若现有服务体系使用 VMess,并依赖特定传输部署,也应优先保持客户端与服务端参数匹配。选型时真正需要回答的是能否稳定建立连接、是否满足 UDP 需求、配置是否容易维护,而不是把协议名称简单排成从旧到新的性能等级。
比较这两类协议时,应尽量使用同一设备、接近的服务端位置和相同应用请求。一次只修改协议或传输中的一个变量,分别记录首次连接、连续浏览和长连接表现。若两份配置分别来自不同线路,测试得到的通常是整条路径差异,无法归因于 SS 或 VMess 本身。尤其不要用单次网页测速截图作为协议效率的结论。
迁移旧订阅时,还要注意客户端可能将相似名称显示为不同标签。判断依据应是最终配置中的代理类型与参数,而不是节点备注里的“高速”“专线”等字样。遇到某个代理单独失败,先手动选择它并观察日志;若策略组自动回退到另一个代理,表面上的网页成功并不能证明原代理已经恢复。
Trojan 与 VLESS:TLS 与身份认证
Trojan 的 TLS 基础
Trojan 以 TLS 作为安全传输基础,在加密连接内部携带代理请求与认证信息。客户端通常需要服务器地址、端口、密码以及正确的服务器名称。TLS 负责保护传输并验证对端身份,Trojan 的密码负责服务授权,两者不是替代关系。因此,密码正确但证书校验失败,仍然不能视作一条已正确建立的连接。
服务器名称用于 TLS 握手中的名称协商与证书验证。连接地址可能是域名,也可能是 IP,但证书覆盖的名称必须与配置预期一致。域名解析结果变化不等于证书名称可以随意更改。若日志出现证书过期、名称不匹配或信任链异常,应核对系统时间、服务端证书和配置,而不是把跳过证书验证作为日常解决办法。
Trojan 也存在不同传输组合与实现扩展,不能因为两个节点都标记 Trojan 就假定字段完全一致。基础 TLS 连接与经额外传输封装的连接,对路径、主机名或中间服务的要求可能不同。导入配置后若只能完成握手却无法传递请求,应继续核对服务端所用传输类型,以及订阅转换是否保留相应选项。
VLESS 把安全交给外层
VLESS 的设计强调较简化的身份与请求封装,本身不提供与独立加密传输等价的保护,通常结合 TLS 或 REALITY 等机制使用。这里的“简化”不等于可以忽略传输安全。客户端中的身份标识只是认证要素之一,外层安全方式、传输网络与服务端配置仍需完整匹配。把一份配置的身份标识粘到另一份节点中,通常不能得到可用连接。
REALITY 与普通 TLS 配置的验证条件不同,涉及公钥、短标识、服务器名称等参数;这些值应由服务提供者给出,不能从域名或身份标识推导。某些 VLESS 配置还使用特定流控方式,流控字段与外层安全及传输组合有关。不是所有网络传输都适合填写相同流控值,盲目添加只会造成服务端与客户端理解不一致。
如何理解额外握手
TLS 通常会带来连接建立阶段的交互和计算,但这不代表使用 TLS 的协议在所有场景都更慢。连接复用、会话恢复、服务器处理能力与请求数量都会改变实际体验。反过来,封装层较少也不保证首次页面加载更快,因为域名解析、应用自身连接和远端服务响应可能占据更大比例。应按完整请求路径理解延迟,而不是数配置字段。
日常选择时,若服务端提供维护清晰的 Trojan 配置,且设备有完整证书信任环境,它通常容易按 TLS 错误类别排查。已有 VLESS 服务则应重点确认安全方式与传输参数是否被当前内核支持。两者之间没有脱离环境的固定优先级,稳定的部署、清楚的参数来源和可持续更新的客户端,比名称上的轻量或新旧更有价值。
出现桌面可用、移动端不可用的情况,应先比较最终配置,而不是立即归因于手机性能。移动端订阅转换可能丢失安全扩展,系统时间或证书环境也可能不同。先在两端使用同一份受支持配置,关闭自动切换干扰,确认实际选中的是同一代理。然后依次核对解析、握手、认证和请求传输,才能把协议差异与平台差异分开。
Hysteria2 与 TUIC:QUIC 传输
为什么使用 UDP 与 QUIC
Hysteria2 与 TUIC 都利用基于 UDP 的 QUIC 构建代理传输,但它们不是同一个协议,也不能共享认证字段后直接互换。QUIC 将可靠传输、拥塞控制和安全握手等能力组织在用户态实现中,能够在一条连接里承载多个流。它减少了不同流之间因传输层顺序交付产生的部分阻塞,但同一流内部仍需要处理丢包与数据顺序。
这种结构在部分高往返时延或存在丢包的路径上可能有优势,前提是网络允许稳定传递 UDP。若路径限制 UDP、映射维持不稳定或对相关流量施加严格速率限制,连接可能直接失败,也可能比 TCP 更不稳定。因此,看到 QUIC 不应立即理解成更快;应先确认基础可达性,再观察长时间传输中的丢包恢复与公平共享表现。
Hysteria2 的带宽与拥塞控制
Hysteria2 的设计关注不理想网络中的传输效率,配置可能涉及带宽提示、认证、TLS 与可选混淆。带宽值不是加速开关,也不是节点购买套餐的标称速率。它需要结合本地上行、下行和路径实际能力理解;过度乐观的设定可能增加排队、丢包及对同网络其他应用的影响。服务端也可能限制客户端所能使用的传输策略。
填写带宽参数前,应阅读当前实现对单位和默认行为的说明,不同界面可能将输入转换为内核字段。先使用服务提供者给出的合理配置,必要时再做受控调整。混淆密码与身份认证密码承担不同职责,不能混用;启用混淆后,服务端必须有相匹配设置。Hysteria 与 Hysteria2 也属于不同协议代际,名称相近并不代表配置可直接复用。
TUIC 的会话与转发设置
TUIC 同样基于 QUIC,常见配置涉及身份标识、密码、TLS 名称与应用层协议协商。拥塞控制、UDP 转发模式及连接存活设置会影响资源消耗与兼容性,但应以服务端支持为前提。尤其不要把其他内核配置中的字段逐字复制到 mihomo:同一概念在不同实现里可能有不同名称、默认值和支持范围,需要按目标格式转换。
| 检查项 | Hysteria2 | TUIC |
|---|---|---|
| 基础路径 | 需要 UDP 可达 | 需要 UDP 可达 |
| 认证配置 | 按服务端提供的认证方式填写 | 核对身份标识与密码 |
| 性能调整 | 关注带宽提示及服务端约束 | 关注拥塞控制与转发模式 |
| 共同边界 | 证书、安全设置、内核支持与网络条件均需满足 | |
移动网络与连接迁移
QUIC 具备支持连接迁移的机制,但代理连接能否在 Wi-Fi 与蜂窝网络之间平滑继续,还取决于客户端实现、服务端配置和操作系统。不能把协议能力等同于应用体验保证。切换网络后若出现短暂中断,应观察是否重新握手、旧连接是否结束及应用是否重试。对要求连续性的任务,实际切网测试比单次下载测试更重要。
此外,外层使用 UDP 不意味着其中所有业务都变成不可靠传输。浏览器的可靠字节流仍需要完整交付;代理承载业务 UDP 时则可能使用不同的转发组织方式。调试时应区分外层传输与内层业务:外层 UDP 不通会影响整条 QUIC 连接,而仅某个业务不通,还可能是服务端权限、目标限制或规则选择造成。
准备在移动端长期使用时,应补测待机、后台和弱信号状态。频繁保活可能维持映射,却也可能增加唤醒与无线电活跃时间;过于激进地关闭连接又会增加重连。没有适用于所有设备的固定参数组合。保留一条经验证的 TCP 类出站作为对照,遇到网络变化时能快速判断问题是否集中在 UDP 路径。
连接速度、资源与移动端电量
速度需要拆成不同阶段
“快”至少包含解析时间、首次建立连接、请求响应和持续吞吐四个维度。客户端显示的延迟测试,通常是按指定方式完成一次探测,并不等同于所有网站的加载时间。小文件浏览更敏感于往返时延与握手,长时间下载更受带宽、丢包恢复和拥塞影响。两条代理可能分别在不同指标上更好,因此不宜只用一个数值决定所有用途。
资源占用也不是协议名称的固定属性。加密实现、硬件指令支持、并发连接数、数据包大小和日志级别都会改变处理器负载。大量短连接可能把时间耗在握手及状态管理,持续大流量则更容易暴露加密、复制与网络栈开销。同一协议在电脑与低功耗手机上表现不同,往往反映的是设备和实现差异,而不只是协议设计本身。
电量主要花在哪里
移动端耗电同时受到处理器和无线网络状态影响。弱信号、频繁唤醒、密集心跳、反复重连及多个应用后台请求,都可能让无线电保持活跃。即使代理流量不大,长期频繁发送小包也可能产生明显消耗。反过来,较高的瞬时处理器占用若缩短了传输时间,整体能耗未必更高。因此不能把“处理器占用低”直接等同于省电。
TUN、DNS、规则集与策略组探测也属于客户端整体成本。将几十个代理设置为频繁自动测速,会把维护连接的负担叠加到协议本身。移动端先减少不必要的探测频率和后台任务,再比较协议更有意义。需要调试时可暂时提高日志详细程度,问题复现后恢复日常级别,避免把大量日志写入与界面刷新算成协议的固定开销。
建立可重复的对照测试
测试应固定设备、位置、接入网络、目标站点和使用任务,尽量在接近的时间交替验证两组配置。先完成小请求,再测试连续传输,最后观察实际应用。每轮只改变一个变量,例如只换协议,或只换 DNS 方案。不要在比较协议时同时打开 TUN、更换规则集并调整系统省电模式,否则即使体验改善,也无法知道是哪项改变起作用。
电量对照还应保持屏幕亮度、信号强度和后台应用接近,观察较长的实际使用区间。应用安装后的首次启动、系统索引或集中同步都可能制造短期波动。系统电池统计只能帮助定位趋势,不能直接推算每个协议的绝对能耗。若客户端处于后台时连接反复被系统回收,应先检查后台权限与省电限制,再考虑调整协议保活。
自动选择并非业务质量评价
自动测速策略组通常按特定探测目标和规则选择代理,探测目标可用不代表业务站点也可用。过短的切换周期可能让相近结果反复触发选择变化,既干扰长连接,也增加测试请求。排查期间应改用手动选择,确认一条连接的真实表现;稳定后再恢复自动策略,并使用合理的容差与间隔,减少没有实际收益的切换。
如果浏览正常而视频卡顿,先看目标连接实际命中的出站,再区分持续吞吐不足、服务端限制与应用缓存问题。如果下载快但打开页面慢,应检查解析与短连接握手。若只有切网时失败,则关注连接重建和系统路由恢复。按现象拆分后,协议比较才有明确目标;单纯不断更换名称,容易错过真正瓶颈。
关于首次连接的观察顺序,可结合节点选择、延迟测试与代理生效验证阅读。结论应限制在实际测试条件内:某协议在当前设备和网络表现合适,不等于它在全部平台都有相同优势。能够稳定复现、便于维护且满足应用需求,才是长期使用时更可靠的选择标准。
订阅格式与配置兼容性
订阅是入口,不是统一格式
订阅链接只是获取远程内容的地址,返回内容可能是完整 YAML 配置、节点链接集合,也可能是特定客户端的数据格式。链接能在浏览器打开,只能说明请求得到了响应,不代表内容适合 mihomo。返回登录页面、到期提示或其他结构时,客户端可能报解析失败。检查时应关注内容类型与错误摘要,不要把带授权信息的完整链接公开发送。
完整配置通常包含代理、策略组和规则,有时还引用远程规则集或代理提供者。节点集合则主要描述出站连接,不一定告诉客户端应如何分流。导入后只看到节点、不见预期策略组,可能是订阅类型不同,而不是节点丢失。使用 proxy-providers 时,主配置还需要正确引用提供者;远程内容获取成功,也不等于策略组已经使用其中代理。
转换可能丢失协议语义
不同生态的配置不能靠把文件扩展名改成 YAML 完成转换。身份认证、传输路径、TLS 名称、流控和协议扩展需要逐项映射,目标内核也必须支持这些能力。转换工具如果只认识基础协议,可能保留服务器地址却丢弃附加字段,形成“节点存在但不能连接”的状态。新协议与复杂传输组合尤其需要核对原始配置及转换结果。
完整配置与局部覆写的优先顺序也很重要。订阅更新可能替换远程文件,直接编辑缓存内容通常难以持久保存。需要增加规则时,优先使用客户端提供的覆写或合并入口,并确认它是在订阅更新后继续应用。若同时存在全局覆写、单配置覆写和内核默认值,应明确最终优先级,避免每次更新后都用不同设置进行测试。
先验证结构,再启用自动更新
首次导入后,先确认配置名称与来源,再检查代理类型、策略组引用及规则是否完整。手动选择一个代理验证后,才设置更新间隔和自动选择。更新失败时可沿着地址解析、请求连接、响应内容和配置解析四层排查。若旧配置仍能连接,应先保留它,避免为了重新导入而删除唯一可用的配置和诊断线索。
更新路径本身还可能依赖当前代理。例如某个远程提供者通过某策略获取,而该策略又依赖尚未更新成功的代理集合,就可能形成启动依赖问题。需要明确资源首次加载时可使用什么出站,以及是否有可用缓存。不要仅凭界面上的更新按钮转圈判断内核故障;查看失败的是主订阅、代理提供者还是规则提供者,处理方式各不相同。
以下片段只展示基础运行选项,可合并到已经包含有效出站、策略组与规则的配置中。它不是完整订阅,也不创建任何远程代理。调试时先保留明确的运行模式与日志级别,能减少界面设置与文件内容之间的歧义;如果客户端对这些字段实施覆写,仍以最终生效配置为准。
mode: rule
log-level: info
allow-lan: false
ipv6: false
多配置管理与恢复
多配置适合分开管理不同来源或测试方案,但一次应只激活清楚的一份。策略组的上次选择可能由客户端保存,切换配置后不能假设它自动回到预期代理。每次测试都应重新确认当前配置、模式和所选出站。涉及协议迁移时,给配置使用能够识别用途的名称,比把所有节点混在一起更容易比较和恢复。
更新成功后也要补做行为检查:新增规则可能改变应用出站,节点改名可能使原策略选择失效,远程资源引用也可能变化。保留可恢复副本,并了解客户端是否支持历史配置回退。关于文件、链接和更新的关系,可阅读Profile 与多配置管理;常见更新错误则可从FAQ继续查阅。
DNS、TUN 与流量入口
协议出站不等于应用流量已进入
代理协议解决的是客户端到服务端如何传输,系统代理和 TUN 解决的是应用流量如何进入客户端。这是两个不同层次。系统代理通常依赖应用遵守操作系统代理设置,部分应用会忽略它;TUN 通过虚拟网络接口和路由接管更广范围的流量。某个应用直连,不一定是节点协议不支持,也可能是它的流量根本没有经过内核。
同样,打开 TUN 不等于所有流量必然使用远程代理。进入内核后仍需经过规则判断,命中直连规则的请求会直接出站。检查时应把入口、规则和出站分开:先找连接记录,再看命中的规则与策略组,最后确认具体代理。若连接记录完全没有目标应用,应先处理入口与权限,而不是修改远端协议的认证参数。
Fake-IP 与真实地址解析
Fake-IP 模式通过为域名返回虚拟地址,保留域名与连接之间的映射,让内核在后续处理流量时能够知道目标名称。它不是远程代理服务器,也不会自动改变出站策略。redir-host 则更接近返回实际解析地址的方式,两者对域名识别、缓存和应用兼容性的影响不同。选择哪种模式应结合应用行为与当前规则需求,而非只看名称。
一些设备发现、局域网服务或特定应用可能依赖真实解析结果,这时可考虑使用 fake-ip-filter 进行有针对性的排除。过滤不应演变成把所有域名都排除,否则会改变原本使用 Fake-IP 的目的。调整模式后,系统、浏览器和应用可能保留旧缓存,需要按实际情况清理或重启相关应用,避免新旧解析结果交织造成误判。
解析链路与启动依赖
连接代理服务器本身也可能需要 DNS。如果解析服务器地址必须先经过尚未建立的代理,就会出现启动依赖。加密 DNS 上游的主机名解析、代理节点域名解析及普通业务域名解析,也可能由不同配置项处理。排查时明确失败的域名属于哪一层,再检查对应解析路径;不要把所有解析问题都归结为一个统一的 DNS 开关。
IPv6 是另一条独立检查线。系统可能优先使用 IPv6,而代理入口、规则或远端支持并不完整,导致部分站点出现等待与回退。关闭某项 IPv6 设置可以帮助缩小问题范围,但不是所有场景的永久答案。需要检查系统地址、路由、DNS 返回记录和代理服务端能力是否一致,确保测试确实覆盖了实际使用的地址族。
规则顺序与平台差异
规则通常自上而下匹配,首个命中项决定后续策略。因此测试节点时,应确认请求没有被较前面的直连规则接走。进程规则、域名规则与地址规则所依赖的信息不同,平台可提供的进程信息也可能有限。域名尚未识别、解析路径改变或连接已被缓存,都会让观察结果与预期不同,不能仅靠交换两条规则就假定问题已经消失。
桌面启用 TUN 可能涉及服务权限、虚拟网卡和路由;移动端通常需要系统 VPN 授权,并受后台管理影响。多个网络工具同时运行时,还可能竞争系统代理、DNS 或默认路由。测试应暂时只保留一个负责接管流量的工具,记录原有设置后逐项恢复。Windows 商店应用的特定回环问题,可参阅UWP 回环豁免说明。
这些入口与解析因素解释了为什么更换协议后偶尔看似恢复:切换操作可能同时重建连接、刷新缓存或重启网络栈,并非协议本身修复了 DNS。要建立可靠结论,应在不更换协议的前提下单独重载相关设置,观察能否复现同样变化。只有把层次分开,才能判断应修改节点、规则、解析还是系统权限。
按场景选型与分层排查
从约束条件确定候选范围
桌面日常浏览优先选择参数完整、服务稳定且易于维护的出站。已有可用 SS、VMess 或 Trojan 服务时,不必只为追求更新的名称迁移。需要特定 VLESS 安全组合时,先确认当前内核和订阅转换链路支持。选择图形客户端可从 Clash Plus 开始,再按系统支持、配置管理和实际功能需求,比较下载页列出的其他客户端。
移动端通勤需要同时考虑切网、后台和电量。先选择一条能够在常用 Wi-Fi 与蜂窝网络上稳定连接的配置,再观察待机与重连。如果当前网络的 UDP 表现不可靠,Hysteria2 或 TUIC 就不宜作为唯一候选;若高时延与丢包明显且 UDP 稳定,可以把它们加入对照。结论应来自日常路线上实际应用的表现,而不是短时间实验室式测速。
大文件传输关注持续吞吐、服务器限额与网络共享,实时语音则更关注抖动、丢包和业务 UDP 是否真正可用。服务器或路由器还需考虑处理器架构、内存、日志保留和自动启动,通常直接管理 mihomo 内核更合适。桌面图形客户端的某个便利选项不能默认存在于独立内核中,部署前应明确谁负责生成配置和恢复服务。
| 场景 | 优先条件 | 验证任务 |
|---|---|---|
| 日常浏览 | 稳定握手、解析清晰、配置完整 | 连续打开多个真实业务页面 |
| 移动切网 | 重连可靠、后台正常、能耗合理 | 切换接入网络并观察恢复 |
| 实时应用 | 业务 UDP 可用、抖动可接受 | 实际通话或互动会话 |
| 长时间传输 | 持续吞吐、资源与限额可控 | 在共享网络中持续传输 |
按连接阶段缩小故障范围
第一层检查配置是否加载。未知字段、代理类型错误或策略组引用不存在,应先修正结构;这种情况还没有进入网络连接阶段。第二层检查服务器地址能否解析,以及目标端口是否具备相应传输可达性。TCP 端口探测成功不能证明 UDP 可用,也不能证明 TLS、协议认证和实际代理请求成功,需要继续向后验证。
第三层检查安全握手与认证。证书错误核对时间、名称及信任链,认证错误核对密码、身份标识、密钥格式和协议代际。第四层检查业务转发:查看请求命中的规则、策略组和最终出站,区分全部目标失败与单一目标失败。若只有部分业务异常,再考虑 DNS、地址族、服务端权限或目标应用特性,不要重新从头更换所有配置。
保留最小复现与恢复路径
排查期间使用一份可恢复配置、一个手动策略和一个明确目标,暂时减少自动选择及复杂覆写。记录每次更改和结果,失败后能回到前一个状态。调试日志可以帮助识别阶段,但分享前应删去订阅地址、认证内容与敏感目标信息。公开问题描述保留客户端名称、内核标识、操作系统、协议类型和错误类别,通常已经足够开展初步判断。
如果两种协议都在同一时间变差,应先检查本地接入、服务端状态与公共依赖;如果只有一种失败,再比较它特有的传输与认证要求。若同一配置在另一台设备正常,优先检查本机时间、证书、权限和最终覆写。若更换接入网络后恢复,则重点调查原路径条件。这样的交叉验证比连续刷新订阅更能产生可解释的结果。
完成调整后,不要只验证一个网页。重新检查日常应用、业务 UDP、休眠恢复和网络切换,确认系统代理或 TUN 关闭后也能恢复预期网络状态。最后恢复合适的日志级别、更新间隔和自动策略,清理临时测试配置。长期维护的目标不是保留最多参数,而是能够说明每项设置的用途,并在出现问题时知道从哪一层开始检查。