mirror of
https://github.com/kenzok8/small-package
synced 2025-09-18 18:51:16 +08:00
209 lines
4.6 KiB
YAML
209 lines
4.6 KiB
YAML
log:
|
|
level: loglvl
|
|
file: "logfile"
|
|
|
|
# api:
|
|
# http: "127.0.0.1:8080" # 在该地址启动 api 接口。
|
|
|
|
plugins:
|
|
# 加载配置
|
|
# 国内域名
|
|
- tag: geosite_cn
|
|
type: domain_set
|
|
args:
|
|
files: # 从文本文件载入
|
|
- "/etc/mosdns/rule/geosite_cn.txt"
|
|
|
|
# 国内ip
|
|
- tag: geoip_cn
|
|
type: ip_set
|
|
args:
|
|
files: # 从文本文件载入
|
|
- "/etc/mosdns/rule/geoip_cn.txt"
|
|
|
|
# 国外域名
|
|
- tag: geosite_no_cn
|
|
type: domain_set
|
|
args:
|
|
files: # 从文本文件载入
|
|
- "/etc/mosdns/rule/geosite_no_cn.txt"
|
|
|
|
# 白名单 加入的域名始终允许使用 “本地 DNS” 进行解析
|
|
- tag: whitelist
|
|
type: domain_set
|
|
args:
|
|
files: # 从文本文件载入
|
|
- "/etc/mosdns/rule/whitelist.txt"
|
|
|
|
# 黑名单 加入的域名将屏蔽 DNS 解析
|
|
- tag: blocklist
|
|
type: domain_set
|
|
args:
|
|
files: # 从文本文件载入
|
|
- "/etc/mosdns/rule/blocklist.txt"
|
|
|
|
# 自定义 Hosts 重写
|
|
- 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:
|
|
- "/etc/mosdns/rule/serverlist.txt"
|
|
|
|
# 缓存
|
|
- tag: cache
|
|
type: cache
|
|
args:
|
|
size: 20480
|
|
lazy_cache_ttl: 259200
|
|
dump_file: "/etc/mosdns/rule/cache.dump"
|
|
dump_interval: 43200
|
|
|
|
# 转发至本地服务器
|
|
- tag: forward_local
|
|
type: forward
|
|
args:
|
|
upstreams:
|
|
- addr: localdns1
|
|
- addr: localdns2
|
|
|
|
# 转发至远程服务器
|
|
- tag: forward_remote
|
|
type: forward
|
|
args:
|
|
upstreams:
|
|
- addr: remotedns1
|
|
enable_pipeline: true
|
|
- addr: remotedns2
|
|
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
|
|
|
|
|
|
# fallback 用本地服务器 sequence
|
|
# 返回不包含本地 ip 则 reject
|
|
- tag: query_is_local_ip
|
|
type: sequence
|
|
args:
|
|
- exec: $local_sequence
|
|
- matches: resp_ip $geoip_cn
|
|
exec: accept
|
|
- exec: reject
|
|
|
|
# fallback 用远程服务器 sequence
|
|
- tag: query_is_remote
|
|
type: sequence
|
|
args:
|
|
- exec: $remote_sequence
|
|
- exec: accept
|
|
|
|
# fallback 用远程服务器 sequence
|
|
- tag: fallback
|
|
type: fallback
|
|
args:
|
|
primary: query_is_local_ip
|
|
secondary: query_is_remote
|
|
threshold: 150
|
|
always_standby: true
|
|
|
|
|
|
# 查询国内域名
|
|
- 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
|
|
- exec: jump has_resp_sequence
|
|
|
|
# 拒绝名单
|
|
- tag: query_is_reject_domain
|
|
type: sequence
|
|
args:
|
|
- matches: qname $blocklist
|
|
exec: reject 3
|
|
- matches: qname $adlist
|
|
exec: reject 3
|
|
- matches:
|
|
- qtype 12
|
|
exec: reject 3
|
|
- matches: qtype 65
|
|
exec: reject 3
|
|
|
|
# 主要的运行逻辑插件
|
|
# sequence 插件中调用的插件 tag 必须在 sequence 前定义,
|
|
# 否则 sequence 找不到对应插件。
|
|
- tag: main_sequence
|
|
type: sequence
|
|
args:
|
|
- exec: $hosts
|
|
- exec: jump has_resp_sequence
|
|
- exec: $redirect
|
|
- exec: jump has_resp_sequence
|
|
- exec: $query_is_whitelist_domain
|
|
- exec: $query_is_reject_domain
|
|
- exec: $cache
|
|
- 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
|
|
|
|
# 启动 udp 服务器。
|
|
- tag: udp_server
|
|
type: udp_server
|
|
args:
|
|
entry: main_sequence
|
|
listen: "127.0.0.1:listenport"
|
|
# 启动 tcp 服务器。
|
|
- tag: tcp_server
|
|
type: tcp_server
|
|
args:
|
|
entry: main_sequence
|
|
listen: "127.0.0.1:listenport"
|