配置字段 / 概念边界 / 排查线索
Clash 术语手册
从界面设置到内核字段,按六类查阅 24 个常用术语。先区分流量怎样进入客户端,再判断规则怎样选择出站,最后检查 DNS 与订阅配置。
- 六类术语
- 字段对照
- 独立锚点可分享
执行层与操作界面
内核与客户端
客户端负责管理入口,内核负责处理连接。排查问题时,应记录两者的名称,而不是只看窗口标题。
- Clash 客户端#
- 客户端提供订阅导入、策略组选择、日志查看与代理开关等界面,实际连接通常由内核处理。同一内核可以搭配不同客户端,界面中的选项名称和配置合并方式也可能不同。遇到某个字段不生效时,既要检查内核是否支持,也要确认客户端是否把该字段写进最终运行配置。
- mihomo 内核#
- mihomo 是从 Clash Meta 发展而来的代理内核,负责协议连接、规则匹配、DNS 处理和 TUN 等能力。客户端界面中出现 Clash 字样,不代表运行的就是同一种内核。配置中的协议类型、规则语法和实验性选项,应以当前实际运行的内核文档及启动日志为准。
- 节点#
- 节点通常指一个可选的远端代理出站,包含协议类型、服务器地址、端口及认证参数。安装客户端只获得连接工具,节点需要由可用配置或订阅提供。节点名称只是显示标签,不足以证明线路所在地、带宽或可用性;判断连接问题时应检查实际参数与错误日志。
- 延迟测试#
- 延迟是按指定测试目标与方法测得的响应耗时,不等于下载速度,也不一定是单纯的网络往返时间。不同客户端可能采用不同测试地址,结果不宜直接横向比较。出现超时时,可能是测试目标不可达、节点连接失败或解析异常,应结合真实网站访问与日志继续定位。
本地入口与远端传输
代理协议
本地应用连接的代理入口,与客户端连接远端服务器使用的协议,属于不同层次。
- HTTP 代理#
- HTTP 代理让应用向代理入口发送请求,HTTPS 连接通常通过 CONNECT 方法建立隧道。应用填写本地 HTTP 代理地址,不代表远端节点也使用 HTTP 协议。HTTP 代理自身不会让所有传输自动加密,目标网站的 HTTPS、本地入口传输与远端节点加密需要分别理解。
- SOCKS5#
- SOCKS5 用于向代理入口提交目标地址与连接请求,常见于浏览器、开发工具和命令行程序的代理设置。协议可以承载 TCP,并定义了 UDP 转发方式,但实际 UDP 可用性还取决于应用、客户端及远端链路。域名在本地还是代理侧解析,也要按具体应用的选项确认。
- Shadowsocks#
- Shadowsocks 是一种远端代理协议,配置需要与服务器的加密方法和认证参数匹配。仅有服务器地址与端口,通常不足以建立有效连接;附加插件等要求也应与服务端保持一致。导入后无法连接时,先确认内核支持相应方法,再检查参数,而不是直接归因于规则模式。
- TLS#
- TLS 用于保护传输连接并验证服务器身份,常见于多种代理协议的外层传输。SNI 是握手时传递的服务器名称信息,证书验证还会检查名称匹配与证书信任关系。遇到握手失败,应检查系统时间、服务器名称和证书链,不宜把跳过证书验证当作常规修复方案。
连接进入内核之后
规则与分流
规则回答“交给哪个出站”,策略组回答“当前选了哪个节点”。两者需要配合检查。
- 规则分流#
- 规则模式按
rules从上到下检查连接,通常由第一条命中的规则决定出站。例如DOMAIN-SUFFIX,example.com,PROXY把该域名及其子域交给 PROXY,末尾的MATCH,PROXY接收前面未命中的连接。宽泛规则若放得过早,后面的细分规则可能没有机会生效。
- 策略组#
- 策略组把多个出站组织成一个可被规则引用的名称,配置入口是
proxy-groups。select组用于手动选择,url-test组依据指定地址的测试结果自动选择;自动测试不等于对所有网站都选择最快线路。规则指向某个组时,应继续查看组内当前选项,不能只停留在规则名称。
- GeoIP#
- GeoIP 依据 IP 地理分类数据库匹配目标地址,常用于把特定地区的地址交给指定出站。它与按域名分类的 GeoSite 不同,也不能单独判断网站的经营主体或服务内容。域名连接命中 IP 规则时可能需要先解析,因此数据库状态、解析结果和规则顺序都会影响最终匹配。
- 规则集#
- 规则集把一批域名、IP 网段或完整匹配条件独立维护,通过
rule-providers加载,再由RULE-SET规则引用。声明的行为类型和文件格式必须与实际内容一致,文件下载成功也不代表规则已经被主配置使用。排查时应依次检查加载日志、引用名称、出站名称和规则排列位置。
接管方式与出站模式
网络模式
系统代理与 TUN 是流量入口方式,规则与全局是出站选择方式。开启其中一个,不会自动替代另一个。
- 系统代理#
- 系统代理在操作系统中登记本地代理地址,让遵循该设置的应用把请求发送到客户端监听端口。部分游戏、命令行程序或自带网络设置的应用可能不使用它,因此开关已开启不代表所有连接都被接管。退出客户端后若网页无法访问,应检查系统是否仍保留了指向已关闭端口的代理设置。
- TUN 模式#
- TUN 借助虚拟网络接口与路由规则接收流量,可覆盖一部分不遵循系统代理的程序。它通常需要相应权限或服务组件,接管范围还受路由排除项、网络环境与客户端实现影响。启用后如与其他 VPN 冲突,应先检查默认路由及 DNS,而不是同时反复切换多个接管工具。
- 全局模式#
- 全局模式把进入内核的连接交给 GLOBAL 当前选择的出站,不再按常规
rules分流。它改变的是出站选择逻辑,不会自动让原本绕过客户端的程序进入代理。临时对比规则问题时可以使用全局模式,但仍需确认 GLOBAL 所选项目;切换回规则模式后再检查原有匹配结果。
- 混合端口#
- 混合端口在同一监听端口接收 HTTP 与 SOCKS 代理请求,字段为
mixed-port。7890 是常见示例值,不是所有客户端都固定使用的端口,应用手动配置时应读取当前生效值。局域网其他设备能否连接,还取决于监听地址、allow-lan与防火墙,不能只修改端口号。
域名、地址与解析链路
DNS 与解析
DNS 负责获取地址,分流规则负责选择连接出站。能打开网站,并不足以说明解析路径符合预期。
- DNS 解析#
- DNS 把域名转换为 IP 地址等记录,应用通常在连接目标前进行查询。系统、浏览器与内核可能分别维护缓存或选择不同解析器,所以更换一处 DNS 不一定影响全部应用。排查解析问题时,应区分目标域名解析、代理服务器域名解析,以及解析器自身建立连接所需的地址获取过程。
- Fake-IP#
- Fake-IP 为域名分配映射地址,应用连接该地址时,内核可恢复域名信息并据此处理分流。日志中看到的映射地址不是网站服务器的真实地址,也不应直接拿来判断节点所在地。某些依赖真实解析结果的应用可能需要例外处理,应按具体域名设置过滤,避免直接把全部域名排除。
- DNS 泄漏#
- DNS 泄漏指解析请求偏离预期路径,例如希望经内核处理的查询仍发送给其他解析器。检测页显示的解析器可能使用转发或任播,不能只凭名称或地区直接下结论。应结合系统 DNS、浏览器加密 DNS、TUN 劫持设置及实际日志判断;仅开启 Fake-IP 不能证明全部解析请求都已受控。
- nameserver-policy#
nameserver-policy按域名匹配条件指定 DNS 上游,用于让不同域名使用不同解析器。它决定向谁查询,并不直接代替rules决定业务连接从哪个节点发出。修改后还应检查匹配语法、解析器连接路径与旧缓存,不能把缓存中的旧答案误判为新配置没有加载。
配置来源与最终生效内容
订阅与配置
订阅更新、本地编辑和客户端覆写可能同时存在。定位设置问题时,以最终送入内核的配置为准。
- 订阅#
- 订阅通过链接分发节点列表或完整配置,内容范围取决于提供方及客户端的导入方式。更新成功通常只说明内容已取得,还需要确认当前配置已启用、策略组存在且选中了可用出站。订阅链接往往带有访问凭据,分享日志或截图时应隐藏链接及认证信息,避免把它当作普通公开网址传播。
- YAML#
- YAML 是 Clash 配置常用的结构化文本格式,通过缩进表达映射和列表层级。编辑时应保持空格缩进一致,不用制表符代替层级空格;包含特殊符号的字符串需要注意引号。语法检查通过只说明文件结构可解析,不代表字段名称、节点引用和当前内核的支持范围都正确。
- 覆写#
- 覆写把本地 DNS、规则或其他偏好保存在订阅原始内容之外,再由客户端合并生成运行配置。它适合保留不希望在订阅更新后丢失的设置,但不同客户端的合并顺序与数组处理方式并不相同。发现规则重复、字段消失或顺序变化时,应查看最终配置,不要只比较订阅文件和覆写文件各自的内容。
- proxy-providers#
proxy-providers按来源加载一组节点,可由策略组通过use引用,便于把节点更新与主配置管理分开。它加载的是代理出站,不同于加载匹配条件的rule-providers。来源文件格式、引用名称和更新状态都需要核对;仅声明提供器而没有在可用策略组中引用,未必会出现在预期的选择位置。