01 基础概念
节点 / Proxy单个代理服务器的连接信息,包含地址、端口、协议与加密方式,是分流的最小执行单元。
订阅 / Subscription一个远程地址,内容为包含多个节点信息的配置文件,客户端可定期自动拉取更新,无需手动录入每个节点。
策略组 / Proxy Group将多个节点归类,并指定选择方式:手动选择(select)、自动测速(url-test)、故障转移(fallback)或负载均衡(load-balance)。
规则 / Rule决定某一类网络请求最终交给哪个策略组处理,或直接连接、直接拦截。
配置文件 / config.yaml用 YAML 格式声明端口、节点、策略组与规则的文本文件,是 Clash / mihomo 运行的核心依据。
内核 / Core真正处理网络流量、执行分流逻辑的后台程序,图形客户端通常只是内核的可视化外壳。
Dashboard / 控制面板通过内核暴露的外部控制接口(external-controller)实现的网页可视化面板,可查看流量、切换节点、编辑规则。
Profile / 配置文件档案客户端中保存的一份具体配置(可能来自某个订阅),部分客户端支持在多个 Profile 之间切换。
02 协议与节点
Shadowsocks (SS)早期广泛使用的轻量代理协议,实现简单、速度快,但特征相对容易被识别,常搭配混淆插件使用。
VMessV2Ray 项目提出的协议,在 Shadowsocks 基础上增加了额外的身份校验与动态端口等特性,安全性有所提升。
Trojan伪装成正常 HTTPS 流量的代理协议,特征更接近真实网页浏览,在流量审查较严格的网络环境中辨识度较低。
SnellSurge 生态下的轻量代理协议,性能与 Shadowsocks 接近,目前也被 Clash / mihomo 内核广泛支持。
SOCKS5通用的代理协议标准,本身不含加密,通常作为本地转发协议使用,而非公网节点的加密方案。
混淆 / Obfs在代理协议外再包装一层伪装流量特征的手段,让代理流量在网络层面看起来更接近普通 HTTPS 或 HTTP 流量。
UDP 转发节点是否支持转发 UDP 类型的网络请求(如部分游戏、语音通话、DNS 查询),配置中通常用 udp 字段标记。
Proxy Provider以远程地址动态提供一组节点列表的机制,与订阅类似但更灵活,可单独设置健康检查与过滤条件。
03 规则与分流
DOMAIN / DOMAIN-SUFFIX / DOMAIN-KEYWORD三种域名匹配方式:精确匹配完整域名、匹配域名及其所有子域名、域名包含指定关键字即匹配。
GeoIP根据 IP 地理位置数据库判断请求目标所在的国家或地区,是"国内直连、国外代理"最常见的实现方式。
IP-CIDR按 IP 地址段匹配的规则语法,常用于局域网、内网地址段的直连配置。
Rule Provider / 规则集把一批规则统一放在远程文件中,客户端定期拉取更新,避免手动逐条维护,常见格式有 domain、ipcidr、classical。
MATCH兜底规则类型,匹配所有未被前面规则命中的流量,必须放在规则列表的最后一行。
PROCESS-NAME按发起网络请求的进程名匹配的规则类型,仅桌面端(Windows/macOS/Linux)支持,可用于让指定程序单独走代理或直连。
DIRECT / PROXY / REJECT三种基本流量去向:直接连接、通过代理节点连接、直接拦截丢弃。
url-test / fallback / load-balance三种自动化策略组类型:按延迟自动选优、主节点故障时转移到备用节点、在多个节点间分摊负载。
04 网络与模式
TUN 模式在系统网络层建立虚拟网卡,接管设备上几乎全部的网络流量,兼容性优于系统代理模式,但通常需要管理员权限或系统授权。
系统代理模式只接管遵循系统代理设置的应用流量,配置简单,兼容大部分浏览器和常规应用。
规则模式 / 全局模式 / 直连模式三种运行模式:按规则分流(最常用)、全部流量走同一节点、全部流量直连不经过代理。
Fake-IPDNS 解析时返回一个虚构的本地 IP 段地址而非真实 IP,交由内核在流量层再做实际路由判断,能提升按域名分流的准确率。
DNS 污染 / DNS 泄露DNS 污染指查询结果被篡改导致解析到错误地址;DNS 泄露指域名查询请求绕过了代理直接发往本地 DNS,可能暴露访问意图。
外部控制器 / external-controller内核对外暴露的本地 API 接口,Dashboard 等可视化面板通过它读取状态、切换节点、编辑配置。
Mixed Port同时支持 HTTP 与 SOCKS5 协议的本地监听端口,系统代理或浏览器插件通常指向这个端口。
gVisor / System 协议栈TUN 模式下处理网络数据包的两种实现方式:gVisor 是用户态网络栈,兼容性更好;System 直接使用系统网络栈,性能更高。