Clash 中文网搜索

Clash 代理组详解:select、url-test、fallback、load-balance、relay 原理与写法

Clash 中文网编辑部 · 更新于 2026/10/22

代理组(proxy-groups)把多个节点组织成一个可在规则中引用的“出口”。 规则只负责把流量指向某个代理组,代理组再决定具体用哪个节点。Clash / Mihomo 支持五种代理组类型:select(手动选择)、url-test(自动选最快)、fallback(故障转移)、load-balance(负载均衡)和 relay(链式代理)。

代理组在配置中的位置

rules(规则)
  └─ GEOSITE,youtube,国外媒体  → 交给“国外媒体”组
proxy-groups(代理组)
  └─ 国外媒体:select [节点选择, 香港自动, 日本自动]
        └─ 节点选择:select [自动选择, 香港01, 日本01, ...]
              └─ 自动选择:url-test [全部节点]
proxies(节点)
  └─ 香港01、日本01、……

规则 → 代理组 →(可能经过多层代理组)→ 节点。

五种类型对比

类型 选择方式 能手动选 典型用途
select 用户手动选择 ✓ 主选择组,如“节点选择”
url-test 自动选择延迟最低的节点 ✗ “自动选择”“香港自动”
fallback 按顺序用第一个可用节点 ✗ 主备切换
load-balance 把连接分配到多个节点 ✗ 分散负载、多线程下载
relay 依次经过所有节点(链式) ✗ 前置代理(推荐改用 dialer-proxy)

select:手动选择

- name: 节点选择
  type: select
  proxies:
    - 自动选择
    - 香港自动
    - 香港01
    - 日本01
    - DIRECT
  • 用户在客户端中点选哪个就用哪个;
  • 第一项是默认选择;
  • 可以包含节点、其他代理组、DIRECT、REJECT。

url-test:自动选最快

- name: 自动选择
  type: url-test
  proxies: [香港01, 香港02, 日本01, 美国01]
  url: https://www.gstatic.com/generate_204
  interval: 300
  tolerance: 50
  lazy: true
参数 说明 建议值
url 测速网址 https://www.gstatic.com/generate_204
interval 测速间隔(秒) 300
tolerance 容差(毫秒),新节点必须快出这么多才切换 50
lazy 没有流量经过时不测速,节省资源 true
timeout 测速超时(毫秒) 5000
expected-status 期望的 HTTP 状态码 204
max-failed-times 连续失败多少次判为不可用 5

tolerance 的作用:假设当前用香港01(80ms),新测出香港02 为 70ms。如果 tolerance 是 50,70 并没有比 80 快 50 以上,所以不切换。这样可以避免节点在延迟相近时来回跳动、频繁断线。

fallback:故障转移

- name: 主备切换
  type: fallback
  proxies: [香港01, 香港02, 日本01]
  url: https://www.gstatic.com/generate_204
  interval: 300

工作逻辑:

  1. 优先使用列表第一个可用的节点(香港01);
  2. 香港01 健康检查失败 → 自动切到香港02;
  3. 香港01 恢复后 → 切回香港01。

适合:有一个主力节点(或主力机场),其他作为备用;或两家机场互为备份。

load-balance:负载均衡

- name: 负载均衡
  type: load-balance
  proxies: [香港01, 香港02, 香港03]
  url: https://www.gstatic.com/generate_204
  interval: 300
  strategy: consistent-hashing
策略 分配方式 适合
consistent-hashing 同一目标域名总是分配到同一节点 默认推荐,网站登录状态不会因 IP 变化失效
round-robin 依次轮流分配 下载等不在乎 IP 变化的场景
sticky-sessions 同一来源和目标在一段时间内固定节点 兼顾分散与稳定

注意:负载均衡会让同一个网站的请求可能来自不同 IP(round-robin 时),部分网站会因此要求重新登录或触发风控。

relay:链式代理

- name: 链式出口
  type: relay
  proxies: [香港01, 美国住宅IP]

流量依次经过香港01 → 美国住宅IP。Mihomo 更推荐使用节点的 dialer-proxy 参数实现链式代理,更灵活,见 链式代理教程。

自动引入与过滤节点(Mihomo)

手动列出节点很麻烦,而且机场节点经常变化。Mihomo 提供了自动引入和过滤:

