mihomo
由 Clash Meta 延续发展的代理内核,负责协议连接、规则匹配、DNS 处理与流量转发。许多桌面和移动客户端把 mihomo 作为底层组件,再提供配置管理、托盘菜单和系统代理开关。客户端版本与内核版本并不总是同步,判断功能支持情况时需要分别查看。
Clash 配置查阅
集中解释 mihomo 内核、代理模式、规则分流、DNS 与配置文件中的常用概念。遇到陌生字段时,可按分类或拼音索引直接定位。
区分图形客户端、代理内核、控制接口与外部资源。界面负责操作入口,内核负责实际连接与流量处理。
由 Clash Meta 延续发展的代理内核,负责协议连接、规则匹配、DNS 处理与流量转发。许多桌面和移动客户端把 mihomo 作为底层组件,再提供配置管理、托盘菜单和系统代理开关。客户端版本与内核版本并不总是同步,判断功能支持情况时需要分别查看。
读取配置文件并执行代理连接、规则分流和 DNS 解析的核心程序。它可以独立运行,也可以被图形客户端启动和管理。原始 Clash、Clash Meta 与 mihomo 处于同一生态脉络,但具体字段和功能范围存在差异,迁移配置时应以当前内核文档为准。
节点与远端服务器建立连接时使用的通信规范。配置中常包含服务器地址、端口、认证信息、传输方式和加密参数,这些字段必须与服务端保持一致。协议名称相同也不代表所有扩展选项都兼容,导入配置后仍需确认当前内核是否支持相关字段。
内核提供的控制接口,图形客户端可通过它读取代理组、活动连接、日志和规则状态,并提交切换代理等操作。常见配置值包含本地监听地址与端口。若允许局域网访问控制接口,应同时设置访问密钥并限制可达范围。
从独立文件或远程地址加载节点集合或规则集合的机制。Proxy Provider 用于维护节点,Rule Provider 用于维护可复用规则,二者的数据格式与引用位置不同。Provider 可设置更新周期、健康检查和本地缓存路径,主配置因此不必塞入全部明细。
代理模式决定进入 Clash 的流量如何选择出口;系统代理与 TUN 则决定哪些应用流量能够进入内核。
按照配置文件中的规则顺序判断每个请求应直连、代理还是拒绝。规则可依据域名、IP、进程和外部规则集匹配,是日常使用最常见的模式。切换到 Rule 后仍需为各代理组选择有效出口,否则规则命中代理组时可能无法建立连接。
让进入 Clash 的流量统一使用指定代理组,不再逐条执行常规分流规则。它适合临时验证节点是否可用,或排除规则配置造成的访问异常。Global 只改变内核内部的出口选择,并不会自动接管没有进入 Clash 的应用流量。
让进入内核的连接直接访问目标地址,不经过远端代理节点。排查无法上网时,可用该模式判断本地监听、系统代理和基础网络是否正常。Direct 不等于关闭客户端,因为流量仍可能经过 Clash 的本地端口和 DNS 模块。
把操作系统的 HTTP 或 SOCKS 代理地址指向 Clash 本地监听端口。浏览器和多数桌面应用会读取这项设置,但部分游戏、命令行工具和独立网络组件可能忽略它。系统代理已开启却没有流量时,应核对端口、绕过列表和应用自身代理设置。
通过虚拟网络接口接管 IP 流量,可覆盖不读取系统代理设置的应用。启用时通常需要系统权限,客户端还会配置路由与 DNS 劫持规则。遇到断网、局域网服务失效或休眠恢复异常时,应依次检查虚拟网卡、路由表、防火墙和 DNS 状态。
规则按书写顺序执行。越具体的匹配通常放在前面,最终由兜底规则处理没有命中的连接。
根据域名、IP、进程或规则集合把请求送往不同代理组。规则由上到下匹配,首条命中结果决定当前连接的出口,因此顺序本身就是配置的一部分。修改分流后应重新载入配置,并通过连接详情确认实际命中的规则与代理链路。
按域名后缀匹配请求的规则类型。例如针对 example.com 的规则通常也能匹配其子域名,适合把同一站点体系归入统一出口。它处理的是域名信息;若连接只有目标 IP 且内核无法还原域名,该规则可能无法命中。
根据目标 IP 在地理数据库中的归属执行匹配,常用于区域化直连或代理策略。结果依赖 GeoIP 数据库版本、目标服务使用的地址以及 DNS 返回结果。域名注册地区、服务器部署地区和 IP 数据库标记可能不同,因此 GEOIP 不宜作为唯一规则依据。
引用 Rule Provider 中规则集合的匹配方式。它能把大量域名或 IP 规则拆出主配置,并由内核按设定周期更新缓存。使用时需要保证 Provider 名称、规则行为类型和 RULE-SET 引用一致,否则可能载入失败或无法命中。
规则列表的最终兜底项,处理此前没有命中的连接。MATCH 通常只出现一次并放在末尾,其目标可以是代理组、DIRECT 或 REJECT。若它位于列表中部,后续规则将没有机会参与匹配。
DNS 模式影响域名如何解析和映射。网络异常不只由节点引起,也可能来自系统解析器、IPv6 路由或应用自带 DNS。
连接走代理时,域名查询仍被发送到非预期 DNS 解析器的现象。它可能暴露查询目标,也可能因解析结果与代理出口地区不同而造成访问异常。排查时需要同时确认系统 DNS、Clash DNS 模式、浏览器加密 DNS 和 TUN 接管范围。
内核先为域名返回保留地址,再通过内部映射识别后续连接真实目标的 DNS 模式。这样可以在 IP 流量阶段保留域名信息,便于域名规则继续匹配。局域网发现、部分游戏和依赖真实 DNS 回答的程序可能需要加入 Fake-IP 过滤列表。
先解析域名的真实 IP,再按解析结果转发连接的 DNS 工作方式。它的兼容路径较直观,但域名规则与 IP 规则可能受到 DNS 缓存、CDN 调度和解析位置影响。切换 DNS 模式后,应清理旧缓存再判断结果。
Clash DNS 模块用于执行常规域名查询的上游解析器列表。条目可以采用普通 DNS、DoH 或 DoT 等形式,具体支持范围取决于内核。解析器本身必须能够通过当前网络或代理链路访问,否则会表现为节点正常但域名打不开。
互联网协议的第六版,可提供独立于 IPv4 的地址和路由路径。Clash 中启用 IPv6 后,DNS 可能返回 AAAA 记录,连接也可能优先尝试 IPv6。只有本地网络、节点、路由和目标服务共同可用时链路才完整,排障时可临时关闭以确认问题范围。
订阅负责分发配置,YAML 保存具体字段,客户端再把内核能力接入操作系统。更新与本地修改之间需要明确覆盖关系。
用于获取远程配置或节点集合的地址,通常由服务提供方生成。客户端更新订阅会重新下载内容,并可能覆盖同一配置中的本地修改。订阅导入失败时,应检查链接是否完整、网络是否可达、返回内容是否为当前客户端支持的格式。
配置文件中描述一个代理服务器连接参数的条目,包含地址、端口、协议和认证字段。节点名称只是便于选择的标签,不能据此判断线路质量。实际可用性由参数正确性、服务器状态、本地网络与中间链路共同决定。
把多个节点、DIRECT、REJECT 或其他代理组组合成一个可被规则引用的出口。常见类型包括手动选择、自动测速、故障切换和负载分配。代理组可以嵌套,但层级过深会增加排查难度,查看活动连接时应确认最终落到的具体节点。
客户端向测试地址发起 TCP 连接或 HTTP 请求后记录的响应耗时,通常以毫秒显示。测试值只反映当时的测试 URL、网络路径和握手过程,不直接代表带宽或长时间稳定性。选择节点时还应结合实际访问、丢包、晚高峰表现与下载速度判断。
Clash 配置文件常用的结构化文本格式,依靠缩进表达对象和列表层级。制表符、错误缩进、遗漏空格或未闭合引号都可能让配置无法解析。编辑后可先检查语法,再重新载入配置并查看日志中的具体报错位置。
保存端口、节点、代理组、规则和 DNS 选项的 YAML 文档,也常被客户端称为 Profile。订阅配置、本地配置和客户端生成配置可能存放在不同目录。备份时除主 YAML 外,还应确认 Provider 文件与客户端覆盖设置是否需要一并保留。
在同一个本地端口上同时接受 HTTP 与 SOCKS 代理连接的监听方式,常见字段为 mixed-port。应用只需填写同一地址与端口,内核会按连接内容识别入口协议。端口被占用或被防火墙拦截时,系统代理即使设置正确也无法建立连接。
控制其他局域网设备是否可以访问 Clash 的本地代理端口,常见字段为 allow-lan。启用后还需确认监听地址不是仅限回环接口,并在主机防火墙中允许对应端口。手机、电视或游戏机应把代理服务器填写为运行 Clash 设备的局域网地址。