手上有两三个订阅是常态:一个主力、一个备用、可能还有个自建的。
在客户端里来回切换配置文件很麻烦,而且切换时会中断所有连接。更好的做法是用 proxy-providers 把它们合并成一份配置。
proxy-providers 是什么
它把「节点从哪来」这件事从主配置里剥离出去:主配置只描述策略组和规则,节点由 provider 动态提供。
基本写法
proxy-providers:
主力:
type: http
url: "https://主力订阅链接"
interval: 3600
path: ./providers/main.yaml
health-check:
enable: true
url: http://www.gstatic.com/generate_204
interval: 300
lazy: true
备用:
type: http
url: "https://备用订阅链接"
interval: 3600
path: ./providers/backup.yaml
health-check:
enable: true
url: http://www.gstatic.com/generate_204
interval: 600
lazy: true
proxy-groups:
- name: "🚀 节点选择"
type: select
use: [主力, 备用] # 使用这两个 provider 的全部节点
proxies: ["♻️ 自动选择", DIRECT] # 也可以混入其他条目
- name: "♻️ 自动选择"
type: url-test
use: [主力]
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 50字段说明
| 字段 | 说明 |
|---|---|
type | http(远程订阅)/ file(本地文件)/ inline |
url | 订阅地址 |
interval | 更新间隔(秒),3600 = 一小时 |
path | 本地缓存路径 |
header | 自定义请求头,用于指定 User-Agent |
filter | 只保留匹配的节点 |
exclude-filter | 排除匹配的节点 |
exclude-type | 排除某些协议类型 |
health-check | 健康检查配置 |
override | 批量覆盖节点属性(Mihomo) |
用 filter 清理节点列表
订阅里常混着「剩余流量:xx GB」「距离到期:xx 天」这种伪节点,还有你用不上的地区。
proxy-providers:
主力:
type: http
url: "..."
interval: 3600
path: ./providers/main.yaml
# 只要这些地区
filter: "(?i)香港|HK|日本|JP|新加坡|SG|美国|US"
# 排除这些
exclude-filter: "(?i)剩余|到期|流量|官网|过期|重置|订阅|测试"
exclude-type: "ss|ssr" # 排除某些协议
health-check:
enable: true
url: http://www.gstatic.com/generate_204
interval: 300User-Agent:拿不到 Clash 格式时用它
有些服务商会根据 UA 返回不同格式的订阅:
proxy-providers:
主力:
type: http
url: "..."
header:
User-Agent: ["clash.meta"]常用取值:clash.meta、mihomo、clash-verge/v2.5.2、ClashforWindows/0.19.23。
如果 provider 一直加载不出节点,UA 是首要怀疑对象。
health-check:为什么必须开
不开健康检查的话,provider 里的节点没有延迟数据,url-test 组就无从选择。
health-check:
enable: true
url: http://www.gstatic.com/generate_204
interval: 300
lazy: true
expected-status: 204 # 期望的状态码lazy: true 让没有流量经过时跳过检查,省资源。
override:批量修改节点属性
Mihomo 特有,用来统一调整 provider 里所有节点:
proxy-providers:
主力:
type: http
url: "..."
override:
udp: true # 强制开启 UDP
skip-cert-verify: false # 强制校验证书
additional-prefix: "[主力] " # 节点名加前缀
# additional-suffix: " ⚡"additional-prefix 在多订阅场景下很实用——节点列表里一眼能看出这个节点来自哪个订阅。
一套完整的多订阅配置
proxy-providers:
A订阅:
type: http
url: "https://a.example.com/sub"
interval: 3600
path: ./providers/a.yaml
exclude-filter: "(?i)剩余|到期|官网"
override:
additional-prefix: "[A] "
health-check: { enable: true, url: http://www.gstatic.com/generate_204, interval: 300, lazy: true }
B订阅:
type: http
url: "https://b.example.com/sub"
interval: 3600
path: ./providers/b.yaml
exclude-filter: "(?i)剩余|到期|官网"
override:
additional-prefix: "[B] "
health-check: { enable: true, url: http://www.gstatic.com/generate_204, interval: 600, lazy: true }
proxy-groups:
# 总开关
- name: "🚀 节点选择"
type: select
proxies: ["♻️ 全局最优", "🅰️ A订阅", "🅱️ B订阅", "🇭🇰 香港", DIRECT]
# 跨订阅自动选最快
- name: "♻️ 全局最优"
type: url-test
use: [A订阅, B订阅]
interval: 300
tolerance: 50
lazy: true
# 按订阅分组,方便对比和排查
- name: "🅰️ A订阅"
type: url-test
use: [A订阅]
interval: 300
tolerance: 50
- name: "🅱️ B订阅"
type: url-test
use: [B订阅]
interval: 300
tolerance: 50
# 跨订阅按地区分组
- name: "🇭🇰 香港"
type: url-test
use: [A订阅, B订阅]
filter: "(?i)香港|HK|Hong ?Kong"
interval: 300
tolerance: 50
# 主备切换:A 挂了自动用 B
- name: "🛡 主备切换"
type: fallback
proxies: ["🅰️ A订阅", "🅱️ B订阅"]
interval: 300本地文件与内联
本地文件(自己维护的节点):
proxy-providers:
自建:
type: file
path: ./providers/self.yaml
health-check: { enable: true, url: http://www.gstatic.com/generate_204, interval: 300 }文件格式:
proxies:
- name: "我的小鸡"
type: trojan
server: my.example.com
port: 443
password: "pwd"内联(直接写在主配置里):
proxy-providers:
自建:
type: inline
payload:
- name: "我的小鸡"
type: trojan
server: my.example.com
port: 443
password: "pwd"排查:provider 加载失败
更新不下来的处理
如果订阅地址本身当前网络访问不了,可以给 provider 指定走代理下载。部分版本支持在 provider 里直接写:
proxy-providers:
主力:
type: http
url: "..."
proxy: DIRECT # 或指定某个策略组不支持的话,在客户端的「订阅更新走代理」选项里开启。
和「多份 Profile」的区别
Clash Verge 里可以保存多份配置卡片,点一下切换。这和 proxy-providers 是两种思路:
| 多份 Profile | proxy-providers | |
|---|---|---|
| 切换方式 | 手动点卡片 | 不需要切换 |
| 切换代价 | 内核重载,连接中断 | 无 |
| 节点合并 | 做不到 | 可以跨订阅分组 |
| 配置维护 | 每份独立 | 一份主配置 |
| 适合 | 场景差异大(工作/家庭规则完全不同) | 只是节点来源不同 |
如果只是订阅来源不同、规则一样,用 provider;如果规则也完全不同,用多份 Profile。
小结
- 多订阅优先用 proxy-providers 合并,不要靠切换配置文件
exclude-filter清掉「剩余流量」这类伪节点health-check必须开,否则 url-test 没数据- 备用订阅的 interval 设长一些,减少无谓连接
additional-prefix标明来源,排查时省事- 加载失败先看 path 里的缓存文件长什么样
相关文档
把一份 Clash / Mihomo 配置从头到尾拆开讲:端口、模式、DNS、proxies、proxy-groups、rules、rule-providers 的作用与写法,附一份可直接使用的最小配置。
每种策略组的实际行为、适用场景和关键参数,附带一套可直接抄的分组结构,以及 Mihomo 特有的 include-all 与 filter 用法。
直接编辑订阅文件会在下次更新时前功尽弃。这篇讲 Clash Verge 的扩展配置机制:prepend/append/override 的写法、合并顺序,以及几个实用的扩展片段。