策略组
一个策略组可以包含多个策略。它可以是代理策略、另一个策略组或内置策略(DIRECT 和 REJECT)。
共有五种组类型:select、url-test、fallback、load-balance 和 ssid。[Proxy Group] 部分用于声明策略组。smart 类型同样被接受,并会被当作 url-test 处理。
手动选择组
在用户界面上选择使用哪个策略。
SelectGroup = select, ProxyHTTP, ProxyHTTPS, DIRECT, REJECT
可选参数:default=<index>(初始选中的成员索引)、policy-provider:Name(从代理提供者导入成员)、filter= / exclude-filter=(应用于提供者所提供成员的正则表达式)以及 HIDDEN=true。
在 iOS 版本中,你可以使用 Today Widget 快速切换第一个 'select' 组的策略。在 macOS 版本中,你可以在菜单栏菜单中切换策略。
自动测速组
通过对 URL 进行延迟基准测试,自动选择使用哪个策略。
AutoTestGroup = url-test, ProxySOCKS5, ProxySOCKS5TLS, url = http://www.google.com/generate_204
参数
url:可选
Chute 将向该 URL 发送 HTTP GET 请求。测试只关心是否接收到响应数据,即使响应是 HTTP 错误也可以。省略时,将使用默认的探测 URL http://www.gstatic.com/generate_204。
interval:可选,秒(默认值:600 秒)。
策略重新测试的频率。一个全局的 1 秒定时器驱动自动重测,每 interval 秒进行一次,无论该策略组是否正在被使用。有两个例外:设置了 lazy=true 的组在首次被使用之前不会开始测试;以及当该组闲置超过 idle-timeout 时,测试会暂停。
tolerance:可选,毫秒(默认值:100 毫秒)。
只有当新的优胜者的得分高于旧优胜者的得分加上容忍值时,策略才会被切换。
timeout:可选,秒(默认值:5 秒)。
如果在超时时间内未完成,则放弃该策略。
lazy:可选(true/false,默认值:false)。
启用后,策略仅在首次使用时进行测试,而不是在启动时测试。
max-failed-times:可选(默认值:0,禁用)。
连续测试失败达到该次数后,策略被视为不健康。此选项仅对负载均衡组有效,不健康的策略会被排除出选择范围。对于 url-test 和 fallback 组,失败次数会被记录,但不影响选择。未设置(0)时,测试失败绝不会排除任何策略。
expected-status:可选(默认值:空)。
expected-status=204
保留项。当前内核会解析但不生效——只要接收到任何响应数据,测试即视为成功,与状态码无关。
idle-timeout:可选,秒。
idle-timeout = 120
当该策略组在超过此时长内未被使用(没有新连接从中选取策略)时,周期性的 URL 测试将暂停。该组再次被使用后,测试会恢复。此选项不会关闭任何连接。
同时支持:HIDDEN=true、filter=、exclude-filter=、policy-provider:Name。
回退组
按优先级选择一个可用的策略。可用性通过访问 URL 进行测试,就像自动测速组一样。前面定义的策略具有更高的优先级。
FallbackGroup = fallback, ProxySOCKS5, ProxySOCKS5TLS, url = http://www.google.com/generate_204
参数
url:可选
指定要测试的 URL。省略时,将使用默认的探测 URL http://www.gstatic.com/generate_204。
interval:可选,秒(默认值:600 秒)。
策略重新测试的频率。语义与自动测速组相同。
timeout:可选,秒(默认值:5 秒)。
如果某个策略在超时时间内未完成,则放弃该策略。
lazy / max-failed-times:可选。
与自动测速组相同。同时支持:HIDDEN=true、filter=、exclude-filter=、policy-provider:Name。
SSID 组
根据当前 Wi-Fi 的 SSID 选择策略。
SSIDGroup = ssid, default = ProxyHTTP, cellular = ProxyHTTP, SSIDName = ProxySOCKS5
参数
default:必填。
当未找到匹配的 SSID 选项时使用的策略。
cellular:可选。
蜂窝网络下的策略。如果未提供,将使用默认策略。
除
default之外,还必须至少提供一条 SSID 映射(例如SSIDName = ProxySOCKS5)。
负载均衡组
使用负载均衡策略将请求分配到多个代理上。
LBGroup = load-balance, ProxySOCKS5, ProxyHTTPS, url = http://www.google.com/generate_204, strategy = round-robin
参数
strategy:可选(默认值:round-robin)
指定负载均衡策略:
| 策略 | 描述 |
|---|---|
round-robin |
按顺序将请求均匀分配到所有代理 |
consistent-hashing |
将相同的主机名一致地路由到相同的代理 |
sticky-sessions |
持续为所有连接复用上一次选中的代理;该粘滞选择是全局的(而非按客户端区分),并在做出选择 600 秒后失效 |
url:可选
url = http://www.google.com/generate_204
Chute 将发送 HTTP GET 请求来测试代理的可用性。省略时,将使用默认的探测 URL http://www.gstatic.com/generate_204。只有当 max-failed-times 大于 0 时,测试结果才会影响选择;在默认值 0 下,不健康的代理不会被排除。
interval:可选,秒(默认值:600 秒)。
interval = 300
重新测试代理可用性的频率。
timeout:可选,秒(默认值:5 秒)。
timeout = 3
可用性测试请求的超时时间。
lazy:可选(true/false,默认值:false)。
与自动测速组相同:在该组首次被使用之前不会开始测试。
max-failed-times:可选(默认值:0,禁用)。
max-failed-times = 3
连续测试失败达到该次数后,代理会被标记为不健康并被排除出负载均衡。在默认值 0 下,测试结果绝不会排除任何代理。如果所有代理都不健康,则会重新使用全部代理。
HIDDEN:可选(true/false,默认值:false)。
HIDDEN = true
启用后,该策略组将在用户界面中隐藏。该键按惯例写作大写,但匹配时不区分大小写,因此 hidden=true 同样有效。同样适用于 select、url-test 和 fallback 组。
注意:
interrupt-exist-connections参数现在是一个全局[General]设置。请参阅 杂项选项。
代理提供者
代理提供者允许你从外部来源(文件或 URL)导入代理列表。在 [Proxy Provider] 部分中定义:
[Proxy Provider]
MyProvider = url=https://example.com/proxies.yaml, interval=3600
参数
| 参数 | 必填 | 描述 |
|---|---|---|
type |
否 | http(默认)、file 或 inline |
url |
type=http 时必填 |
获取代理列表的 URL |
path |
type=file 时必填 |
代理列表的本地文件路径 |
interval |
否 | 更新间隔(秒)(默认:86400)。取值为 0 或更小时将禁用自动刷新 |
format |
否 | 负载格式。该值会被解析,但当前转换始终使用 mihomo-YAML 转换器,与该值无关 |
filter |
否 | 用于包含匹配代理名称的过滤正则表达式 |
exclude-filter |
否 | 用于排除匹配代理名称的过滤正则表达式 |
负载必须是 mihomo 风格的 YAML 文档,包含
proxies:(或payload:)列表。
代理提供者在策略组中通过 policy-provider: 前缀引用:
[Proxy Group]
MyGroup = select, policy-provider:MyProvider
本页为英文版的翻译。如内容有出入,以英文版为准。