搜索 K
深色模式
深色模式
直接答案:Clash 的策略组(
proxy-groups)是整个路由分流架构的决策大脑。它不负责定义单一连接协议,而是将散落的基础代理节点(Proxies)或外部节点集(Proxy Providers)进行逻辑编排,提供手动切换(select)、最低延迟自动优选(url-test)、可用性故障倒换(fallback)、**多链路负载均衡(load-balance)与多跳链式代理(relay)**五种调度能力。通过自顶向下的分层嵌套,可以构建零感故障自愈与场景精细化路由的高可用网络底座。
在 Clash 的分流模型中,流量的处理链路遵循: 入站流量 (Inbound) -> 规则引擎 (Rules) -> 策略组 (Proxy Groups) -> 物理代理节点 (Proxies) -> 出站连接 (Outbound)
如果把规则(Rules)比作路标,把具体节点(Proxies)比作车辆,那么策略组就是调度中枢。配置策略组的核心优势在于:
🚀 节点选择 或 🎬 国际流媒体,无需关心背后具体使用的是香港还是新加坡节点。在 Clash 及 Mihomo(Clash.Meta)生态中,proxy-groups 支持以下核心类型:
策略组类型 (type) | 决策核心机制 | 测速开销 | 典型适用场景 |
|---|---|---|---|
select | 客户端 UI 或 API 纯手动切换 | 无 | 核心出口总控、特殊用途指定节点 |
url-test | 定期并发探测,始终选取延迟最低节点 | 中(并发探测) | 网页轻量浏览、即时通讯工具 |
fallback | 顺序保活探测,仅首选节点宕机才下移 | 低(顺序单探) | 关键长连接业务、API 接口调用 |
load-balance | 基于策略算法将流量分流到多个健康节点 | 中 | 多线程大文件下载、BT/PT、分块拉取 |
relay | 将请求按数组顺序进行流量嵌套链式转发 | 视链长而定 | 落地机前置中转、双重混淆隐藏真实 IP |
pass (Mihomo) | 穿透当前策略组,直通父级或继承行为 | 无 | 动态逻辑分流中间件 |
select) 最基础也是最核心的交互型组。用户可以在图形客户端界面随时单击切换出站出口。
- name: "🚀 节点选择"
type: select
proxies:
- "♻️ 自动优选"
- "🇭🇰 香港 IEPL 01"
- "🇯🇵 日本 BGP 01"
- "🇺🇸 美国 4K 01"
- DIRECT♻️ 自动优选)以及内置保留动作(DIRECT, REJECT)作为成员。proxies 列表的第一项将作为默认选中项。url-test) 后台根据配置的测试地址和周期发起并发 HTTP HEAD/GET 探测,根据返回的 RTT 延迟动态指定出口。
- name: "♻️ 自动优选"
type: url-test
proxies:
- "🇭🇰 香港 IEPL 01"
- "🇭🇰 香港 IEPL 02"
- "🇹🇼 台湾 Hinet 01"
- "🇯🇵 日本 BGP 01"
url: "https://www.gstatic.com/generate_204"
interval: 300
tolerance: 50
lazy: trueurl:测速目标端点。必须是高可用、低开销的全球 CDN 端点,推荐 generate_204,避免使用大体积 HTML 页面。interval:心跳探测时间间隔(单位:秒)。常规推荐 300(5分钟)。切忌设置为低于 60 秒,否则若节点包含 50 个,将产生巨大的高频握手流量,容易被服务端触发限流甚至封禁。tolerance:延迟容差门限(单位:毫秒)。核心防抖参数! 设为 50 意味着如果当前节点延迟为 120ms,而新节点探测为 105ms,由于差值(15ms)小于容差 50ms,系统不会频繁切换连接。这有效防止了因公网链路几十毫秒的自然抖动引发频繁 TCP 重建。lazy:惰性测速。设为 true 后,仅当该策略组在规则中实际匹配并承载活跃流量时才触发测速,闲置时挂起心跳,大幅节省移动设备电量与节点闲置流量。fallback) 按 proxies 声明的列表顺序逐级保活。始终优先选用排名最靠前且状态健康的节点;只有当头部节点测速超时或握手失败时,才无缝降级到第二个节点。
- name: "🛡️ 故障倒换"
type: fallback
proxies:
- "🇭🇰 香港 IEPL 01" # 主线路:低延迟优质专线
- "🇯🇵 日本 BGP 01" # 备用线路 1:高带宽通用节点
- "🇺🇸 美国 4K 01" # 备用线路 2:兜底兜底节点
url: "https://www.gstatic.com/generate_204"
interval: 180
lazy: trueurl-test 几十毫秒的波动而切换出口 IP 导致安全风控强制登出。load-balance) 将匹配到该组的 TCP/UDP 连接依据既定算法分配至多个可用节点,实现带宽的并发叠加。
- name: "⚖️ 负载均衡"
type: load-balance
strategy: consistent-hashing
proxies:
- "🇭🇰 香港 IEPL 01"
- "🇭🇰 香港 IEPL 02"
- "🇭🇰 香港 IEPL 03"
url: "https://www.gstatic.com/generate_204"
interval: 300consistent-hashing(一致性哈希,推荐):根据请求的目标域名或目标 IP 计算哈希值。相同目标的请求始终走同一个节点。极力推荐此算法,可以避免同一网站的资源请求频繁变换出口 IP 引发账号风控或跨域鉴权失效。round-robin(轮询):按连接数轮流分发。适合纯大文件下载与无状态抓包爬虫,不适合日常网页浏览。relay) 将流量按照数组定义的顺序进行顺序握手封装。流量路径为:本地 -> 节点 A -> 节点 B -> 节点 C -> 目标网站。
- name: "🔗 链式中继"
type: relay
proxies:
- "🇭🇰 香港 IEPL 01" # 第一跳:国内优化的入口跳板
- "🇦🇷 阿根廷 VPS 01" # 第二跳:目标国家本土纯净住宅 IP优秀的高可用配置绝不是单一扁平策略组,而是采用四层架构模型:
+-------------------------------------------------------------+
| 第一层:业务分流组 (Business Routing Groups) |
| [PROXY] [OpenAI] [YouTube] [Telegram] [Direct/Domestic] |
+-------------------------------------------------------------+
|
v
+-------------------------------------------------------------+
| 第二层:区域聚合组 (Regional Groups) |
| [香港流量] [日本流量] [美国流量] [台湾/新加坡流量] |
+-------------------------------------------------------------+
|
v
+-------------------------------------------------------------+
| 第三层:调度策略组 (Dispatched Strategy Groups) |
| [HK-自动优选 (url-test)] [HK-故障倒换 (fallback)] |
+-------------------------------------------------------------+
|
v
+-------------------------------------------------------------+
| 第四层:实体节点集 (Proxy Providers / Physical Proxies) |
| [Provider A 节点] [Provider B 节点] |
+-------------------------------------------------------------+proxy-groups:
# ==========================================
# 第一层:业务与总控层
# ==========================================
- name: "🚀 节点选择"
type: select
proxies:
- "♻️ 自动优选"
- "🇭🇰 香港节点"
- "🇯🇵 日本节点"
- "🇺🇸 美国节点"
- "🌐 全部节点"
- DIRECT
- name: "🤖 人工智能"
type: select
proxies:
- "🇺🇸 美国节点"
- "🇯🇵 日本节点"
- "🇸🇬 新加坡节点"
- "🚀 节点选择"
- name: "🎬 国际流媒体"
type: select
proxies:
- "🇭🇰 香港节点"
- "🇹🇼 台湾节点"
- "🇯🇵 日本节点"
- "🚀 节点选择"
# ==========================================
# 第二层:区域聚合与自动优选层 (结合 use 引用 provider)
# ==========================================
- name: "♻️ 自动优选"
type: url-test
url: "https://www.gstatic.com/generate_204"
interval: 300
tolerance: 50
use:
- default-provider
- name: "🇭🇰 香港节点"
type: url-test
url: "https://www.gstatic.com/generate_204"
interval: 300
tolerance: 30
use:
- default-provider
filter: "(?i)港|hk|hongkong"
- name: "🇯🇵 日本节点"
type: url-test
url: "https://www.gstatic.com/generate_204"
interval: 300
tolerance: 30
use:
- default-provider
filter: "(?i)日|jp|japan"
- name: "🇺🇸 美国节点"
type: url-test
url: "https://www.gstatic.com/generate_204"
interval: 300
tolerance: 50
use:
- default-provider
filter: "(?i)美|us|united states"
- name: "🌐 全部节点"
type: select
use:
- default-provider在实机排错过程中,策略组配置错误往往会导致内核静默解析失败或客户端无响应。以下为 4 种典型致命错误与修复对照:
proxy group cycle detected 或陷入死递归栈溢出。proxies 列表中又声明了 A 策略组。type: select 组,确保层级是严格自顶向下的单向无环图(DAG),严禁相互嵌套。proxies or use is empty) proxy-groups[x]: at least one proxy required 异常。filter: "(?i)韩国" 时,订阅源中没有任何匹配到“韩国”字样的节点,导致该策略组实际挂载的节点数等于 0。use 以外,显式追加一个兜底节点,例如:- name: "🇰🇷 韩国节点"
type: url-test
proxies:
- "🚀 节点选择" # 当 filter 未命中任何节点时的保底回退
use:
- default-provider
filter: "(?i)韩|kr|korea"url-test 策略组,若将 interval 均设为 30 且未开启 lazy: true: 60 节点 * 5 策略组 * (3600 / 30) = 36,000 次连接/小时lazy: true,将全局测速间隔调整为 300 秒以上,容差调整为 50ms。url-test 与 fallback 策略组有什么本质区别? A: 核心差异在于触发切换的时机与逻辑:
url-test 是比优模式:只要备选节点的延迟比当前节点低(且超出 tolerance 门限),就会立刻切过去。fallback 是保活模式:哪怕备用节点的延迟只有 10ms,而排在第一位的主节点延迟高达 200ms,只要主节点能连通(未超时),系统就绝不切换。仅在主节点断网报错时才降级。load-balance 开启后,网页经常提示“登录失效,请重新登录”? A: 这是由于采用了默认的 round-robin(轮询)模式。网页前端同时拉取多个图片、API 与静态资源,每次 TCP 请求被分发到了不同的国家或节点 IP,服务端检测到同一个 Session 在数秒内由香港、日本和美国 IP 并发访问,判定为会话劫持并强制踢出。解决方案:将策略组的 strategy 改为 consistent-hashing。
proxies 和 use 可以同时存在吗? A: 完全可以。proxies 用于显式挂载硬编码的单节点或其它策略组(如 DIRECT, REJECT),而 use 用于挂载来自外部订阅的 proxy-providers。在最终运行时,Clash 会将两者的节点集合自动合并。