Clash Meta 下载站mihomo 客户端下载

代理组详解:select、url-test、fallback 怎么选

配置与订阅 2026 年 7 月 5 日 4 分钟阅读
本文目录

订阅里动辄几十上百个节点,分流规则却不可能逐个点名——代理组就是中间那一层。它把节点打包成一个有名字的整体,对规则来说是「一个可以被指向的目标」,对你来说是「一个可以切换的下拉框」。

mihomo 的代理组有四种常用类型,区别只在于组内如何挑出那个真正干活的节点:手动挑(select)、按延迟挑(url-test)、按顺序挑第一个可用的(fallback)、按连接分摊(load-balance)。看懂这一句,剩下的都是参数细节。

代理组解决的是什么问题,以及四种类型的取舍

假设你有三十个节点,规则里要写「流媒体走日本、其余走香港」。如果没有代理组,规则只能指向某个具体节点,节点一挂全盘失效,换节点还得改规则。有了代理组,规则指向的是「日本」「香港」这样的名字,组内换谁不影响规则本身。

组名就是它对外的接口。规则里写的目标、其他组里引用的成员,用的都是这个名字——所以命名要稳定、要好认,改名意味着所有引用处都得同步改。代理组在整份配置里的位置见 mihomo 配置文件入门

动手写之前,先用一张表把四种类型的差别过一遍:

类型选节点的方式适合场景
select你手动指定,不自动变需要明确知道自己在用哪个节点
url-test周期性测延迟,自动切到最快的只求快、不关心具体是哪个节点
fallback按列表顺序取第一个可用的有明确优先级,主节点挂了自动顶上
load-balance把连接分摊到组内多个节点并发多、希望分散压力

select:最常用的手动选择组

select 组不做任何自动判断,完全听你的。客户端界面上那些能点开切换的下拉列表,绝大多数就是 select 组:

proxy-groups:
  - name: "PROXY"
    type: select
    proxies:
      - "自动选择"
      - "香港节点"
      - "日本节点"
      - DIRECT

注意成员里既可以是节点名,也可以是别的组名(这里的「自动选择」就是另一个组),还可以是内置的 DIRECTREJECT。把 DIRECT 放进主组是个实用习惯:排错时不必改规则,一键切直连就能判断问题出在代理还是本地网络。

url-test:自动挑最快的那个

url-test 会定期向一个测试地址发起请求,记录各节点的响应时间,自动把流量切到最快的节点上:

  - name: "自动选择"
    type: url-test
    proxies:
      - "香港01"
      - "香港02"
      - "日本01"
    url: "http://www.gstatic.com/generate_204"
    interval: 300
    tolerance: 50

三个参数的含义:url 是用于测速的地址,通常用返回 204 空响应的轻量接口;interval 是测试间隔(秒),300 表示每五分钟测一轮;tolerance 是容差(毫秒),只有当别的节点比当前节点快出这个数值时才切换。

说明tolerance 别设得太小。延迟数值天然会小幅波动,容差过小会导致节点频繁反复横跳,正在进行的连接反而更容易中断。

fallback 与 load-balance

fallback 讲究的是顺序而非速度:它按列表从上往下检查可用性,始终使用第一个通得过健康检查的节点,前面的恢复了就切回去。适合「有一个我最信任的主力节点,其他只是备胎」的场景:

  - name: "故障转移"
    type: fallback
    proxies:
      - "主力节点"
      - "备用节点A"
      - "备用节点B"
    url: "http://www.gstatic.com/generate_204"
    interval: 300

load-balance 则把不同连接分散到组内多个节点上,可以用 strategy 指定分配策略(例如按连接轮换,或让同一域名固定落在同一节点上)。它适合多连接并发的场景;但对需要保持会话一致的服务,分散反而可能带来异常,日常使用不必优先考虑。

组嵌套:机场订阅的典型结构

代理组的成员可以是另一个组,机场订阅几乎都用这种两层结构:

proxy-groups:
  - name: "PROXY"
    type: select
    proxies:
      - "香港"
      - "日本"
      - "新加坡"
      - DIRECT

  - name: "香港"
    type: url-test
    proxies:
      - "香港01"
      - "香港02"
    url: "http://www.gstatic.com/generate_204"
    interval: 300

下层是地区组(把同一地区的节点用 url-test 聚在一起,内部自动选最快),上层是功能组(按用途划分,如 PROXY、流媒体、广告拦截,成员是各个地区组)。规则只指向功能组,你在界面上切的也是功能组——地区内部的节点变动完全不影响规则。这也是为什么导入订阅后看到的是「一堆组」而不是「一堆节点」。

注意:组之间不能形成循环引用(A 的成员是 B、B 的成员又是 A),内核会直接启动失败。自己手写多层结构时,画一下引用方向再动手。

写完之后怎么用

代理组本身不决定「哪些流量该走代理」,那是规则的活。组名写好之后,要在 rules 里把流量指过来才有意义,写法见 分流规则入门。如果你用的是机场订阅、并不打算自己写配置,那么了解这些类型的意义在于:看懂客户端里那些组各自在做什么,切换时心里有数。订阅的导入与更新见 订阅导入教程