策略组
一个策略组可以包含多个策略。它可以是代理策略、另一个策略组或内置策略(DIRECT 和 REJECT)。
共有五种组类型:select、url-test、fallback、load-balance 和 ssid。[Proxy Group] 部分用于声明策略组。
手动选择组
在用户界面上选择使用哪个策略。
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 错误也可以。
interval:可选,秒(默认值:600 秒)。
基准测试结果将在间隔时间后被丢弃。如果再次使用该策略组,将重新进行测试。
tolerance:可选,毫秒(默认值:100 毫秒)。
只有当新的优胜者的得分高于旧优胜者的得分加上容忍值时,策略才会被切换。
timeout:可选,秒(默认值:5 秒)。
如果在超时时间内未完成,则放弃该策略。
lazy:可选(true/false,默认值:false)。
启用后,策略仅在首次使用时进行测试,而不是在启动时测试。
max-failed-times:可选(默认值:0,禁用)。
策略被排除出选择范围之前的连续失败次数。未设置(0)时,策略绝不会因失败次数而被排除。
expected-status:可选(默认值:空)。
expected-status=204
URL 测试期望的 HTTP 状态码。如果指定,只有返回此状态码的响应才被视为成功。
idle-timeout:可选,秒。
idle-timeout = 120
通过此策略组的连接的空闲超时时间。空闲时间超过此值的连接将被关闭。
同时支持:HIDDEN=true、filter=、exclude-filter=、policy-provider:Name。
回退组
按优先级选择一个可用的策略。可用性通过访问 URL 进行测试,就像自动测速组一样。前面定义的策略具有更高的优先级。
FallbackGroup = fallback, ProxySOCKS5, ProxySOCKS5TLS, url = http://www.google.com/generate_204
参数
url:必填
指定要测试的 URL。
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 |
基于客户端亲和性将会话粘滞到同一代理 |
url:必填
url = http://www.google.com/generate_204
Chute 将发送 HTTP GET 请求来测试代理的可用性。只有健康的代理才会用于负载均衡。
interval:可选,秒(默认值:600 秒)。
interval = 300
重新测试代理可用性的频率。
timeout:可选,秒(默认值:5 秒)。
timeout = 3
可用性测试请求的超时时间。
HIDDEN:可选(true/false,默认值:false)。
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) |
format |
否 | 负载格式 |
filter |
否 | 用于包含匹配代理名称的过滤正则表达式 |
exclude-filter |
否 | 用于排除匹配代理名称的过滤正则表达式 |
负载必须是 mihomo 风格的 YAML 文档,包含
proxies:(或payload:)列表。
代理提供者在策略组中通过 policy-provider: 前缀引用:
[Proxy Group]
MyGroup = select, policy-provider:MyProvider