策略组
一个策略组可以包含多个策略。它可以是代理策略、另一个策略组或内置策略(DIRECT 和 REJECT)。
共有五种组类型:select、url-test、fallback、load-balance 和 ssid。[Proxy Group] 部分用于声明策略组。
手动选择组
在用户界面上选择使用哪个策略。
SelectGroup = select, ProxyHTTP, ProxyHTTPS, DIRECT, REJECT
在 iOS 版本中,你可以使用 Today Widget 快速切换第一个 'select' 组的策略。在 macOS 版本中,你可以在菜单栏菜单中切换策略。
自动测速组
通过对 URL 进行延迟基准测试,自动选择使用哪个策略。
AutoTestGroup = url-test, ProxySOCKS5, ProxySOCKS5TLS, url = http://www.google.com/generate_204
参数
url:必填
Chute 将向该 URL 发送 HTTP HEAD 请求。测试只关心是否接收到响应数据,即使响应是 HTTP 错误也可以。
interval:可选,秒(默认值:600 秒)。
基准测试结果将在间隔时间后被丢弃。如果再次使用该策略组,将重新进行测试。
tolerance:可选,毫秒(默认值:100 毫秒)。
只有当新的优胜者的得分高于旧优胜者的得分加上容忍值时,策略才会被切换。
timeout:可选,秒(默认值:5 秒)。
如果在超时时间内未完成,则放弃该策略。
回退组
按优先级选择一个可用的策略。可用性通过访问 URL 进行测试,就像自动测速组一样。前面定义的策略具有更高的优先级。
FallbackGroup = fallback, ProxySOCKS5, ProxySOCKS5TLS, url = http://www.google.com/generate_204
参数
url:必填
指定要测试的 URL。
interval:可选,秒(默认值:600 秒)。
决定基准测试结果在多久后被丢弃。
timeout:可选,秒(默认值:5 秒)。
如果某个策略在超时时间内未完成,则放弃该策略。
SSID 组
根据当前 Wi-Fi 的 SSID 选择策略。
SSIDGroup = ssid, default = ProxyHTTP, cellular = ProxyHTTP, SSIDName = ProxySOCKS5
参数
default:必填。
当未找到匹配的 SSID 选项时使用的策略。
cellular:可选。
蜂窝网络下的策略。如果未提供,将使用默认策略。
外部组
在未来的版本中,策略组可以从外部文件或 URL 导入策略。
egroup = select, policy-path=proxies.txt
该文件包含一个策略列表,就像主配置文件中的定义行一样:
Proxy-A = https, example1.com, 443
Proxy-B = https, example2.com, 443
负载均衡组
使用负载均衡策略将请求分配到多个代理上。
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 HEAD 请求来测试代理的可用性。只有健康的代理才会用于负载均衡。
interval:可选,秒(默认值:600 秒)。
interval = 300
重新测试代理可用性的频率。
timeout:可选,秒(默认值:5 秒)。
timeout = 3
可用性测试请求的超时时间。
max-failed-times:可选(默认值:5)。
max-failed-times = 3
代理被标记为不健康之前的连续失败次数。
lazy:可选(true/false,默认值:false)。
lazy = true
启用后,代理仅在首次使用时进行测试,而不是在启动时测试。
expected-status:可选(默认值:空)。
expected-status=204
URL 测试期望的 HTTP 状态码。如果指定,只有返回此状态码的响应才被视为成功。
hidden:可选(true/false,默认值:false)。
hidden = true
启用后,该策略组将在用户界面中隐藏。适用于由程序或脚本管理的组。
注意:
interrupt-exist-connections参数现在是一个全局[General]设置。请参阅 其他选项。
idle-timeout:可选,秒。
idle-timeout = 120
通过此策略组的连接的空闲超时时间。空闲时间超过此值的连接将被关闭。
代理提供者
代理提供者允许你从外部来源(文件或 URL)导入代理列表。在 [Proxy Provider] 部分中定义:
[Proxy Provider]
MyProvider = url=https://example.com/proxies.txt, path=/local/cache/proxies.txt, interval=3600
参数
| 参数 | 必填 | 描述 |
|---|---|---|
url |
否 | 获取代理列表的 URL |
path |
否 | 代理列表的本地文件路径 |
interval |
否 | 更新间隔(秒) |
format |
否 | 负载格式描述 |
filter |
否 | 用于包含匹配代理名称的过滤正则表达式 |
exclude-filter |
否 | 用于排除匹配代理名称的过滤正则表达式 |
payload-format |
否 | 解析器正确解析负载的提示 |
代理提供者通过名称在策略组中引用:
[Proxy Group]
MyGroup = select, policy-path=MyProvider