字段 作用
use 引入指定代理集合(proxy-providers)的全部节点
include-all 引入所有节点和所有代理集合
include-all-proxies 只引入配置中 proxies 里的所有节点
include-all-providers 只引入所有代理集合
filter 用正则保留名称匹配的节点
exclude-filter 用正则排除名称匹配的节点
exclude-type 按协议类型排除,如 `ss
hidden 在客户端/面板中隐藏该组
icon 代理组图标 URL
disable-udp 该组不转发 UDP

示例:自动把所有香港节点组成一个 url-test 组,并排除信息节点:

- name: 香港自动
  type: url-test
  include-all: true
  filter: "(?i)港|hk|hong ?kong"
  exclude-filter: "剩余|到期|官网"
  url: https://www.gstatic.com/generate_204
  interval: 300

正则小技巧:

正则 含义
(?i) 不区分大小写
港|hk 包含“港”或“hk”
^(?!.*(剩余|到期)) 不包含“剩余”“到期”(也可以用 exclude-filter)

常见分组方案

方案一:极简(适合大多数人)

proxy-groups:
  - { name: 节点选择, type: select, proxies: [自动选择, DIRECT], include-all: true }
  - { name: 自动选择, type: url-test, include-all: true, url: https://www.gstatic.com/generate_204, interval: 300 }

rules:
  - GEOSITE,cn,DIRECT
  - GEOIP,CN,DIRECT,no-resolve
  - MATCH,节点选择

方案二:按地区 + 按服务

proxy-groups:
  - { name: 节点选择, type: select, proxies: [自动选择, 香港自动, 日本自动, 美国自动, DIRECT] }
  - { name: 自动选择, type: url-test, include-all: true, url: https://www.gstatic.com/generate_204, interval: 300 }
  - { name: 香港自动, type: url-test, include-all: true, filter: "(?i)港|hk", url: https://www.gstatic.com/generate_204, interval: 300 }
  - { name: 日本自动, type: url-test, include-all: true, filter: "(?i)日本|jp", url: https://www.gstatic.com/generate_204, interval: 300 }
  - { name: 美国自动, type: url-test, include-all: true, filter: "(?i)美|us", url: https://www.gstatic.com/generate_204, interval: 300 }
  - { name: AI 服务, type: select, proxies: [美国自动, 日本自动, 节点选择] }
  - { name: 流媒体, type: select, proxies: [香港自动, 日本自动, 美国自动, 节点选择] }

rules:
  - GEOSITE,openai,AI 服务
  - GEOSITE,anthropic,AI 服务
  - GEOSITE,netflix,流媒体
  - GEOSITE,youtube,流媒体
  - GEOSITE,cn,DIRECT
  - GEOIP,CN,DIRECT,no-resolve
  - MATCH,节点选择

方案三:双机场主备

proxy-groups:
  - { name: 节点选择, type: select, proxies: [主备切换, 机场A, 机场B] }
  - { name: 主备切换, type: fallback, proxies: [机场A, 机场B], url: https://www.gstatic.com/generate_204, interval: 300 }
  - { name: 机场A, type: url-test, use: [airport-a], url: https://www.gstatic.com/generate_204, interval: 300 }
  - { name: 机场B, type: url-test, use: [airport-b], url: https://www.gstatic.com/generate_204, interval: 300 }

常见错误

错误 原因
proxy group not found 规则或代理组引用了不存在的组名(注意 emoji 和空格)
循环引用报错 A 组包含 B 组,B 组又包含 A 组
代理组为空 filter 没有匹配到任何节点,检查正则
url-test 频繁切换 tolerance 太小,适当调大
自动组选中了不可用节点 测速网址在节点上不可访问,换一个测速网址

在客户端中修改代理组

常见问题

url-test 的 tolerance 是什么?

容差(毫秒)。新的最快节点必须比当前节点快超过这个值才会切换,避免频繁在相近节点之间跳动。

代理组可以嵌套吗?

可以。代理组的 proxies 中可以写其他代理组的名字,例如“节点选择”组里包含“自动选择”组。但不能循环引用。

url-test 和 fallback 有什么区别?

url-test 总是选延迟最低的节点;fallback 按列表顺序使用第一个可用的节点,只有当前节点不可用时才切换。前者追求最快,后者追求稳定、可控的主备关系。

load-balance 会让网速叠加吗?

不会让单个连接变快。它把不同连接分配到不同节点,多线程下载或多个连接同时进行时整体吞吐可能提高。