231 lines
4.5 KiB
YAML
231 lines
4.5 KiB
YAML
log:
|
|
level: log_level
|
|
file: "log_file"
|
|
|
|
api:
|
|
http: "0.0.0.0:api_port"
|
|
|
|
include: []
|
|
|
|
plugins:
|
|
- tag: geosite_cn
|
|
type: domain_set
|
|
args:
|
|
files:
|
|
- "/var/mosdns/geosite_cn.txt"
|
|
|
|
- tag: geoip_cn
|
|
type: ip_set
|
|
args:
|
|
files:
|
|
- "/var/mosdns/geoip_cn.txt"
|
|
|
|
- tag: geosite_no_cn
|
|
type: domain_set
|
|
args:
|
|
files:
|
|
- "/var/mosdns/geosite_geolocation-!cn.txt"
|
|
|
|
- tag: whitelist
|
|
type: domain_set
|
|
args:
|
|
files:
|
|
- "/etc/mosdns/rule/whitelist.txt"
|
|
|
|
- tag: blocklist
|
|
type: domain_set
|
|
args:
|
|
files:
|
|
- "/etc/mosdns/rule/blocklist.txt"
|
|
|
|
- tag: greylist
|
|
type: domain_set
|
|
args:
|
|
files:
|
|
- "/etc/mosdns/rule/greylist.txt"
|
|
|
|
- tag: ddnslist
|
|
type: domain_set
|
|
args:
|
|
files:
|
|
- "/etc/mosdns/rule/ddnslist.txt"
|
|
|
|
- tag: hosts
|
|
type: hosts
|
|
args:
|
|
files:
|
|
- "/etc/mosdns/rule/hosts.txt"
|
|
|
|
- tag: redirect
|
|
type: redirect
|
|
args:
|
|
files:
|
|
- "/etc/mosdns/rule/redirect.txt"
|
|
|
|
- tag: adlist
|
|
type: domain_set
|
|
args:
|
|
files:
|
|
- "adblock"
|
|
|
|
- tag: local_ptr
|
|
type: domain_set
|
|
args:
|
|
files:
|
|
- "/etc/mosdns/rule/local-ptr.txt"
|
|
|
|
- tag: lazy_cache
|
|
type: cache
|
|
args:
|
|
size: cache_size
|
|
lazy_cache_ttl: cache_survival_time
|
|
|
|
- tag: forward_local
|
|
type: forward
|
|
args:
|
|
concurrent: concurrent_num
|
|
upstreams:
|
|
- addr: local_dns
|
|
|
|
- tag: forward_remote
|
|
type: forward
|
|
args:
|
|
concurrent: concurrent_num
|
|
upstreams:
|
|
- addr: remote_dns
|
|
|
|
- tag: modify_ttl
|
|
type: sequence
|
|
args:
|
|
- exec: ttl minimal_ttl_custom-maximum_ttl_custom
|
|
|
|
- tag: modify_ddns_ttl
|
|
type: sequence
|
|
args:
|
|
- exec: ttl 5-5
|
|
|
|
- tag: local_sequence
|
|
type: sequence
|
|
args:
|
|
- exec: $forward_local
|
|
|
|
- tag: remote_sequence
|
|
type: sequence
|
|
args:
|
|
- exec: prefer_ipv4
|
|
- exec: ecs_remote
|
|
- exec: $forward_remote
|
|
|
|
- tag: has_resp_sequence
|
|
type: sequence
|
|
args:
|
|
- matches: qname $ddnslist
|
|
exec: $modify_ddns_ttl
|
|
- matches: "!qname $ddnslist"
|
|
exec: $modify_ttl
|
|
- matches: has_resp
|
|
exec: accept
|
|
|
|
- tag: query_is_local_ip
|
|
type: sequence
|
|
args:
|
|
- exec: $local_sequence
|
|
- matches: "!resp_ip $geoip_cn"
|
|
exec: drop_resp
|
|
|
|
- tag: query_is_remote
|
|
type: sequence
|
|
args:
|
|
- exec: $remote_sequence
|
|
|
|
- tag: fallback
|
|
type: fallback
|
|
args:
|
|
primary: query_is_local_ip
|
|
secondary: query_is_remote
|
|
threshold: 500
|
|
always_standby: true
|
|
|
|
- tag: query_is_ddns_domain
|
|
type: sequence
|
|
args:
|
|
- matches: qname $ddnslist
|
|
exec: $local_sequence
|
|
|
|
- tag: query_is_local_domain
|
|
type: sequence
|
|
args:
|
|
- matches: qname $geosite_cn
|
|
exec: $local_sequence
|
|
|
|
- tag: query_is_no_local_domain
|
|
type: sequence
|
|
args:
|
|
- matches: qname $geosite_no_cn
|
|
exec: $remote_sequence
|
|
|
|
- tag: query_is_whitelist_domain
|
|
type: sequence
|
|
args:
|
|
- matches: qname $whitelist
|
|
exec: $local_sequence
|
|
|
|
- tag: query_is_greylist_domain
|
|
type: sequence
|
|
args:
|
|
- matches: qname $greylist
|
|
exec: $remote_sequence
|
|
|
|
- tag: query_is_reject_domain
|
|
type: sequence
|
|
args:
|
|
- matches: qname $blocklist
|
|
exec: reject 3
|
|
- matches: qname $adlist
|
|
exec: reject 3
|
|
- matches:
|
|
- qtype 12
|
|
- qname $local_ptr
|
|
exec: reject 3
|
|
- matches: qtype 65
|
|
exec: reject 3
|
|
|
|
- tag: main_sequence
|
|
type: sequence
|
|
args:
|
|
- exec: $hosts
|
|
- exec: jump has_resp_sequence
|
|
- matches:
|
|
- "!qname $ddnslist"
|
|
- "!qname $blocklist"
|
|
- "!qname $adlist"
|
|
- "!qname $local_ptr"
|
|
exec: $lazy_cache
|
|
- exec: $redirect
|
|
- exec: jump has_resp_sequence
|
|
- exec: $query_is_ddns_domain
|
|
- exec: jump has_resp_sequence
|
|
- exec: $query_is_whitelist_domain
|
|
- exec: jump has_resp_sequence
|
|
- exec: $query_is_reject_domain
|
|
- exec: jump has_resp_sequence
|
|
- exec: $query_is_greylist_domain
|
|
- exec: jump has_resp_sequence
|
|
- exec: $query_is_local_domain
|
|
- exec: jump has_resp_sequence
|
|
- exec: $query_is_no_local_domain
|
|
- exec: jump has_resp_sequence
|
|
- exec: $fallback
|
|
|
|
- tag: udp_server
|
|
type: udp_server
|
|
args:
|
|
entry: main_sequence
|
|
listen: ":listen_port"
|
|
|
|
- tag: tcp_server
|
|
type: tcp_server
|
|
args:
|
|
entry: main_sequence
|
|
listen: ":listen_port"
|