客户端
Client在日常使用中,客户端通常指带图形界面的应用,用于导入订阅、切换策略和管理系统代理。真正负责连接与规则匹配的是其中运行的内核,同一内核可以搭配不同界面。选择客户端时,要同时看操作系统支持、权限管理和内核兼容性,不能只比较界面里的开关数量。
按五个分类查阅客户端、代理协议与 YAML 配置中的常用词。先分清流量怎样进入内核,再看规则怎样选择出口;这两件事不同,排查时也应分开检查。
每张术语卡都有独立锚点,可直接复制地址用于讨论。具体字段以所用客户端、内核版本和最终生效配置为准。
界面负责操作,内核负责处理连接,订阅负责提供配置内容。遇到导入成功但无法访问的情况,先确认问题位于哪一层。
在日常使用中,客户端通常指带图形界面的应用,用于导入订阅、切换策略和管理系统代理。真正负责连接与规则匹配的是其中运行的内核,同一内核可以搭配不同界面。选择客户端时,要同时看操作系统支持、权限管理和内核兼容性,不能只比较界面里的开关数量。
mihomo 是 Clash 生态中的代理内核,负责接收连接、解析 DNS、匹配规则及建立出站连接,曾以 Clash.Meta 名称被广泛使用。旧教程中的 Meta 通常指这条内核路线,而不一定是某个图形客户端。查阅配置时,应确认字段适用于当前内核;仅更新界面程序,不一定同时更新了内核。
订阅通常是一条用于获取节点列表或完整配置的链接,客户端可以按需或定时重新获取内容。不同链接返回的数据格式可能不同,导入前应确认支持 Clash 或所用客户端的格式。订阅地址可能包含账户标识或访问令牌,不宜贴到公开讨论区;更新失败可先查阅订阅相关问题。
代理节点是一组出站连接参数,通常包含服务器地址、端口、协议、认证信息及可选传输设置。节点名称只是便于辨认的标签,名称里的地区不必然等于实际出口或服务器位置。把节点导入配置,只是增加了一个可选出口,还需要让策略组引用它,并让应用流量进入内核。
客户端里的延迟测试通常记录经节点访问指定测试地址的耗时,不一定是直接向服务器发送 ping。测试地址、超时设置、连接复用和本地网络都会影响结果。较低延迟不能直接换算为较高下载速度,也不能保证所有网站都能访问;比较节点时应使用相同测试条件,并结合实际用途验证。
协议决定客户端与代理服务端怎样通信。是否支持某个协议,应以实际内核为准;填写了协议名称,也仍需匹配服务端参数。
HTTP 代理通过 HTTP 代理机制接收请求,访问 HTTPS 目标时通常使用 CONNECT 建立隧道。本地客户端常提供 HTTP 代理入口,供浏览器或命令行程序连接。目标网站使用 HTTPS,不代表客户端到代理服务器的链路也启用了 TLS;这两段连接的加密条件应分别确认。
SOCKS5 是通用代理协议,可承载 TCP,并在客户端与服务端实现支持时转发 UDP。它本身不提供链路加密,用户名和密码认证也不等同于加密传输。应用使用 SOCKS5 时,域名由应用本地解析还是交给代理解析,取决于应用及其参数,不能只看代理地址就判断 DNS 路径。
Shadowsocks 是加密代理协议,配置通常包含服务器、端口、加密方法和密码。加密方法及扩展参数需要与服务端一致,不同协议代际和实现的支持范围也可能不同。出现认证或握手错误时,应先核对导入内容与内核兼容性;改变节点显示名称不会改变连接参数。
Trojan 通常利用 TLS 保护代理连接,除了服务器和密码,还需要正确处理证书与服务器名称等参数。用于连接的地址与证书对应的域名可以有区别,但必须符合服务端部署方式。遇到证书错误时,先检查系统时间、域名和证书链,不应把跳过证书验证当作长期修复方法。
Hysteria 2 是基于 QUIC 的代理协议,底层依赖 UDP,客户端和服务端都需要提供对应支持。如果当前网络限制 UDP,其他 TCP 节点可用也不能证明此协议可用。协议名称并不保证速度,实际表现还受线路、拥塞控制和服务端资源影响;配置时需核对认证信息及 TLS 设置。
先确定连接采用哪种模式,再检查命中的规则和最终策略。节点可用但访问路径不符合预期时,重点看这里。
规则分流按配置顺序检查域名、目标 IP、端口等连接信息,第一条命中的规则决定使用哪个策略。具体域名规则通常放在宽泛规则之前,兜底规则放在最后。规则命中某个策略组后,还要由该组选择实际出口,因此检查日志时应同时看命中规则和最终出站,而不是只看节点名称。
规则模式按规则选择策略,全局模式通常把已接收的连接交给全局策略,直连模式则按直连方式处理。这些模式决定的是流量进入内核之后怎样出站,并不负责让所有应用自动进入内核。切到全局后仍无法访问时,应先确认系统代理或 TUN 接管是否生效,操作见代理模式设置。
策略组把多个节点或其他策略组织成一个可引用的出口。常见类型有手动选择的 select、按测试结果选择的 url-test 和按可用性切换的 fallback。自动测试只反映测试条件下的表现,并不保证业务访问效果;策略组名称被规则引用时,拼写必须一致。
GeoIP 使用 IP 地理归属数据库参与匹配,例如 GEOIP,CN,DIRECT 将匹配到相应归属的目标交给直连策略。结果依赖数据库及实际目标 IP,不等于网站运营主体或内容所属地区。CDN 和共享基础设施可能改变归属判断;需要精确控制网站路径时,通常应优先考虑域名规则。
MATCH 接住前面规则未命中的连接,通常位于 rules 列表末尾。例如 MATCH,Proxy 会把这些连接交给名为 Proxy 的策略,前提是配置中存在可引用的同名策略。如果把 MATCH 放在列表前面,后面的普通规则就不会再有匹配机会。
系统代理、TUN 和 DNS 设置各有作用范围。某个开关已打开,只能说明对应功能已配置,仍需通过实际连接验证路径。
DNS 把域名解析成 IP 地址等记录,是应用建立连接前的重要环节。代理场景中,应用查询、内核查询以及代理服务器域名解析可能使用不同路径,不能用一个 DNS 开关概括。遇到域名无法访问而 IP 连接正常时,可先区分是哪一层解析失败,再查阅DNS 配置字段。
Fake-IP 为域名分配虚拟地址并维护映射,使后续进入内核的连接能够关联原始域名,便于按域名分流。应用看到的虚拟地址不是目标网站的真实地址,也不表示网站地址异常。部分应用或局域网服务需要例外处理;切换模式后如果仍保留旧解析结果,还应考虑清理相关 DNS 缓存。
查看 Fake-IP 设置 →DNS 泄漏通常指域名查询走了预期之外的解析路径,例如原计划由受控解析器处理,却被系统或应用直接发往其他解析器。是否属于泄漏,要先明确预期策略,不能只凭检测页显示的地区判断。排查时需结合浏览器自带 DNS、系统解析、IPv6 和 TUN 接管范围,逐项确认查询从哪里发出。
系统代理是操作系统提供的代理设置入口,客户端通常将其指向本地监听地址与端口。只有遵循该设置的程序才会使用这个入口,部分终端工具、游戏和后台服务会采用自己的网络设置。因此浏览器可用而终端不可用并不矛盾,应检查工具是否需要代理参数或环境变量,而不是反复切换节点。
TUN 模式通过虚拟网络接口与路由设置接收 IP 流量,可用于接管不遵循系统代理的应用。它通常需要相应权限,并可能与其他 VPN、虚拟网卡或路由规则发生冲突。启用 TUN 不等于每条连接都经代理,也不自动证明 DNS 路径符合预期;最终出口仍取决于接管范围、代理模式和分流规则。
这里解释字段的用途与边界。完整示例、缩进结构和规则语法放在YAML 手册,修改前先保留一份可恢复的原配置。
YAML 是 Clash 配置常用的数据格式,用空格缩进表达层级,用连字符表示列表项,不能用制表符代替缩进。包含特殊字符的字符串应按 YAML 语法正确引用,复制示例时也要保留原有层级。文件能通过语法解析,只说明结构可读;字段是否支持、策略名称是否存在,还需要由内核继续检查。
mixed-port 指定本地混合监听端口,同一个端口可接受 HTTP 和 SOCKS 代理连接。它不是远端节点端口,修改它也不会改变节点服务器配置。若应用手动填写了代理地址,修改后需同步更新应用中的端口;是否允许其他设备访问,还要结合监听地址、防火墙及局域网访问设置判断。
proxy-providers 定义代理集合的来源和更新方式,可用于把节点列表与主配置分开维护。策略组通常通过 use 引用对应集合,节点集合的更新并不等于替换整份配置。提供者名称、策略组引用和返回内容格式需要配套检查;下载成功但组内没有节点时,应继续检查引用关系。
rule-providers 定义可复用的规则集合,适合把较长的域名或 IP 规则与主配置分开保存。集合的行为类型与文件格式需要匹配,随后通常由 RULE-SET 规则指定使用哪个集合、交给哪个策略。定义了规则提供者但没有引用它,不会自动让其中的规则参与分流。
覆写与合并是在订阅配置之上应用本地修改的方法,适合保留自定义 DNS、端口或规则。不同客户端对对象合并、列表替换及执行顺序的处理可能不同,同一段内容不一定能直接通用。不要只看编辑器里的源文件,应检查最终生效配置;订阅更新后也要确认自定义内容仍按预期保留。