订阅
Subscription通过一个地址获取并更新节点或配置内容的分发方式,更新订阅相当于重新拉取来源内容。订阅可能返回完整 YAML、节点列表或编码后的文本,能否直接导入取决于客户端支持的格式。订阅不等于代理服务本身,地址中也可能包含账户标识,应按敏感信息保存,排查时不要公开完整链接。
Clash / Glossary
订阅、规则分流与网络栈概念。按配置中出现的位置查阅,区分连接入口、匹配条件与出口策略。
Core concepts
从配置来源到应用接入,区分“获取什么”与“如何使用”。
通过一个地址获取并更新节点或配置内容的分发方式,更新订阅相当于重新拉取来源内容。订阅可能返回完整 YAML、节点列表或编码后的文本,能否直接导入取决于客户端支持的格式。订阅不等于代理服务本身,地址中也可能包含账户标识,应按敏感信息保存,排查时不要公开完整链接。
包含服务器地址、端口、协议与认证参数的一组代理连接定义,通常位于配置的 proxies 中。节点名称供策略组和规则引用,名称中的地区文字不保证实际出口位置。节点能否连接还受账户状态、协议参数和当前网络影响,改名本身不会改变连接路径。
客户端按指定测试地址和方式测得的响应耗时,测试过程可能包含连接建立与目标响应。不同测试地址、超时设置和网络路径会产生不同结果,不能只凭数值比较不同客户端。延迟低不等于下载快;显示超时也应先排除测试目标不可达,而不是直接认定节点失效。
客户端管理的一份配置及其来源、更新方式等信息,界面中常称 Profile。切换档案可能同时更换节点、策略组、规则和 DNS 设置,并不只是换一个出口。远程档案直接编辑后可能在更新时被覆盖,长期自定义内容宜通过客户端支持的覆写机制保存。
将操作系统代理设置指向客户端本地监听端口的一种接入方式。遵循系统代理的浏览器和应用会把请求交给该端口,使用独立网络设置的程序则可能继续直连。退出客户端后若保留了失效的代理地址,应用可能无法联网;此时应同时检查客户端运行状态与系统代理设置。
Proxy protocols
协议决定客户端与代理服务如何通信,本地接入协议与远端节点协议可以不同。
应用通过 HTTP 代理端口转交请求的方式,HTTPS 通常使用 CONNECT 建立隧道,再进行目标站点的 TLS 通信。HTTP 代理既可以是客户端提供的本地入口,也可以是配置中的远端代理类型。看到 HTTP 字样不能直接判断整条连接是否加密,需要区分应用到代理、代理到目标的各段连接。
支持转发 TCP,并定义 UDP 转发机制的通用代理协议,常用于应用单独指定代理入口。协议本身不负责流量加密,用户名与密码认证也不等于加密通道。UDP 能否实际使用,需要应用、客户端设置与远端服务共同支持;域名由哪一端解析也取决于应用的接入方式。
通过约定加密方法和认证参数连接远端服务的一类代理协议,配置类型通常写为 ss。导入时需匹配服务器地址、端口、加密方法与密码,任一项不符都可能导致握手失败。若服务还依赖插件或特定协议变体,应确认客户端内核与服务端采用兼容的实现。
通常借助 TLS 建立加密连接,并使用密码进行认证的一类代理协议。服务器地址与 TLS 使用的域名不一定相同,SNI、证书名称和系统时间都可能影响握手。遇到证书错误时应先核对这些参数与服务端配置,不宜将跳过证书验证作为长期处理方式。
Rules & routing
规则负责判断,策略组负责选择,最终出口负责建立连接。
按域名、IP、进程或规则集等条件,为连接选择出口的机制。规则模式下通常自上而下匹配,先命中的规则决定策略,末尾可用 MATCH 承接其余连接。调整规则前先查看连接记录中的命中项;较宽泛的规则放得过早,会让后面的精细规则失去作用。
将节点或其他策略组织成可被规则引用的出口,用于把匹配逻辑与具体节点分开。select 用于手动选择,url-test 按测试结果自动选择,fallback 则侧重按顺序寻找可用成员。规则引用的是组名,组内选择才决定实际出口;修改名称时需同步检查所有引用。
通过 rule-providers 定义、由 RULE-SET 引用的规则集合,适合维护规模较大的域名或地址列表。集合存放匹配内容,引用规则指定出口,两部分共同决定连接行为。使用时要核对文件格式、behavior 与缓存路径,下载成功不代表其中的条目一定符合预期格式。
依据 IP 地理归属数据库进行匹配的规则能力,例如 GEOIP,CN,DIRECT。结果取决于数据库版本与地址归属,不能视为网站业务地区或用户位置的精确判断。域名连接进行 IP 类匹配时可能触发解析;附加 no-resolve 可避免为该规则主动解析,但也可能使尚无目标 IP 的请求无法命中它。
DIRECT 表示按本机网络路由直接连接,REJECT 表示拒绝连接,都是可被规则引用的内置策略。直连不是指定某张物理网卡,流量仍可能经过系统 VPN 或其他网络层。拒绝规则适合阻断明确目标,但如果范围过宽,也可能影响登录、验证码或页面依赖资源。
DNS & network stack
域名解析与流量接入是两个环节,需要结合应用、系统路由和内核设置判断。
将域名解析为 IP 地址等记录的系统,解析结果决定后续连接可能访问的地址。客户端的 DNS 配置控制其接收到的查询,但系统缓存、应用内置加密 DNS 和查询接入方式也会影响结果。排查时应区分“域名是否解析成功”与“解析后的地址是否可连接”,两者对应不同问题。
客户端向应用返回映射用地址,再在后续连接中还原域名的一种 DNS 工作方式。它有助于保留域名信息供分流使用,应用看到的地址并不一定是目标服务器真实地址。依赖真实解析结果的局域网服务或特定应用可能需要 fake-ip-filter;修改后还应留意系统和应用中的旧 DNS 缓存。
通过虚拟网络接口接收 IP 数据包,再交由内核处理的接入方式,可覆盖部分不遵循系统代理的应用。实际接管范围取决于路由、权限、网络栈与排除设置,并非仅打开开关就必然覆盖全部流量。TUN 解决的是流量如何进入客户端,进入后的连接仍可按规则选择直连、代理或拒绝。
DNS 查询走了预期之外的解析路径或解析服务的情况,判断前应先明确哪些查询需要经过哪个出口。系统解析、浏览器安全 DNS、IPv6 和客户端未接管的应用,都可能让结果与预期不同。检测页面显示某个解析服务只能作为线索,还需结合查询日志和实际路由确认,不能仅凭地区标签下结论。
从连接初始阶段可见的协议元信息中尝试识别域名的能力,例如读取部分 HTTP 或 TLS 握手信息。它可在原始连接只带目标 IP 时辅助域名分流,但并非解密 HTTPS 内容。协议变化、加密握手信息或缺少可识别字段时,嗅探可能无法得到域名,因此不能替代完整的 DNS 与路由配置。
Client & core
界面负责管理,内核负责执行。检查兼容性时,同时关注配置来源与最终生效内容。
客户端通常负责界面、订阅管理和系统集成,内核负责协议连接、DNS 与规则执行。两者可能分别更新,所以界面版本并不能完整说明支持哪些配置字段。排查时应记录实际内核名称和版本,并查看最终配置;不同客户端对同一字段的界面入口和覆写方式也可能不同。
Clash 生态中持续发展的代理内核,曾使用 Clash.Meta 名称,提供协议处理、策略组、分流与 DNS 等能力。它是执行连接逻辑的组成部分,不是所有客户端界面的统一名称。复制配置示例前应确认实际内核支持对应字段,较新的配置能力未必能在旧版本或其他内核中直接使用。
使用缩进表达映射、列表等结构的文本数据格式,Clash 配置通常采用这种格式。缩进应使用空格,同层字段保持一致;看似相近的字符串、布尔值和列表,在解析后属于不同类型。语法正确不代表配置一定有效,策略组名称引用错误、字段拼写或内核不支持,也可能导致加载失败。
在订阅或原始配置之外,通过附加规则、合并文件或脚本修改最终配置的机制,适合保存本地自定义内容。不同客户端对列表是追加还是替换、字段按何种顺序合并,并没有统一行为。修改后应查看生成的生效配置与日志,而不是只看订阅原文件;调整前保留可恢复的配置副本。
供客户端界面或控制面板读取状态、调整策略的管理接口,通常由 external-controller 指定监听地址。它不同于 HTTP 或 SOCKS 代理入口,不负责让普通应用转发网络请求。监听地址和认证设置决定可访问范围,本地使用宜限制在回环地址,不应直接暴露到不受信任的网络。