Clash
Clash 最初指规则驱动的代理内核,如今也常被用于指代围绕其配置格式形成的客户端生态。客户端之间的内核、协议支持和维护状态可能不同,不能只凭名称判断功能。查阅教程时,应同时确认客户端名称与实际运行的内核。
客户端负责操作,内核处理连接;协议、规则与 DNS 分别回答不同的问题。
本页按配置涉及的五个层次整理 25 个术语。每条说明概念的含义、使用边界及容易混淆的地方。阅读时可先定位配置中的关键词,再回到具体设置核对;不同客户端的界面名称与功能支持可能有所区别。
需要按步骤完成连接,可查看Clash 使用教程;涉及平台权限、安装与 TUN 设置时,可查阅全平台指南。下列术语标题均带独立锚点,可通过地址栏分享具体条目。
先区分界面、执行程序与系统入口,再判断设置应在哪里修改。
Clash 最初指规则驱动的代理内核,如今也常被用于指代围绕其配置格式形成的客户端生态。客户端之间的内核、协议支持和维护状态可能不同,不能只凭名称判断功能。查阅教程时,应同时确认客户端名称与实际运行的内核。
mihomo 是从 Clash Meta 演进而来的开源代理内核,承担连接处理、规则匹配和 DNS 等工作。它不是某个桌面界面的别名,同一内核可以被不同客户端集成。配置字段是否可用,应以正在运行的内核版本及其文档为准。
客户端通常指带图形界面的应用,负责订阅管理、策略选择、日志展示及系统设置。界面提供的开关不等于内核的全部能力,部分配置还需要通过配置文件或覆写功能设置。更新客户端和更新其内置内核,也不一定是同一次操作。
代理内核是实际接收连接并执行配置的程序,图形客户端通常通过控制接口与它通信。订阅导入成功只说明客户端取得了配置,不代表内核已成功加载。遇到启动失败时,应查看配置解析和端口监听日志,而不是只检查界面的连接按钮。
系统代理向操作系统登记 HTTP 或 SOCKS 等代理入口,遵循该设置的应用才会把连接交给客户端。部分游戏、命令行程序或自带网络栈的应用可能忽略它。浏览器可以访问而其他应用失败时,应先区分接管范围,再判断是否需要 TUN。
协议决定客户端如何与服务端通信,不直接代表线路质量。下列参数均需与服务端对应。
Shadowsocks 是一种加密代理协议,节点配置通常包含服务器地址、端口、加密方法和密码。客户端与服务端需要使用相互兼容的参数;部分扩展还依赖额外选项。协议名称只描述连接方式,不能据此推断节点的速度、稳定性或运营方可信度。
VMess 是代理协议之一,配置通常涉及服务器、端口、用户标识和传输方式。WebSocket、TLS 等参数属于连接组合的一部分,需要与服务端对应。连接失败时还应检查系统时间,不能仅因节点名称相同就认为两份配置等价。
VLESS 是一种轻量代理协议,通常与 TLS 或 REALITY 等安全机制配合使用。用户标识、传输方式及安全参数必须与服务端匹配,单有服务器地址不足以建立连接。它与 VMess 不是同一协议,导入配置时不能只改类型字段进行替换。
Trojan 通常通过 TLS 承载代理连接,配置需要服务器地址、端口、密码以及相关 TLS 参数。服务器名称与证书验证会影响连接能否建立,IP 地址和证书域名也可能不同。遇到证书错误,应核对名称、时间及服务端设置,不宜直接跳过验证。
Hysteria 2 是基于 QUIC 的代理协议,底层使用 UDP,对网络是否允许 UDP 通信有要求。认证、TLS 及带宽相关参数需要结合服务端和实际网络配置。Hysteria 与 Hysteria 2 并非可以直接互换的协议,客户端也需要具备对应支持。
连接进入内核之后,由匹配条件、规则顺序与目标策略共同决定去向。
规则分流按域名、目标 IP、进程等条件,把连接交给指定策略处理。规则通常自上而下匹配,先命中的条目决定去向,因此具体规则应放在宽泛规则之前。它不同于全局模式:同一时间可以有连接直连,也可以有连接经过不同代理。
策略组把多个节点或其他策略组织成一个可被规则引用的目标。手动选择、连通性测试和故障转移属于不同组类型,选择逻辑并不相同。规则引用组名后,更换组内节点通常不必重写规则,但组名需要与配置中的引用保持一致。
GeoIP 根据数据库对目标 IP 进行地区或其他集合归类,可用于 GEOIP 类型规则。数据库结果不等于网站所属国家,也不能准确说明 CDN 后面的内容来源。涉及需要域名解析的匹配时,还应关注 no-resolve 参数及规则顺序对解析行为的影响。
GeoSite 是按类别组织的域名数据,可用于把同类站点交给统一策略。分类名称及覆盖范围取决于采用的数据源,并非所有数据库都提供相同集合。命中异常时,应核对实际加载的数据、类别名称和更靠前的规则,而不是只修改策略组。
MATCH 是接住剩余连接的兜底规则,通常放在规则列表末尾。它后面写的是目标策略,例如 DIRECT 或已定义的策略组名称。若把 MATCH 放在前面,后续规则通常没有匹配机会;兜底走代理也不意味着整个配置处于全局模式。
域名如何解析、流量如何进入内核,是两条相互关联但不能混同的路径。
DNS 将域名解析为 IP 等记录,是建立多数网络连接前的重要环节。系统、浏览器和代理内核可能分别使用自己的解析路径,修改其中一处未必影响其他位置。排查解析问题时,应先确认请求由谁发起、交给哪个解析器,以及解析器连接走哪条线路。
Fake-IP 模式向应用返回虚拟地址,并由内核保存域名与虚拟地址之间的映射。应用连接该地址时,内核可恢复域名信息,再执行分流和代理处理。它不代表目标网站的真实 IP;遇到依赖真实解析结果的应用时,可结合例外域名和日志逐项排查。
TUN 模式通过虚拟网络接口和路由设置,让更多应用的 IP 流量进入代理内核。创建接口、修改路由往往需要额外权限,接管范围还受路由排除及平台实现影响。它与全局模式不是同一概念:TUN 接管的连接仍可以按规则直连或走代理。
DNS 泄漏指解析请求没有遵循预期的网络路径,例如本应经代理处理却直接发给本地网络解析器。测试页面显示某个解析服务商,不足以单独证明请求的完整路径。应结合系统 DNS、浏览器安全 DNS、内核配置与连接日志判断,并在调整后重新测试。
DoH 即 DNS over HTTPS,通过 HTTPS 传输 DNS 查询,改变的是解析请求的传输方式。它不会自动保证查询经过代理,也不能替代对路由和解析策略的配置。使用域名形式的 DoH 地址时,还需考虑该解析器域名最初由谁解析,避免形成解析依赖循环。
从取得配置到实际生效,中间还包括解析、加载、策略选择与连接验证。
订阅通常指一个可定期获取节点或完整配置的地址,返回内容由提供方决定。节点订阅与完整配置并不等价,后者还可能包含策略组、规则和 DNS 设置。订阅地址可能承载访问凭据,分享日志或截图前应遮盖;更新后也要检查本地修改是否被覆盖。
节点是一组连接到代理服务端所需的参数,常包含地址、端口、协议和认证信息。列表中的名称只是便于识别的标签,不一定对应服务器的实际位置。节点能被导入不代表服务可用,还需要通过连通性测试,并确认策略组实际选中了它。
客户端显示的节点延迟,通常是通过该节点请求测试地址所得的耗时,并不一定是 ICMP ping。测试目标、超时设置及连接复用方式都会影响结果,因此不同客户端的数字未必可直接比较。较低延迟也不等于较高下载速度,仍需验证实际服务的访问表现。
YAML 是 Clash 生态常用的配置文本格式,依靠缩进表示层级,用短横线表示列表项。编辑时应使用空格而不是制表符,并注意冒号、引号和同级字段的对齐。语法正确不代表配置有效,策略名称不存在或字段不被内核支持,也会造成加载或运行问题。
配置档案是客户端保存和切换配置的管理单位,可以来自本地文件或远程订阅。列表里存在多个档案时,通常只有被激活的那份参与当前运行,编辑其他档案不会立即改变连接。部分客户端还会叠加覆写或合并设置,排查时应查看最终生效配置,而非只看原始文件。