客户端
把客户端理解为操作入口:导入订阅、切换策略、查看日志和开启系统代理,通常都在客户端界面中完成。实际解析配置和转发连接的任务由内核承担,因此同一内核可以配合不同界面使用。按教程寻找开关时,先核对客户端名称;界面布局不同,不一定意味着缺少同一项能力。
内核与客户端
界面能导入配置,不代表内核支持其中所有字段。排查前先确认客户端名称、实际使用的内核,以及流量进入内核的方式。
把客户端理解为操作入口:导入订阅、切换策略、查看日志和开启系统代理,通常都在客户端界面中完成。实际解析配置和转发连接的任务由内核承担,因此同一内核可以配合不同界面使用。按教程寻找开关时,先核对客户端名称;界面布局不同,不一定意味着缺少同一项能力。
把 mihomo 理解为处理网络连接的核心程序:读取配置,执行 DNS 解析,匹配规则,再建立直连或代理连接。它延续了 Clash Meta 的技术路线,既能被图形客户端调用,也能独立运行。遇到字段不支持或协议无法识别时,应检查实际运行的内核,而不只看客户端的更新日期。
在旧文档中,Clash Meta 通常指 Clash 生态中的一个内核分支,其历史命名与现今的 mihomo 相关。部分客户端、订阅类型和教程仍沿用 Meta 字样,不能据此认定它们是同一个应用。阅读旧配置时,应对照当前内核文档确认字段含义,尤其留意 DNS、TUN 和新协议的参数差异。
开启系统代理,是把操作系统中的代理入口指向客户端监听的本机地址和端口。遵循该设置的浏览器及应用会交出连接,但自行联网的程序、部分终端工具或游戏未必采用它。若浏览器可用而其他应用不通,先检查该应用是否支持代理设置,再判断是否需要 TUN 接管。
把延迟看作一次指定测试的耗时,而不是节点速度评分。测试地址、连接建立方式、超时阈值和当时的网络拥塞都会影响结果,不同客户端的数值未必可以直接比较。低延迟也可能伴随低带宽或丢包,实际使用仍应检查目标网站连接、持续传输与稳定性。
代理协议
协议名称只是连接配置的一部分。认证信息、传输方式、TLS 与服务器参数需要一起对应,单看节点名称无法判断兼容性。
这是使用加密方法和认证信息建立连接的代理协议,常见配置包含服务器地址、端口、加密方法与密码。客户端与服务端必须支持同一方法,仅有协议名称一致还不够。若订阅可以导入但连接失败,应核对方法与参数是否完整,并确认当前内核是否支持该配置采用的扩展。
这是使用用户标识等参数进行认证的代理协议,连接还可能搭配 WebSocket、gRPC 和 TLS 等传输设置。用户标识正确,但路径或主机名不一致时,依然可能无法建立连接。转换订阅后出现单个节点失效,应检查这些配套字段是否被保留,而不是只对照服务器地址。
这是轻量代理协议,实际部署通常结合 TLS 或 REALITY 等机制提供传输保护。配置中的用户标识、传输方式以及可能出现的 flow 字段,需要与服务端保持一致。不要因为它与 VMess 都使用用户标识,就直接替换协议类型;遇到兼容问题应检查整组参数和内核支持情况。
这是通常通过 TLS 传输、使用密码认证的代理协议,证书与服务器名称也是连接过程中的重要条件。即使地址和密码正确,设备时间异常、证书过期或服务器名称不匹配也可能导致失败。遇到 TLS 报错时,先核对时间与名称配置,不要直接跳过证书验证来掩盖问题。
这是基于 QUIC 的代理协议,底层依赖 UDP,因此所在网络是否允许相关 UDP 通信会直接影响可用性。它与早期 Hysteria 的配置不能简单视为等价,导入时应确认协议类型及认证字段。某个网络可用、换网络后超时时,除了检查服务端,也应检查 UDP 限制和带宽配置。
规则与分流
先确认连接已被接管,再看它命中了哪条规则。下方语法中的 PROXY 是示例策略名称,使用时必须在实际配置中存在。
在规则模式下,内核按配置中的顺序检查连接,通常由首条命中的规则决定使用哪个出口。规则可以按域名、目标 IP 或其他条件区分流量,但不能接管原本没有进入内核的请求。调整分流前先查看连接详情中的命中规则,再修改对应条目,避免只凭网站是否打开推断规则是否有效。
用它匹配指定域名及其子域名,例如 DOMAIN-SUFFIX,github.com,PROXY 可覆盖该域名和对应子域名。它匹配的是域名后缀,不是整段网址,也不检查网页路径。添加规则时不要写入协议头或斜杠,并确保这条规则位于会抢先命中的宽泛规则之前。
用 IP 地理归属数据库判断目标地址所属地区,例如 GEOIP,CN,DIRECT 将命中对应归属的地址交给直连。数据库归属不等于网站经营者所在地,内容分发网络和地址更新也可能影响判断。规则可能涉及域名解析;若同一域名时而走不同出口,应同时检查解析结果、数据库和规则顺序。
把它放在规则末尾,用来处理前面的条目都未命中的连接,例如 MATCH,PROXY。它不附加域名或 IP 条件,若写得过早,后续规则通常就没有机会参与匹配。兜底策略需要按实际需求选择;设置为代理,并不意味着已经进入直连规则的连接也会改走代理。
把多个节点或其他策略放进一个具名集合,规则就可以引用这个名称,而不用绑定单一服务器。常见类型包括手动选择、自动测试和故障切换,各自的切换逻辑不同。若规则已经命中正确策略组但出口不符,应继续检查组内当前选择与嵌套关系,而不是重复添加相同规则。
DNS 与网络栈
域名如何得到地址,与后续连接如何离开设备,是两个相关但不同的问题。排查时分别记录解析器、解析结果和连接出口。
DNS 用来把域名查询为 IP 地址等记录,应用通常先获得解析结果,再发起目标连接。操作系统、浏览器和内核都可能参与解析,因此修改客户端的 DNS 不一定影响所有应用。遇到域名打不开时,应先检查请求实际交给了哪个解析器,再区分解析失败与拿到地址后连接失败。
开启这种 DNS 工作方式后,内核向应用返回合成地址,并维护该地址与原始域名之间的映射。后续流量回到内核时,可借助映射识别域名,再按配置处理;合成地址不是代理服务器地址。少数应用依赖真实解析结果,出现兼容问题时可检查过滤列表,不必立即重写整套 DNS 配置。
通过虚拟网络接口和路由配置,把符合接管条件的 IP 流量送入内核,适合部分不遵循系统代理的应用。开启它通常需要系统权限,也可能与其他 VPN、虚拟网卡或路由设置发生冲突。TUN 只改变流量进入内核的方式,之后仍按当前模式与规则选择出口,不等于全部连接都走代理。
当预期由指定解析路径处理的查询,经其他路径发出并暴露查询信息时,通常称为 DNS 泄漏。检测页面显示某个运营商或地区,不能单独证明泄漏,因为解析器位置和连接出口本来就可能不同。先明确希望哪些请求走哪条路径,再检查浏览器安全 DNS、系统解析与内核设置是否一致。
在客户端配置语境中,这通常指把符合条件的 DNS 请求重定向给内核的解析模块,而非指网络攻击。TUN 配置中的 dns-hijack 可用于这类接管,但实际覆盖范围取决于平台、路由与请求方式。应用自行使用的加密 DNS 未必会被同样接管,应结合应用设置和连接记录判断。
订阅与配置文件
文件能下载,不代表内容可以直接运行。先确认订阅提供的是节点集合还是完整配置,再检查字段、引用关系和更新方式。
订阅是获取和更新节点或完整配置的远程内容入口,不是一种固定文件格式。返回内容可能是 YAML、Base64 编码的节点列表或多条 URI,能否直接导入取决于客户端支持。订阅地址常包含访问凭据,应像账号信息一样保管;排查时不要把完整链接贴到公开日志、截图或在线转换页面。
节点是一组连接代理服务器所需的参数,通常包含协议、服务器地址、端口、认证信息和传输设置。列表中的显示名称主要用于识别,不能据此确认服务器实际位置、线路质量或带宽。某个节点失败时,先测试同一配置中的其他节点,再判断是单条连接参数问题,还是本机接管或基础网络异常。
这是 Clash 配置常用的结构化文本格式,依靠空格缩进表达层级,并用列表和键值对组织数据。编辑时应保持缩进一致,不要用制表符代替缩进,也要留意冒号后的空格和特殊字符。文件符合 YAML 语法只代表能被解析,字段是否有效、策略名称是否存在,仍需由内核进一步检查。
用这个配置字段把节点集合与主配置分开管理,内核可以按指定来源加载或更新节点数据。它提供的是可引用的节点来源,通常还需要在策略组中通过 use 等字段引用。下载成功但组内看不到节点时,先检查引用名称、内容格式和过滤条件,不要把节点集合文件直接当完整配置运行。
用它声明外部规则集合,再在规则列表中通过 RULE-SET 引用,便于把较长的域名或地址规则独立更新。集合的内容类型与格式需要和声明一致,引用时还要指定有效策略。规则集内部内容正确,也可能因引用位置太靠后而不生效,应同时检查更新日志与主规则的匹配顺序。