2023-01-28 00:50:21 +07:00
|
|
|
global {
|
|
|
|
# tproxy port to listen.
|
|
|
|
tproxy_port: 12345
|
|
|
|
|
|
|
|
# Node connectivity check.
|
|
|
|
check_url: 'https://connectivitycheck.gstatic.com/generate_204'
|
2023-01-28 14:47:43 +07:00
|
|
|
check_interval: 30s
|
2023-01-28 00:50:21 +07:00
|
|
|
|
|
|
|
# Now only support UDP and IP:Port.
|
|
|
|
# Please make sure DNS traffic will go through and be forwarded by dae.
|
2023-02-04 17:18:06 +07:00
|
|
|
# The upstream DNS answer MUST NOT be polluted.
|
2023-01-30 17:13:43 +07:00
|
|
|
# The request to dns upstream follows routing defined below.
|
2023-02-04 16:11:01 +07:00
|
|
|
dns_upstream: '8.8.8.8:53'
|
2023-01-28 00:50:21 +07:00
|
|
|
|
2023-02-01 11:18:19 +07:00
|
|
|
# The LAN interface to bind. Use it if you only want to proxy LAN instead of localhost.
|
|
|
|
# Multiple interfaces split by ",".
|
2023-01-30 17:13:43 +07:00
|
|
|
# lan_interface: docker0
|
|
|
|
|
2023-02-01 11:18:19 +07:00
|
|
|
# The WAN interface to bind. Use it if you want to proxy localhost
|
|
|
|
# Multiple interfaces split by ","
|
2023-01-30 14:50:55 +07:00
|
|
|
wan_interface: wlp5s0
|
2023-01-28 00:50:21 +07:00
|
|
|
}
|
|
|
|
|
2023-01-31 23:02:46 +07:00
|
|
|
# Subscriptions defined here will be resolved as nodes and merged as a part of global node pool.
|
2023-01-28 00:50:21 +07:00
|
|
|
subscription {
|
|
|
|
# Add your subscription links here.
|
|
|
|
}
|
|
|
|
|
2023-01-31 23:02:46 +07:00
|
|
|
# Nodes defined here will be merged as a part of global node pool.
|
2023-01-28 00:50:21 +07:00
|
|
|
node {
|
|
|
|
# Add your node links here.
|
|
|
|
# Support socks5, http, https, ss, ssr, vmess, vless, trojan, trojan-go
|
2023-01-30 17:13:43 +07:00
|
|
|
'socks5://localhost:1080'
|
2023-01-28 00:50:21 +07:00
|
|
|
'ss://LINK'
|
|
|
|
}
|
|
|
|
|
|
|
|
group {
|
|
|
|
my_group {
|
2023-01-31 23:02:46 +07:00
|
|
|
# Filter nodes from global node pool defined by subscription and node section above.
|
|
|
|
# Pass node names as input of keyword/regex filter.
|
|
|
|
filter: name(regex:'HK|SG|TW', keyword:'JP', keyword: SH) && !name(keyword:"GCP")
|
2023-01-28 00:50:21 +07:00
|
|
|
|
|
|
|
# Randomly select a node from the group for every connection.
|
2023-01-29 06:31:52 +07:00
|
|
|
# policy: random
|
|
|
|
|
2023-01-31 23:02:46 +07:00
|
|
|
# Select the node with min last latency from the group for every connection.
|
|
|
|
# policy: min
|
|
|
|
|
2023-01-29 06:31:52 +07:00
|
|
|
# Select the first node from the group for every connection.
|
2023-01-28 00:50:21 +07:00
|
|
|
policy: fixed(0)
|
|
|
|
}
|
2023-01-31 23:02:46 +07:00
|
|
|
|
|
|
|
group2 {
|
|
|
|
# Filter nodes from global node pool defined by subscription and node section above.
|
|
|
|
# Pass node names as input of keyword/regex filter.
|
|
|
|
filter: name(keyword: netflix)
|
|
|
|
|
|
|
|
# Select the node with min average of the last 10 latencies from the group for every connection.
|
|
|
|
policy: min_avg10
|
|
|
|
}
|
2023-01-28 00:50:21 +07:00
|
|
|
}
|
|
|
|
|
|
|
|
routing {
|
2023-01-30 17:13:43 +07:00
|
|
|
# See routing.md for full examples.
|
2023-01-31 23:02:46 +07:00
|
|
|
|
2023-02-04 17:18:06 +07:00
|
|
|
ip(8.8.8.8, 1.1.1.1) && port(53) -> my_group
|
2023-02-04 10:24:03 +07:00
|
|
|
|
|
|
|
pname(firefox) && domain(ip.sb) -> direct
|
2023-01-31 18:33:53 +07:00
|
|
|
pname(curl) && domain(ip.sb) -> my_group
|
2023-01-30 17:13:43 +07:00
|
|
|
|
2023-01-30 19:34:07 +07:00
|
|
|
ip(geoip:private) -> direct
|
2023-01-28 00:50:21 +07:00
|
|
|
ip(geoip:cn) -> direct
|
|
|
|
domain(geosite:cn) -> direct
|
|
|
|
final: my_group
|
|
|
|
}
|