这是文件 “/etc/mosdns/config_custom.yaml” 的内容,您的 MosDNS 配置将从此文件生成。仅接受 yaml 格式的配置内容。
log:
level: info
file: "/var/log/mosdns.log"
plugins:
- tag: ddnslist
type: domain_set
args:
files:
- "/etc/mosdns/rule/ddnslist.txt"
# 缓存
- tag: lazy_cache
type: cache
args:
size: 400
lazy_cache_ttl: 60
dump_file: "/etc/mosdns/cache.dump"
dump_interval: 500
# 转发至本地服务器
- tag: forward_local
type: forward
args:
concurrent: 2
upstreams:
- addr: '119.29.29.29'
bootstrap: '119.29.29.29'
enable_pipeline: false
insecure_skip_verify: false
idle_timeout: 30
- addr: '223.5.5.5'
bootstrap: '119.29.29.29'
enable_pipeline: false
insecure_skip_verify: false
idle_timeout: 30
# 转发至远程服务器
- tag: forward_remote
type: forward
args:
concurrent:
upstreams:
- tag: google_doh
addr: "https://dns.google/dns-query"
dial_addr: "8.8.8.8"
bootstrap: "8.8.8.8"
idle_timeout: 30
socks5: "127.0.0.1:1083"
- addr: 'tcp://8.8.8.8'
idle_timeout: 30
socks5: '127.0.0.1:1083'
enable_pipeline: true
# 国内解析
- tag: local_sequence
type: sequence
args:
- exec: $forward_local
# 国外解析
- tag: remote_sequence
type: sequence
args:
- exec: prefer_ipv4
- exec: $forward_remote
# 有响应终止返回
- tag: has_resp_sequence
type: sequence
args:
- matches: has_resp
exec: accept
- tag: query_is_local
type: sequence
args:
- exec: $local_sequence
# fallback 用远程服务器 sequence
- tag: query_is_remote
type: sequence
args:
- exec: $remote_sequence
# fallback 用远程服务器 sequence
- tag: fallback
type: fallback
args:
primary: query_is_remote
secondary: query_is_remote
threshold: 30000
always_standby: false
- tag: query_is_ddns_domain
type: sequence
args:
- matches: qname $ddnslist
exec: $forward_local
# 主要的运行逻辑插件
# sequence 插件中调用的插件 tag 必须在 sequence 前定义,
# 否则 sequence 找不到对应插件。
- tag: main_sequence
type: sequence
args:
- matches:
- '!qname $ddnslist'
exec: $lazy_cache
- exec: $query_is_ddns_domain
- exec: jump has_resp_sequence
- exec: $fallback
# 启动 udp 服务器。
- tag: udp_server
type: udp_server
args:
entry: main_sequence
listen: ":5135"
- tag: tcp_server
type: tcp_server
args:
entry: main_sequence
listen: ':5135'
其中/etc/mosdns/rule/ddnslist.txt 中
MosDNS Rules
*.cpolar.top
cpolar.top
cpolard.cpolar.com
cpolar.com
*.cpolar.com
regexp:(^|\.)cpolar\.top$