Skip to content

代理组

[[proxy-group]] 给多个代理起一个共同的名字,并决定每条连接用哪一个。规则和 global-proxy 可以像引用代理一样引用代理组。

toml
[[proxy-group]]
name = "work"
type = "fallback"
proxies = ["office", "office-backup", "DIRECT"]
url = "https://www.gstatic.com/generate_204"
interval = 300

类型

type选择方式
select在 UI 中手动选择的成员;未选择时使用第一个
url-test健康检查延迟最低的成员
fallback按列表顺序第一个通过健康检查的成员
load-balancestrategy 为每条连接选一个成员

字段

字段类型适用说明
name字符串全部必填;在代理和代理组中唯一;不能含逗号
type字符串全部必填;四种类型之一
proxies数组全部必填;[[proxy]] 名称、DIRECTREJECT
url字符串url-testfallbackload-balance健康检查地址,应快速返回,例如 https://www.gstatic.com/generate_204
interval整数同上健康检查间隔(秒),必须为正。不写就不会做健康检查url-testfallback 永远不会切换
tolerance整数url-test毫秒;其他成员快出这么多时才切换
strategy字符串load-balanceconsistent-hashing(同一目标固定同一成员)或 round-robin
dialer-proxy字符串全部所有成员都经由这个代理连接,见代理链
icon字符串全部UI 中显示的图标

出现其他字段会报错 unknown field

示例

手动选择:

toml
[[proxy-group]]
name = "exit"
type = "select"
proxies = ["office", "home", "DIRECT"]

自动选最快:

toml
[[proxy-group]]
name = "auto"
type = "url-test"
proxies = ["office", "home"]
url = "https://www.gstatic.com/generate_204"
interval = 300
tolerance = 50

分散连接:

toml
[[proxy-group]]
name = "spread"
type = "load-balance"
proxies = ["office", "home"]
strategy = "consistent-hashing"
url = "https://www.gstatic.com/generate_204"
interval = 300

校验器强制的规则

  • 代理组不能嵌套。 成员只能是代理、DIRECTREJECT。想合并两个组的成员,直接列出代理。
  • 每个成员都必须存在。 拼错会报 Proxy group '<组名>' references unknown proxy: <名称>
  • 至少一个成员。 proxies 为空会被拒绝。
  • 使用 dialer-proxy 时, 成员必须是具体代理(不能是 DIRECTREJECT),且 dialer 代理 本身不能同时是成员。
  • 代理组字段 use(按过滤条件引用 provider 成员)在当前版本不可用。

说明

  • 健康检查只能证明检查地址经由该成员可达。请选一个与你关心的流量走同一路径的地址。
  • load-balance 分配的是整条连接,不会把多个成员的带宽叠加到一次下载上。
  • fallback 组最后放一个 DIRECT,所有代理都挂掉时流量仍能通。如果这部分流量绝不能直连, 就不要加。