本文目录
自动选择并不只有一种含义:有人希望延迟更低,有人只希望主线路失效后用备用,还有人需要固定登录期间的出口。先确定自己要哪种结果,再选择策略组和测试方法;看起来相近的设置,可能会影响长连接和账号会话。
url-test、fallback、select 和 load-balance 怎么选?
策略组的选择方式
| type | 它怎么决定 | 适合场景 |
|---|---|---|
| select | 由用户手动选择 | 排障、固定账号出口、重要长连接 |
| url-test | 根据健康检查延迟选择 | 同等级节点的日常自动选择 |
| fallback | 按列表顺序选第一条可用项 | 主备切换,优先级明确 |
| load-balance | 按策略把连接分给多项 | 用于并发分流,不按固定主备顺序选择 |
候选节点:可用性、筛选与空列表
建立自动组前,用 select 固定候选节点,各完成一次真实请求。协议不受当前内核支持、订阅失效或在本地网络完全不可达的节点,应先移出候选;否则健康检查会持续报错,大量重复错误也会让有效日志难以查找。
节点可直接写进 proxies,也可用 use 引用 proxy-providers。provider 更新会改变候选名单,检查名称过滤、地区筛选与空列表,也让节点名称能区分地区或线路。
健康检查的 URL 与真实业务请求
健康检查会让每个候选节点访问 url 指定的地址。地址本身不稳定、在某些地区被拒绝,或必须登录,整组结果都会失真。通常选择稳定、响应很小、无需账号的 HTTPS 地址,例如返回 204 的探测页。
测试 URL 最好和日常访问内容接近,但不要使用带个人 token 的 API,也不要给第三方站点制造高频请求。同一个节点探测成功,只能说明这个 URL 在当时可达,视频、AI 流式回复和 UDP 仍要在对应应用里验证。
proxy-groups:
- name: 自动选择
type: url-test
include-all: true
url: https://www.gstatic.com/generate_204
interval: 300
tolerance: 80
lazy: trueinterval、tolerance、lazy 与探测超时
- interval
- 两次健康检查的间隔,单位为秒。太短会增加流量和服务端压力。
- tolerance
- url-test 的延迟容差,单位为毫秒。差距不明显时保留当前选择,可减少来回切换。
- lazy
- 组没有被使用时减少或停止主动检查,适合不是一直使用的策略组。
- timeout
- 某些配置可设单次探测等待时间。太短会把偶发慢响应当作不可用。
没有一组参数适合所有网络。家庭网络稳定、节点延迟接近时,可用较长 interval 和适度 tolerance。移动网络频繁切换,也不应把间隔压到几秒;新请求可能频繁换出口,已有连接是否中断则取决于节点故障及客户端是否关闭旧连接。
修改后观察一段真实使用。如果 Connections 中的节点几分钟内来回变化,而各候选只差几十毫秒,先增大 tolerance 或 interval,而不是继续增加节点。
fallback 的主线路与备用顺序
fallback 不会因为第二条延迟更低就跳过去。只要第一条通过健康检查,它就继续使用第一条;第一条不可用,才选择后面的可用项。因此配置顺序应体现业务偏好,例如稳定主线在前、成本更高或地区不同的备用线在后。
proxy-groups:
- name: 主线路
type: select
include-all: true
filter: "(?i)主线"
proxies: [DIRECT]
- name: 同区备用
type: select
include-all: true
filter: "(?i)同区备用"
proxies: [DIRECT]
- name: 异区备用
type: select
include-all: true
filter: "(?i)异区备用"
proxies: [DIRECT]
- name: 主备线路
type: fallback
proxies: [主线路, 同区备用, 异区备用]
url: https://www.gstatic.com/generate_204
interval: 300
lazy: true主线路恢复后,fallback 会在后续健康检查中重新判断。切回时已有连接不一定迁移,新请求才更容易看到新出口;账号后台和长下载仍应考虑使用固定 select,避免出口变化影响会话。
按地区组合 url-test 与 fallback
候选节点很多时,不必全部放进同一个 url-test。可以为每个地区分别建立 url-test,再把地区组按优先级加入 fallback。每个地区先选延迟较低的节点;当前地区不可用时,再切换到下一个地区。Connections 中还能看到请求经过了哪些策略组。
组嵌套越多,空 provider、循环引用和同名组越难发现。两层足够就不要加第三层;每个地区组都应能单独使用,再加入主备组。
proxy-groups:
- name: 香港自动
type: url-test
include-all: true
filter: "(?i)香港|HK"
url: https://www.gstatic.com/generate_204
interval: 300
tolerance: 80
- name: 日本自动
type: url-test
include-all: true
filter: "(?i)日本|JP"
url: https://www.gstatic.com/generate_204
interval: 300
tolerance: 80
- name: 地区主备
type: fallback
proxies: [香港自动, 日本自动]
url: https://www.gstatic.com/generate_204
interval: 300在独立测试组里观察选择与故障切换
前面的 YAML 片段只定义策略组。编辑完整配置的副本,把新增组加入已有 proxy-groups 列表,保留原来的节点、proxy-providers 和 rules;不要用片段替换整份配置,也不要重复写 proxy-groups 键。
以 Clash Verge Rev v1.6.2 及以后版本为例,将完整 YAML 副本拖入客户端,创建本地配置后选择使用。新组应出现在 Proxies;加载失败时重新选择原配置并查看日志,不覆盖原订阅文件。
不干扰日常会话的验证方法
使用配置副本里的独立测试组
不要在正在下载、开会或登录重要账号时试切换。
手动触发一次健康检查
记录每个候选的结果和当前选中项;示例的下层 select 组应指向实际代理节点,不是 DIRECT。
让浏览器走该策略组
Connections 应显示上层组、下层节点和实际出口。
观察下一轮检查
url-test 看容差内是否保持,fallback 看列表前项是否优先。
测试 fallback 时,可以把一条已经确认失效、且不含敏感信息的测试节点临时放在最前,只在独立组里观察它是否跳到第二项;完成后立即移除。不要通过断网、关系统代理或破坏生产配置来制造故障,那会同时改变太多变量。
空名单、探测失败与频繁换节点的处理
组显示空白
检查 proxies / use 引用、provider 更新时间和节点筛选结果。
全部候选 Timeout
单独测试 health URL,再比较当前网络与真实节点请求。
url-test 一直在两条节点间切换
增加 tolerance 或 interval,并确认探测地址稳定。
fallback 总选第二项
第一项没有通过健康检查;查看它的具体错误而不是调顺序。
切换后账号频繁重新登录
把敏感会话放进固定 select 组,避免自动变更出口。
provider 更新后组突然为空
核对过滤表达式和新节点名称,旧缓存可能掩盖此前问题。
用网页、长回复与下载验收自动组
把目标服务的规则指向自动组,连续完成几次网页、流式回复或下载。Connections 应显示预期的上层组和具体节点;url-test 不应因微小延迟差频繁跳动,fallback 应在主线路可用时保持第一项。
健康检查正常而原业务仍失败时,改用 select 固定当前节点重测,再检查协议、DNS 或目标服务。
