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-01-30 17:13:43 +07:00
|
|
|
# The request to dns upstream follows routing defined below.
|
2023-01-28 00:50:21 +07:00
|
|
|
dns_upstream: '1.1.1.1:53'
|
|
|
|
|
2023-01-30 17:13:43 +07:00
|
|
|
# The LAN interface to bind.
|
|
|
|
# Use it if you only want to proxy LAN instead of localhost.
|
2023-01-28 00:50:21 +07:00
|
|
|
# Now only support one interface.
|
2023-01-31 23:34:39 +07:00
|
|
|
# Require Linux kernel >= 5.2
|
2023-01-30 17:13:43 +07:00
|
|
|
# lan_interface: docker0
|
|
|
|
|
|
|
|
# The WAN interface to bind.
|
2023-01-30 19:37:08 +07:00
|
|
|
# Use it if you want to proxy localhost.
|
2023-01-31 23:34:39 +07:00
|
|
|
# Require Linux kernel >= 5.5
|
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-01-31 18:33:53 +07:00
|
|
|
ip(1.1.1.1) && port(53) -> my_group
|
2023-01-31 19:25:55 +07:00
|
|
|
pname(firefox) && domain(ip.sb) -> direct # pname like firefox not works yet [ FIXME ]
|
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
|
|
|
|
}
|