Clash
Clash 最初是基于规则处理网络连接的代理内核项目名称,现在也常被用来泛指相关客户端生态。原版项目与后续分支并不是同一个维护主体,支持的协议和配置字段也不完全相同。看到“适用于 Clash”时,还要确认它具体要求哪种内核,不能仅凭文件扩展名判断兼容性。
01 / PROJECTS
内核处理连接,客户端提供操作界面。两者的名称与版本要分开看。
Clash 最初是基于规则处理网络连接的代理内核项目名称,现在也常被用来泛指相关客户端生态。原版项目与后续分支并不是同一个维护主体,支持的协议和配置字段也不完全相同。看到“适用于 Clash”时,还要确认它具体要求哪种内核,不能仅凭文件扩展名判断兼容性。
mihomo 延续了 Clash Meta 的技术路线,负责代理协议连接、规则匹配、DNS 处理与 TUN 流量接入。它是内核,不等于某一款桌面或手机应用;多个图形客户端可以使用同一类内核。排查某项功能是否支持时,应同时记录客户端版本与内核版本。
图形客户端是平时点击开关、导入订阅、选择策略和查看日志的应用外壳,例如 Clash Verge Rev、FlClash。它会把界面设置转换为内核配置,也可能额外处理系统代理、服务权限与自动启动。两个客户端即使使用同类内核,配置存放位置和覆写顺序也可能不同,迁移时不要直接照搬全部应用设置。
这是前端或控制面板管理内核的入口,用于读取连接、切换策略与更新配置,不是供浏览器上网的代理端口。127.0.0.1:9090 是一种本机监听示例,不能把它当作混合代理端口填写。若需要远程访问,应设置访问密钥并限制网络访问范围,避免直接暴露管理能力。
日志记录内核运行过程中的连接与错误,是判断 DNS 失败、代理握手失败或规则命中的直接线索。log-level 控制记录详细程度,排查时可以临时提高等级,问题复现后再恢复日常设置。分享日志前应移除订阅地址、认证信息及不希望公开的访问域名。
02 / PROTOCOLS
协议描述连接方式,不代表线路质量。导入时需要保留完整参数。
Shadowsocks 是一种加密代理协议,节点通常需要服务器地址、端口、密码与加密方法。客户端和服务端必须使用兼容的参数;部分配置还会包含插件及插件选项,仅复制地址和密码可能无法连接。新旧加密方法的支持范围存在差异,遇到导入成功但连接失败,应先查看内核是否支持对应方法。
VMess 与 VLESS 是不同的代理协议,不能只修改配置中的类型名称来互相转换。VLESS 本身不提供加密,连接保护取决于实际搭配的安全层,例如 TLS 或 REALITY。排查时需逐项核对用户标识、传输类型、服务器名称及相关安全参数,而不是只检查服务器是否在线。
Trojan 通常通过 TLS 保护客户端与服务器之间的代理连接,除密码外还依赖正确的服务器名称与证书验证。服务器地址用于建立连接,TLS 服务器名称用于握手与身份验证,两者不一定相同。证书报错应优先核对配置和系统时间,不宜把跳过证书验证作为长期解决方案。
Hysteria 2 是基于 QUIC 的代理协议,连接能否建立与当前网络的 UDP 可达性有关。它与第一代 Hysteria 的协议及配置并不通用,导入时要确认类型识别正确。协议名称不能保证实际速度;网络限制、服务器负载和带宽参数都会影响体验,应在常用网络下实测。
这两种入口通常用于应用把流量交给本地客户端,不等同于客户端连接远端节点时使用的协议。HTTP 代理也可通过 CONNECT 转发 HTTPS 连接,并不是只能访问 HTTP 网页。混合端口可同时接收 HTTP 与 SOCKS 请求;若应用支持手动代理,应按配置填写地址和实际端口,而不是默认认为一定是 7890。
03 / ROUTING
流量交给哪个出口,取决于规则顺序、匹配条件与策略组的当前选择。
规则分流按配置顺序检查连接,命中后交给相应策略处理,常见结果包括直连、代理或拒绝。较具体的域名规则通常应放在宽泛规则之前,末尾再用 MATCH 接住剩余连接。TUN 开启后仍然可以按规则分流;流量接入方式与出口选择是两件事。
策略组把节点或其他策略组织成一个可引用的出口名称,规则通常指向组,而不是固定某个节点。select 常用于手动选择,url-test 用测试结果辅助选择,fallback 则按可用性与顺序进行故障转移。修改组内选择后通常主要影响新建连接,已有长连接未必立即更换出口。
GeoIP 用于按 IP 地址数据分类,GeoSite 用于按域名集合分类,二者不能互相替代。地址归属与实际服务位置并不总是一致,CDN 也可能让同一域名解析到不同地区。匹配效果取决于数据来源、更新情况及内核支持,发现误分流时应先查具体规则与数据,而不是只看节点名称。
规则集将一批规则放在独立文件中维护,主配置通过 rule-providers 声明来源,再通过 RULE-SET 引用。它便于更新分类数据,但不会自动决定出口,引用规则仍需要指定目标策略。不同格式和行为类型有各自要求,下载成功不代表一定能被当前声明方式正确解析。
客户端显示的延迟往往来自对指定网址的连接或请求测试,不一定是传统 ICMP Ping。它反映特定目标与测试时刻的耗时,不能直接等同于下载速度、视频稳定性或所有网站的可达性。比较节点时应尽量使用相同测试目标,并结合实际应用观察;一次超时也可能是测试站点本身不可达。
04 / NETWORK STACK
先看流量如何进入内核,再看域名如何解析。连接成功不等于解析路径符合预期。
系统代理把操作系统中的代理入口指向本地客户端,主要影响遵循这项设置的应用。部分命令行工具、自带网络栈的应用或游戏可能不读取该设置,因此浏览器可用不代表所有程序都已接入。关闭客户端前应确认系统代理已恢复,否则应用可能继续向一个已经停止监听的本地端口发起请求。
TUN 通过虚拟网络接口把符合路由条件的流量送入内核,常用于接入不遵循系统代理设置的应用。它通常需要相应权限或服务支持,覆盖范围还受到路由、排除项及其他 VPN 的影响。开启 TUN 不等于所有连接都走代理,进入内核后依然可以按规则直连或转发。
DNS 用于查询域名对应的地址等记录,是多数连接建立前的重要环节。查询使用哪个解析服务器、经由什么网络路径,可能影响返回结果及后续规则判断。DNS 查询路径与网页连接路径需要分别理解;更换节点后问题不变,也可能是解析缓存或解析配置仍在起作用。
Fake-IP 模式向应用返回虚拟地址,并由内核保存地址与域名的映射,以便连接到达时恢复域名信息并进行分流。这些地址并不是网站真实服务器地址,看到它们不等于解析故障。少数依赖真实地址或局域网发现的应用可能需要加入过滤列表;切换解析模式后,必要时要清理应用与系统缓存。
DNS 泄漏指查询偏离预期解析路径,并非看到某个地区的解析服务器就能直接下结论。浏览器安全 DNS、系统解析器、IPv6 与应用自带解析都有可能形成独立路径。检测时应先明确哪些查询预期直连、哪些预期经过代理,再结合连接日志与测试结果判断;加密 DNS 也不自动意味着查询经过代理。
05 / CONFIGURATION
订阅负责获取内容,配置决定运行行为。更新来源与本地修改最好分开管理。
订阅通常是可重复获取配置或节点列表的资源地址,服务提供方更新内容后,客户端可再次拉取。相似的链接外观可能返回完整 YAML、Base64 编码列表或单个协议链接,导入方式要与格式匹配。订阅地址往往关联账户权限,应按敏感信息保存,避免贴到公开截图或不可信的在线转换工具中。
节点是一组连接远端代理所需的参数,通常包含服务器地址、端口、协议、认证信息及传输选项。界面中的节点名称只是标签,不能证明实际出口地区、带宽或服务质量。订阅导入后看到节点列表,仅说明配置已被读取,仍需选择策略并验证实际连接。
YAML 用键值、列表和缩进表达数据,Clash 生态常用它描述端口、节点、策略组、规则与 DNS。缩进应使用空格,层级错误、重复键或遗漏列表符号都可能导致解析失败或结果偏离预期。文件能作为 YAML 解析,不代表其中每个字段都被当前内核支持;编辑后还要检查内核加载提示。
节点提供器通过 proxy-providers 定义独立节点来源,再让策略组引用它,将节点更新与主配置分开。它与规则提供器用途不同,也不意味着可以直接填入任意完整订阅文件。排查节点为空时,应检查来源格式、拉取结果以及策略组是否正确引用,而不是只反复点击更新。
配置覆写是在订阅原始内容之上应用本地修改,用于保留端口、DNS 或自定义规则等设置。不同客户端可能采用字段替换、列表合并或脚本处理,不能假设所有覆写机制完全一致。更新后修改消失时,应检查是否编辑了会被重新下载的原文件,并查看最终运行配置与覆写执行顺序。