订阅
订阅是客户端获取节点或完整配置的远程入口,常表现为一条带访问凭据的链接。不同来源返回的内容格式可能不同,能在浏览器打开不代表能被当前客户端直接导入。更新订阅只刷新这份远程内容,不会更新客户端程序;分享截图时也应遮住订阅地址。
配置字段 · 连接记录 · 客户端设置
先分清入口、内核和出口,再读配置。这里按五类整理 25 个常用术语:每条说明含义、使用条件与容易混淆的地方。
先回答三个问题:配置从哪里来、流量从哪里进入、连接最终交给谁。
订阅是客户端获取节点或完整配置的远程入口,常表现为一条带访问凭据的链接。不同来源返回的内容格式可能不同,能在浏览器打开不代表能被当前客户端直接导入。更新订阅只刷新这份远程内容,不会更新客户端程序;分享截图时也应遮住订阅地址。
节点是一组连接代理服务器的参数,通常包括服务器地址、端口、协议和认证信息。节点名称只是提供方设置的标签,不保证真实出口位置,也不能说明当前负载。排查时应把节点连接失败与订阅获取失败分开:前者检查连接参数和网络路径,后者检查配置来源。
客户端显示的延迟,是按指定测试地址和方式得到的响应耗时,不一定是 ICMP ping。测试结果会受到目标站点、连接复用、超时阈值和当前网络状态影响。低延迟不等于大带宽,超时也不等于所有业务都不可用;横向比较时应先统一测试条件。
系统代理把本地代理地址写入操作系统设置,让愿意遵循该设置的应用使用客户端入口。浏览器通常支持,但部分游戏、命令行工具或自行管理网络的应用可能不采用它。开启系统代理与选择规则模式是两个独立动作:一个控制入口,另一个控制进入内核后的分流方式。
TUN 通过虚拟网络设备接收 IP 数据包,再交给内核建立相应连接,适合处理不遵循系统代理的应用。实际接管范围取决于系统路由、运行权限、排除项与 DNS 设置,并非开启后就覆盖每条连接。建议先用系统代理确认节点可用,再逐项检查 TUN,避免入口与节点问题混在一起。
协议描述连接怎样建立和传输,不直接代表速度排名。选择前先核对内核与服务端支持。
HTTP 代理是应用访问代理服务器的一种方式,既可能用于本地入口,也可能用于远程节点。访问 HTTPS 网站时通常通过 CONNECT 建立隧道,网站 TLS 仍在浏览器与目标站点之间协商。仅仅启用这种代理,不表示客户端会解密 HTTPS 正文;遇到证书错误应另查系统时间、证书链和连接环境。
SOCKS5 是通用代理协议,可转发 TCP 连接,也定义了 UDP 转发机制,但应用和服务端是否实现 UDP 支持要分别确认。协议本身不提供流量加密,不能仅凭使用 SOCKS5 就判断传输安全性。域名由本机还是代理端解析,也取决于应用传入的是域名还是已解析的 IP。
Shadowsocks 使用双方约定的加密方法与密钥连接代理服务端,通常在配置中写作 type: ss。加密方法、密码及扩展传输参数需要与服务端匹配,不能只修改协议名称完成转换。部分较新的算法依赖较新的内核支持,导入报错时应先看具体字段和内核能力。
Trojan 通常使用 TLS 承载代理连接,客户端需要匹配服务器地址、端口和认证参数。TLS 握手还可能依赖 SNI 与证书域名,因此节点地址可达并不代表握手一定成功。遇到证书问题应先核对域名、时间和服务端配置,不宜把跳过证书验证当作长期修复方案。
Hysteria2 基于 QUIC,连接依赖可用的 UDP 网络路径,也需要客户端内核支持对应协议。认证、TLS 和可选的混淆参数均须与服务端一致,不能把旧版 Hysteria 配置直接视为兼容。网络限制 UDP 时,即使同一服务器上的 TCP 服务正常,该协议仍可能连接失败。
规则决定交给哪个策略,策略组再决定使用哪个出口。看懂两层关系,比反复切换模式更有用。
规则分流按域名、IP、进程等条件决定连接去向,通常从上往下匹配,第一条命中的规则生效。更具体的规则一般应放在宽泛规则之前,兜底规则则留到末尾。规则模式下出现意外出口时,先看连接记录中的命中规则和策略链,再决定修改顺序还是修改条件。
策略组把节点或其他策略组合成一个可引用的集合,规则可以指向组名,而不必绑定某个节点。select 通常用于手动选择,url-test 用于按测试结果选择,fallback 用于按可用性顺序切换。自动组的表现受测试地址和周期影响,不能保证每项业务都采用相同的最佳出口。
规则集把域名或 IP 条目从主配置中拆出来,便于单独维护和更新。在 rule-providers 中声明资源后,还需在规则列表用 RULE-SET 引用,下载成功不代表已经参与分流。资源格式与 behavior 等声明要匹配,更新失败时也应检查日志中的解析错误。
GeoIP 按 IP 地址归属分类,GEOSITE 按域名集合分类,两者使用的数据和匹配对象不同。分类结果受数据来源、收录范围与更新状态影响,不等同于实时物理位置或网站所有权判断。基于 IP 的规则还可能触发域名解析,因此应结合 DNS 设置理解命中结果。
DIRECT 表示由本机网络直接连接,REJECT 表示拒绝连接,它们都是可被规则引用的策略。MATCH 则是匹配剩余连接的规则类型,仍需跟上策略,例如 MATCH,PROXY,其中 PROXY 必须是已定义的策略名。把 MATCH 放得过早,会让后面的普通规则失去匹配机会。
继续查阅:规则顺序与连接验证。
域名查询走哪条路,与网站连接走哪条路,是两个需要分别确认的问题。
DNS 用于查询域名对应的 IP 等记录,应用拿到地址后才会继续建立连接。操作系统、浏览器和代理内核可能各自缓存结果,也可能使用不同解析器。判断 DNS 问题时要先确认是谁发起查询、请求交给了谁,不能只改系统 DNS 就假设内核和浏览器都会跟着变化。
Fake-IP 向应用返回合成地址,并在内核中保存地址与域名的映射,让后续连接仍能按域名处理。合成地址不是目标服务器的实际地址,相关流量需要回到持有映射的内核。部分依赖真实地址的应用可能需要配置排除项;切换 DNS 模式后,还应注意旧缓存是否影响验证。
DNS 泄漏通常指查询偏离了预期解析路径,例如原计划经代理处理的域名被应用直接提交给本地解析器。是否属于异常,要结合分流目标判断,直连业务使用本地解析并不自动构成问题。检测页列出的解析器也可能是递归链中的一环,应结合浏览器加密 DNS、系统设置和实际查询记录判断。
nameserver 与 fallback 是 mihomo DNS 配置中可使用的解析器列表,结果采用还受过滤和策略字段影响。fallback 不是简单地等主服务器失效后才工作的备用地址簿,fallback-filter 会参与结果选择。修改前应先确认当前配置是否还包含按域名指定解析器的策略,避免只读其中一段。
在 TUN 设置里,DNS 劫持通常指把符合条件的 DNS 请求转交给内核解析器,是流量接管功能,不是修改网站证书。是否生效取决于请求有没有进入 TUN,以及规则匹配的协议和端口。应用自建的 DoH 或 DoT 连接不会仅因配置了常规 DNS 劫持就自动被解析接管,需要另行分析其连接路径。
继续查阅:DNS 设置与排查顺序。
界面负责操作,内核负责处理连接。排查兼容性时,需要同时确认这两层。
图形客户端提供订阅导入、策略选择、日志查看和代理开关等操作界面,可能在后台启动独立内核进程。不同客户端即使采用同一种内核,配置管理、权限申请和系统集成也可能不同。选型时既要看界面是否顺手,也要确认所带内核能否处理现有配置与协议。
mihomo 原称 Clash Meta,是负责协议连接、规则匹配和 DNS 处理的代理内核,可以由图形客户端调用,也能独立运行。它与原版 Clash 共享部分配置习惯,但支持字段和协议并不完全相同。遇到配置不兼容时,应确认实际运行的内核及其文档,而不只看客户端名称里是否带有 Clash。
YAML 是 Clash 配置常用的数据序列化格式,用缩进表达层级,用列表和键值对组织内容。缩进应使用空格,包含特殊字符的值需要注意引号规则;同名键重复也可能造成意外覆盖。语法合法只是第一步,策略名称引用、字段类型和内核支持范围仍需通过配置检查或启动日志确认。
配置覆写是在订阅原文之外,用合并、补丁或脚本生成最终运行配置的机制,适合保存本地 DNS 或规则调整。不同客户端对列表替换、追加顺序和优先级的处理可能不同,不能直接套用另一款客户端的操作方法。修改似乎失效时,应检查最终运行配置,而不是只看订阅编辑器中的原始文件。
external-controller 指定内核控制 API 的监听地址,界面可通过它读取连接、切换策略或管理配置。它不是供浏览器上网使用的代理端口,填进系统代理通常不会得到预期结果。仅在本机管理时宜限制为回环地址;需要其他设备访问时,再配置认证与防火墙访问范围。