策略组
Egern 支持几种自定义策略:select(手动选择)、auto_test(延迟测试)、fallback(可用测试)、load_balance(负载均衡)、和external(外部资源)。此外,Egern 也支持两种默认策略:DIRECT(直连) 和 REJECT(拒绝)。
在 Egern 中,策略是决定如何处理网络流量的规则。您可以创建多个策略,每个策略都可以有多个代理服务器。当流量符合特定的规则时,Egern 将选择相应策略的代理服务器来处理流量。
手动选择策略
这种策略允许用户手动选择一个子策略或代理。这对于经常需要切换代理服务器的用户来说非常有用。
| 字段名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| name | string | 是 | 策略名称 |
| policies | string 数组 | 是 | 子策略名称或代理服务器名称 |
延迟测试策略
此策略会自动选择延迟最低的子策略或代理。这对于希望自动选择最快的代理服务器的用户来说非常有用。
| 字段名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| name | string | 是 | 策略名称 |
| policies | string 数组 | 是 | 子策略名称或代理服务器名称 |
| interval | integer | 否 | 延迟测试的间隔,默认为10分钟 |
| tolerance | integer | 否 | 延迟测试的差值变更范围,默认为100毫秒 |
| timeout | integer | 否 | 延迟测试超时时间,默认为5秒 |
可用测试策略
此策略会自动选择能够访问的第一个子策略或代理。这对于希望自动选择可用的代理服务器的用户来说非常有用。
| 字段名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| name | string | 是 | 策略名称 |
| policies | string 数组 | 是 | 子策略名称或代理服务器名称 |
| interval | integer | 否 | 可用性测试的间隔,默认为10分钟 |
| timeout | integer | 否 | 可用性测试超时时间,默认为5秒 |
负载均衡策略
此策略尽可能将流量平均分配给所有子策略或代理。这对于希望分散流量,防止单一代理服务器过载的用户来说非常有用。
| 字段名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| name | string | 是 | 策略名称 |
| policies | string 数组 | 是 | 子策略名称或代理服务器名称 |
外部资源策略
此策略使用本地或远程的策略组。这对于希望复用或共享策略的用户来说非常有用。
| 字段名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| name | string | 是 | 策略名称 |
| type | string | 是 | 代理集合的类型,可选值为 select,auto_test,fallback,load_balance |
| urls | string 数组 | 是 | 代理集合的地址,可以是本地路径或远程代理链接 |
| interval | integer | 否 | 延迟测试的间隔,默认为10分钟 |
| tolerance | integer | 否 | 延迟测试的差值变更范围,默认为100毫秒 |
| timeout | integer | 否 | 延迟测试超时时间,默认为5秒 |
| update_interval | integer | 否 | 更新间隔,默认为一天 |
本地或远程内容应为一组代理。
proxies:
- socks5:
name: Socks5
server: 127.0.0.1
port: 1080
username: ""
password: ""
tfo: true
udp_relay: true
- trojan:
name: Trojan
server: 127.0.0.1
port: 443
sni: bing.com
password: password
tfo: false
udp_relay: true配置示例
例
policy_groups:
- select:
name: "手动选择"
policies:
- US
- JP
- auto_test:
name: "延迟测试"
policies:
- US
- JP
- fallback:
name: "可用测试"
policies:
- US
- JP
- load_balance:
name: "负载均衡"
policies:
- US
- JP
- external:
name: "远程代理"
type: select
urls:
- "https://raw.githubusercontent.com/proxies.yaml"在此配置中,我们设置了几种策略,包括手动选择、延迟测试、可用测试、负载均衡以及外部资源。每个策略都有自己的名称,并且列出了可以用于该策略的代理服务器(US 和 JP)。在外部资源策略中,我们设置了一个远程代理的 URL。