Mihomo 内核
Mihomo 是负责连接处理、规则匹配、代理协议与 DNS 等网络逻辑的内核,曾使用 Clash.Meta 名称。Clash Verge Rev 提供图形界面,实际网络请求由内核处理,因此界面功能与内核能力需要分别看待。排查配置兼容问题时,先确认正在运行的内核及其支持字段,而不是只看客户端名称。
查阅内核相关配置 →术语手册 / 配置概念索引
先区分流量怎样进入客户端,再看规则怎样选择出口。这里按配置对象整理 25 个常用术语,每条可通过地址栏锚点单独引用;需要实际操作时,转到上手教程或进阶配置。
阅读路径:客户端接管流量 → 规则选择策略 → 节点建立连接;DNS 为域名解析提供地址,订阅与 YAML 为这些环节提供配置。
界面、流量入口与网络处理各有职责。开关显示已启用,并不代表每个应用的请求都已进入内核。
Mihomo 是负责连接处理、规则匹配、代理协议与 DNS 等网络逻辑的内核,曾使用 Clash.Meta 名称。Clash Verge Rev 提供图形界面,实际网络请求由内核处理,因此界面功能与内核能力需要分别看待。排查配置兼容问题时,先确认正在运行的内核及其支持字段,而不是只看客户端名称。
查阅内核相关配置 →客户端是管理配置、策略组、连接记录、日志和系统设置的应用,Clash Verge Rev 属于桌面图形客户端。客户端、内核与远端代理服务是三个不同对象:界面负责管理,内核负责处理连接,远端服务提供代理出口。安装客户端后,仍需导入适用的配置并选择正确策略,才能建立预期连接。
查看客户端与平台 →系统代理向操作系统登记本地代理地址和端口,使遵循这一设置的应用把请求交给客户端。它并不等于接管全部网络流量,某些命令行工具、游戏或自行管理网络的应用可能不读取系统代理。若浏览器可用而某个应用仍直连,应先查看该应用的代理设置,再判断是否需要 TUN 模式。
TUN 模式通过虚拟网络接口与路由设置,把符合接管条件的流量送入内核,适用于不遵循系统代理的应用。进入内核后,连接仍按规则决定直连或代理,开启 TUN 不意味着全部连接都使用代理出口。启用通常涉及系统权限或服务支持,与其他 VPN 同时运行时还需检查路由和 DNS 是否冲突。
混合端口在同一个本地监听端口上接受 HTTP 与 SOCKS 代理连接,对应 YAML 中的 mixed-port,Clash Verge Rev 常见设置为 7897。端口数字不是固定要求,修改后需要同步所有手动填写该端口的应用。端口被其他进程占用、监听地址不正确、局域网访问未获允许,是三个不同的检查方向。
协议决定客户端与服务端怎样通信。参数需要与服务端匹配,协议名称本身不能代表速度或稳定性。
节点是一组可供内核使用的远端代理连接参数,通常包含服务器地址、端口、协议与认证信息,显示名称只是便于识别的标签。节点可连接不代表所有目标网站都可访问,还要结合规则、出口网络和目标服务判断。列表中的测试延迟取决于测试地址与测试方法,不能直接换算为下载速度,也不能保证业务请求一定成功。
Shadowsocks 使用约定的加密方法与密钥建立代理连接,在配置中通常以 type: ss 表示。服务器、端口、加密方法与密码需要逐项匹配;若服务还依赖插件,插件类型与参数同样影响兼容性。导入后无法连接时,应对照服务提供方的原始参数检查,而不是随意替换加密方法。
VMess 是使用用户标识等参数完成认证的代理协议,可以配合不同传输方式和 TLS 设置使用。节点信息不仅是一段用户标识,还可能包含路径、Host、服务器名称等传输参数,缺失任何相关项都可能导致握手失败。排查时同时检查系统时间,避免把时间异常造成的认证问题误判为端口故障。
VLESS 使用用户标识等信息完成认证,但协议本身不提供传输加密,实际连接通常还依赖 TLS、REALITY 或其他配套传输设置。服务端要求的服务器名称、公钥或传输路径等参数不能仅凭协议名称推断。导入前确认当前内核支持该节点的完整组合,不能把更改 type 当作协议转换。
Trojan 通常在 TLS 连接中承载代理流量,并使用密码进行认证。服务器地址能连通,仅说明网络路径可能可达,后续仍需要正确的密码、服务器名称和证书验证结果。遇到证书错误时优先检查系统时间、域名与服务端证书,不要把关闭证书验证作为常规修复方式。
规则回答“这条连接交给谁”,策略组回答“从哪些出口里选择”。先看命中规则,再看组内选择。
规则分流按域名、IP、端口或其他条件,把连接交给直连、拒绝或指定策略处理。规则模式下通常从上到下检查,命中后采用对应策略,因此更具体的规则一般应放在宽泛规则之前。某个网站出口不符合预期时,先到连接记录确认实际命中项,再修改规则顺序,避免只切换节点却没有改变路由结果。
查看规则管理方法 →策略组把节点或其他策略组组织成一个可被规则引用的名称,选择方式由组类型决定。select 用于手动选择,url-test 按指定测试条件选择,fallback 则按顺序使用可用项。规则写入的组名必须与配置一致,而测试结果只对设定的测试目标和当时网络条件负责。
DOMAIN-SUFFIX 匹配指定域名及其子域名,例如 DOMAIN-SUFFIX,github.com,PROXY 可覆盖 github.com 和它的子域名,前提是配置中存在对应的 PROXY 策略。它不是任意字符串包含匹配,不会仅因一个无关域名中出现相同字样就命中。只需匹配一个精确域名时,可改用 DOMAIN。
GeoIP 按 IP 地址数据库中的归属分类匹配连接,例如 GEOIP,CN,DIRECT 将符合该分类的目标交给直连。结果取决于实际目标 IP 与本地数据库内容,不等同于公司注册地或访问者位置。使用 CDN 的网站可能解析到不同地址,遇到误分流时需要同时检查 DNS 结果和数据库更新情况。
MATCH 不再附加域名或 IP 条件,用于接住此前未命中的连接,通常放在 rules 最后一行。MATCH,PROXY 表示剩余流量交给名为 PROXY 的策略,而不是自动寻找一个固定节点。若将它提前放置,后面的规则通常没有机会处理这些连接。
解析、流量接管和代理出口是不同环节。先确定请求从哪里发出,再判断它是否经过预期路径。
DNS 把域名解析为 IP 地址等记录,是连接网站前常见的一步。客户端中的 DNS 设置涉及监听地址、上游解析服务器、请求路由与缓存,填写一个解析服务器地址并不代表所有应用都会使用它。排查时区分“无法得到解析结果”和“得到地址后连接失败”,两者对应的日志线索与处理方向不同。
Fake-IP 模式向应用返回虚拟地址,并在内核中维护虚拟地址与原始域名的映射;相关连接进入内核后,再结合域名进行处理。它有助于保留域名信息,但依赖解析与连接都经过正确路径,不能只开启 DNS 模式而忽略流量接管。对必须获得真实地址的局域网服务或特殊应用,可按实际问题配置过滤范围。
DNS 泄漏指查询偏离预期解析路径,到达不希望使用的解析方,而不是看到某个地区的解析器名称就一定出现问题。应用内置的加密 DNS、系统解析设置、其他 VPN 和路由规则都可能改变查询去向。判断时结合测试条件、客户端日志与应用设置,明确“预期交给谁解析”,再检查实际路径是否一致。
域名嗅探尝试从连接初始数据的可见信息中推断目标域名,例如部分 HTTP 请求信息或 TLS 握手信息,用于补充规则匹配依据。它不是解密任意 HTTPS 正文的功能,也不能保证每条连接都能识别出域名。若识别结果导致路由异常,应针对具体目标检查嗅探与目标覆盖设置,不宜直接扩大到全部连接。
在客户端 TUN 配置语境中,DNS 劫持通常指把符合条件的传统 DNS 请求导向内核解析器,以统一处理解析。这个名称与公共网络中恶意篡改解析结果的行为不是同一个配置目的,需要结合上下文理解。传统 DNS 端口接管不一定影响应用自行发出的 DoH 或 DoT 请求,因此仍需检查应用内部的解析设置。
查看 DNS 与 TUN 配置 →订阅负责分发,YAML 负责表达,本地覆写负责保留修改。获取成功之后,还要确认配置已经启用。
订阅通过一个链接分发节点列表或完整配置,客户端访问链接后获取具体内容。不同订阅可能返回 Clash YAML、编码后的节点列表或其他格式,因此“链接能打开”不代表内容可直接用于当前客户端。订阅地址可能带有私人访问凭据,分享日志或截图前应遮住完整链接,避免他人使用同一访问权限。
查看订阅导入步骤 →YAML 使用缩进表示映射、列表与层级关系,Clash 配置常用它描述 dns、proxies、proxy-groups 和 rules 等部分。编辑时使用空格缩进并保持同级对齐,列表项的短横线也属于结构而非装饰。语法能够解析不等于字段一定受当前内核支持,保存后还应查看配置检查结果与运行日志。
订阅转换把源节点或配置整理为目标客户端可读取的格式,有时还会结合模板生成策略组和规则。格式转换不能凭空补齐服务端参数,也不能让不受支持的协议自动兼容。在线服务可能接触原始订阅链接与节点认证信息,使用前需要确认服务来源;已经是适配格式的订阅通常可以直接导入。
本地覆写在订阅配置基础上应用本地修改,适合保留自定义 DNS、规则或其他设置,避免每次订阅更新后重复编辑。具体功能可能采用字段合并、列表替换或脚本处理,不能假定所有列表都会自动追加。修改前保留原始内容,修改后检查最终生效配置,尤其要确认规则顺序、策略名称和列表是否符合预期。
订阅更新重新获取远端内容,可能改变节点参数、策略组或规则,但它与切换当前配置不是同一操作。下载成功、内容解析成功、配置启用和内核重载分别属于不同环节,出现问题时应按顺序确认。更新间隔依据服务提供方建议与实际使用需求设置;若更新后连接异常,先检查节点名称变化和本地覆写引用是否仍然有效。