mihomo
代理内核负责代理协议处理、DNS、规则匹配与连接转发的核心程序,Clash Nyanpasu 则提供配置管理和图形界面。界面出现某个设置项,不代表当前运行内核一定支持对应字段,仍需确认内核能力。排查时应分别记录客户端版本、内核类型与生效配置,避免只凭客户端名称判断行为。
REFERENCE / CLASH TERMINOLOGY
从界面名称定位配置概念。按内核、字段、规则、网络与客户端五类查阅,区分配置来源、运行参数和请求处理路径。
首次配置可先读 快速上手;需要完整字段与 YAML 示例时,转到 YAML 手册。本页解释概念边界,不将某个开关的状态等同于实际连接结果。
TERMS / 01
客户端负责配置管理与界面操作,内核负责执行网络逻辑。应用接入本地代理所用的协议,与节点连接远端服务器所用的协议,不必相同。
负责代理协议处理、DNS、规则匹配与连接转发的核心程序,Clash Nyanpasu 则提供配置管理和图形界面。界面出现某个设置项,不代表当前运行内核一定支持对应字段,仍需确认内核能力。排查时应分别记录客户端版本、内核类型与生效配置,避免只凭客户端名称判断行为。
一条节点配置描述远端服务器地址、端口、协议及认证参数,通常位于 proxies 或代理集合中。节点不等于订阅:前者是连接定义,后者是配置分发方式。导入节点后,请求仍需经过模式、规则和策略组选择,不能仅凭节点存在就判断流量已经经过该出口。
应用显式连接代理接口,并提交请求或通过 CONNECT 建立隧道。这里的 HTTP 描述应用与本地代理的交互方式,不表示远端节点只能处理网页,也不表示所有链路都使用明文传输。配置应用时应填写本机实际监听地址和端口,HTTPS 目标的证书验证通常仍由应用负责。
应用通过 SOCKS5 向代理提交目标地址并建立连接,协议支持 TCP,也定义了 UDP 转发机制。是否实际使用 UDP,需要应用、代理接口及后续链路共同支持。域名解析发生在哪里,取决于应用提交的是域名还是预先解析的 IP,不能只看代理类型便认定 DNS 路径。
TLS 提供对端身份认证、传输加密与完整性保护,可用于网页连接,也可作为代理协议的一层传输保护。握手失败时,应检查证书、服务器名称、系统时间及链路可达性。跳过证书验证会削弱身份确认,应先定位证书或名称不匹配的原因,而不是把跳过验证作为常规设置。
TERMS / 02
字段名、层级与数据类型共同决定配置含义。阅读示例时,先判断字段位于顶层、DNS 配置、节点定义还是策略组内部。
YAML 用缩进表达映射和列表,Clash 配置通常以 .yaml 或 .yml 保存。缩进应使用空格,同级字段保持对齐,列表项由短横线引出。语法解析通过只表示结构可读,字段是否被识别、值是否有效以及引用目标是否存在,还需要由实际运行内核检查。
该字段让 HTTP 与 SOCKS 代理接口共用一个本地监听端口,方便不同应用接入同一服务。它与远端节点的 port 含义不同,也不会自动修改所有应用的代理设置。启动时报端口占用,应先确认占用进程,再修改监听值,并同步更新依赖该端口的系统或应用设置。
通用字段 mode 决定请求采用规则、全局或直连等处理模式。规则模式按 rules 选择策略,全局模式使用全局策略,直连模式直接连接目标。模式决定进入内核后的处理逻辑,系统代理和 TUN 决定请求如何进入内核,因此切换全局模式并不等于接管全部应用。
在该 DNS 模式下,内核向应用返回合成地址,并维护地址与原始域名的映射,以便后续连接继续按域名处理。合成地址不是目标网站的真实公网地址。少数依赖真实解析结果的应用可能需要过滤配置;调整后还应考虑系统、浏览器与应用缓存,避免旧结果干扰判断。
该字段定义可复用的代理集合来源,策略组通过 use 引用其名称。代理集合与完整 Profile 的用途不同,不能假定集合文件包含 DNS、规则或通用监听字段。更新失败时,应分别检查来源格式、获取路径及策略组引用,再确认集合内容是否进入最终运行配置。
TERMS / 03
规则决定使用哪个策略,策略组决定如何选择出口。排查请求路径时,应沿着命中规则、目标策略和最终出口逐层检查。
规则分流根据域名、IP 或其他请求属性选择直连、拒绝或某个代理策略。规则通常自上而下检查,首条命中后即使用其目标,后续条目不再为这次请求重新选择。精确条件一般放在宽泛条件之前;修改规则后,应通过新连接的命中记录验证,而不是只观察页面是否能够打开。
策略组把节点、其他策略组或内置策略组织为一个可被规则引用的目标。select 主要用于手动选择,url-test 依据测试结果自动选择,fallback 侧重按顺序进行可用性切换。名称相同不代表行为相同,排查时还需检查组类型、成员来源及嵌套引用是否形成循环。
GeoIP 依据本地数据库给 IP 地址标注地区,用于 GEOIP 等规则匹配。地址归属不等于访问者所在地,也不能精确代表网站内容或法律管辖范围。数据库更新、内容分发网络和共享基础设施都可能改变结果;如果请求仍只有域名,部分 IP 规则还可能触发解析。
RULE-SET 在规则序列中引用由 rule-providers 定义的集合,让较长的规则列表可以独立维护。集合的行为类型与文件格式必须符合 provider 声明,不能把域名列表和完整规则列表直接混用。它在主规则中的位置仍然影响优先级,拆到外部文件并不会绕过首条命中的顺序。
MATCH 是无条件命中的规则,通常放在 rules 的最后,为尚未匹配的请求指定默认策略。若放在前面,后面的规则就没有机会处理请求。其目标可以是策略组或内置策略,但必须确保引用有效;兜底采用直连还是代理,应根据配置目的明确决定。
TERMS / 04
流量接管、域名解析与出口选择是不同环节。某个开关已启用,只能说明配置状态,实际路径仍需结合连接记录和系统网络设置确认。
系统代理把本地代理地址写入操作系统设置,让遵循该设置的应用将请求交给客户端。自行实现网络栈的程序、部分命令行工具或配置了独立代理的应用,可能不使用这条路径。关闭客户端后仍无法联网时,应检查系统是否保留了失效的代理地址,再区分代理设置问题与网络本身的问题。
TUN 借助虚拟网络接口与路由配置,把符合条件的网络流量交给内核处理,常用于不遵循系统代理的应用。它通常需要额外系统权限,接管范围还受路由排除项、协议支持及网络环境影响。启用后仍要检查 DNS 和规则,不能把 TUN 理解为自动修复全部网络问题的开关。
DNS 泄漏指查询没有经过预期的解析路径,而是到达其他解析器;是否构成问题取决于预先设定的隐私与分流目标。浏览器安全 DNS、应用内置解析和系统 DNS 都可能产生独立路径。使用加密 DNS 只描述查询传输受到保护,不自动证明查询经过了预期代理出口,应结合解析策略与路由一起判断。
allow-lan 控制是否允许局域网设备访问代理监听服务,但实际可达性还取决于绑定地址、防火墙和无线网络隔离。其他设备需要填写运行客户端那台设备的局域网地址,而不是它们自己的回环地址。开放访问前应明确使用范围,并配置适当的认证或访问控制,避免扩大代理接口的暴露面。
界面中的连接延迟通常来自对特定测试地址的一次请求,结果会受到 DNS、握手、目标响应与当前网络状态影响。它不等于文件下载速度,也不代表所有网站的访问表现。比较时应保持测试方法和目标一致;一次测试失败还需要结合日志区分测试站点不可达、认证失败或链路异常。
TERMS / 05
界面中的配置记录不一定等于磁盘上的最终运行文件。遇到订阅更新后设置恢复、切换配置未生效等现象,先厘清来源与生成过程。
Profile 是客户端管理的一份本地配置或远程配置记录,通常包含名称、来源及更新设置等信息。切换 Profile 会改变所用配置来源,但最终内容仍可能经过客户端覆写与合并。备份时应区分原始文件、远程来源记录和覆写内容;只复制一个生成后的运行文件,未必能恢复原来的管理方式。
订阅通过 URL 分发和更新配置或节点集合,返回内容可能是 Clash YAML,也可能是其他客户端格式。链接能够访问不代表内容可被当前客户端直接解析,导入前需确认格式与用途。订阅地址常包含访问凭据,应按敏感信息保存,排查或分享截图时应遮盖完整 URL,避免将来源信息发布到公共页面。
覆写是在来源配置基础上调整字段,合并则将多个配置层组合为最终运行内容,常用于保留本地 DNS、监听或规则设置。标量覆盖、映射合并和列表替换的行为取决于客户端实现,不能假定所有列表都会追加。修改后应查看最终配置;直接编辑临时生成文件,可能在下一次更新或切换时被重新生成。
连接视图用于查看请求目标、命中规则与出口链路,帮助判断应用是否进入内核以及规则是否按预期执行。策略切换通常首先影响新连接,已有长连接可能继续使用原来的路径。验证修改时,应重新发起请求或在确认影响后关闭相关连接,并结合域名与规则记录判断,不必只凭访问结果猜测。
log-level 控制输出的详细程度,常见取值包括 info、warning、error 和 debug。启动信息不等于故障,单次连接报错也不代表整份配置失效,应结合发生时机与目标请求定位。临时提高详细程度后,应留意日志可能包含访问域名或路径,分享前删去敏感内容,排查结束再恢复常用级别。