feat:mosdns添加静态IP版本

This commit is contained in:
okxlin 2023-08-25 10:59:11 +08:00
parent 9156c845f7
commit f92db9461f
21 changed files with 245039 additions and 6 deletions

View File

@ -1,5 +1,5 @@
CONTAINER_NAME="mosdns"
PANEL_APP_PORT_HTTP="40028"
API_PORT="40029"
PANEL_APP_PORT_API="40029"
DATA_PATH="./data"

View File

@ -10,7 +10,7 @@ additionalProperties:
type: number
- default: 40029
edit: true
envKey: API_PORT
envKey: PANEL_APP_PORT_API
labelEn: API port
labelZh: API端口
required: true

View File

@ -8,7 +8,7 @@ services:
ports:
- "${PANEL_APP_PORT_HTTP}:53/tcp"
- "${PANEL_APP_PORT_HTTP}:53/udp"
- "${API_PORT}:8080"
- "${PANEL_APP_PORT_API}:8080"
volumes:
- "${DATA_PATH}:/etc/mosdns"
image: irinesistiana/mosdns:v5.1.3

View File

@ -1,5 +1,5 @@
CONTAINER_NAME="mosdns"
PANEL_APP_PORT_HTTP="40028"
API_PORT="40029"
PANEL_APP_PORT_API="40029"
DATA_PATH="./data"

View File

@ -10,7 +10,7 @@ additionalProperties:
type: number
- default: 40029
edit: true
envKey: API_PORT
envKey: PANEL_APP_PORT_API
labelEn: API port
labelZh: API端口
required: true

View File

@ -8,7 +8,7 @@ services:
ports:
- "${PANEL_APP_PORT_HTTP}:53/tcp"
- "${PANEL_APP_PORT_HTTP}:53/udp"
- "${API_PORT}:8080"
- "${PANEL_APP_PORT_API}:8080"
volumes:
- "${DATA_PATH}:/etc/mosdns"
image: irinesistiana/mosdns:latest

View File

@ -0,0 +1,5 @@
CONTAINER_NAME="mosdns"
PANEL_APP_PORT_HTTP="40028"
PANEL_APP_PORT_API="40029"
DATA_PATH="./data"
SUBNET_SUFFIX="240"

View File

@ -0,0 +1,32 @@
additionalProperties:
formFields:
- default: 40028
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: DNS service port
labelZh: DNS服务端口
required: true
rule: paramPort
type: number
- default: 40029
edit: true
envKey: PANEL_APP_PORT_API
labelEn: API port
labelZh: API端口
required: true
rule: paramPort
type: number
- default: ./data
edit: true
envKey: DATA_PATH
labelEn: Data folder path
labelZh: 数据文件夹路径
required: true
type: text
- default: 240
edit: true
envKey: SUBNET_SUFFIX
labelEn: Subnet suffix (172.18.0.x)
labelZh: 子网后缀 (172.18.0.x)
required: true
type: text

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,140 @@
full:a1.mzstatic.com
full:a2.mzstatic.com
full:a3.mzstatic.com
full:a4.mzstatic.com
full:a5.mzstatic.com
full:adcdownload.apple.com.akadns.net
full:adcdownload.apple.com
full:app-site-association.cdn-apple.com
full:appldnld.apple.com
full:appldnld.g.aaplimg.com
full:appleid.cdn-apple.com
full:apps.apple.com
full:apps.mzstatic.com
full:cdn-cn1.apple-mapkit.com
full:cdn-cn2.apple-mapkit.com
full:cdn-cn3.apple-mapkit.com
full:cdn-cn4.apple-mapkit.com
full:cdn.apple-mapkit.com
full:cdn1.apple-mapkit.com
full:cdn2.apple-mapkit.com
full:cdn3.apple-mapkit.com
full:cdn4.apple-mapkit.com
full:cds-cdn.v.aaplimg.com
full:cds.apple.com.akadns.net
full:cds.apple.com
full:cdsassets.apple.com
full:cl1-cdn.origin-apple.com.akadns.net
full:cl1.apple.com
full:cl2-cn.apple.com
full:cl2.apple.com
full:cl3-cdn.origin-apple.com.akadns.net
full:cl3.apple.com
full:cl4-cdn.origin-apple.com.akadns.net
full:cl4-cn.apple.com
full:cl4.apple.com
full:cl5-cdn.origin-apple.com.akadns.net
full:cl5.apple.com
full:clientflow.apple.com.akadns.net
full:clientflow.apple.com
full:configuration.apple.com.akadns.net
full:configuration.apple.com
full:cstat.apple.com
full:cstat.cdn-apple.com
full:dd-cdn.origin-apple.com.akadns.net
full:download.developer.apple.com
full:gs-loc-cn.apple.com
full:gs-loc.apple.com
full:gsp10-ssl-cn.ls.apple.com
full:gsp13-cn.ls.apple.com
full:gsp4-cn.ls.apple.com.edgekey.net.globalredir.akadns.net
full:gsp4-cn.ls.apple.com.edgekey.net
full:gsp4-cn.ls.apple.com
full:gsp5-cn.ls.apple.com
full:gsp85-cn-ssl.ls.apple.com
full:gspe19-cn-ssl.ls.apple.com
full:gspe19-cn.ls-apple.com.akadns.net
full:gspe19-cn.ls.apple.com
full:gspe21-ssl.ls.apple.com
full:gspe21.ls.apple.com
full:gspe35-ssl.ls.apple.com
full:guzzoni-apple-com.v.aaplimg.com
full:guzzoni.apple.com
full:iadsdk.apple.com
full:icloud-cdn.icloud.com.akadns.net
full:icloud.cdn-apple.com
full:images.apple.com.akadns.net
full:images.apple.com.edgekey.net.globalredir.akadns.net
full:images.apple.com
full:init-p01md-lb.push-apple.com.akadns.net
full:init-p01md.apple.com
full:init-p01st-lb.push-apple.com.akadns.net
full:init-p01st.push.apple.com
full:init-s01st-lb.push-apple.com.akadns.net
full:init-s01st.push.apple.com
full:iosapps.itunes.g.aaplimg.com
full:ipcdn.apple.com
full:iphone-ld.apple.com
full:iphone-ld.origin-apple.com.akadns.net
full:is1-ssl.mzstatic.com
full:is1.mzstatic.com
full:is2-ssl.mzstatic.com
full:is2.mzstatic.com
full:is3-ssl.mzstatic.com
full:is3.mzstatic.com
full:is4-ssl.mzstatic.com
full:is4.mzstatic.com
full:is5-ssl.mzstatic.com
full:is5.mzstatic.com
full:itunes-apple.com.akadns.net
full:itunes.apple.com
full:itunesconnect.apple.com
full:mesu-cdn.apple.com.akadns.net
full:mesu-china.apple.com.akadns.net
full:mesu.apple.com
full:music.apple.com
full:ocsp-lb.apple.com.akadns.net
full:ocsp.apple.com
full:ocsp2.apple.com
full:oscdn.apple.com
full:oscdn.origin-apple.com.akadns.net
full:osxapps.itunes.g.aaplimg.com
full:pancake.apple.com
full:pancake.cdn-apple.com.akadns.net
full:prod-support.apple-support.akadns.net
full:publicassets.cdn-apple.com
full:reserve-prime.apple.com
full:s.mzstatic.com
full:smp-device-content.apple.com
full:stocks-sparkline-lb.apple.com.akadns.net
full:stocks-sparkline.apple.com
full:store.apple.com.edgekey.net.globalredir.akadns.net
full:store.apple.com.edgekey.net
full:store.apple.com
full:store.storeimages.apple.com.akadns.net
full:store.storeimages.cdn-apple.com
full:support-china.apple-support.akadns.net
full:support.apple.com
full:swallow.apple.com
full:swallow-apple-com.v.aaplimg.com
full:swcatalog-cdn.apple.com.akadns.net
full:swcatalog.apple.com
full:swcdn.apple.com
full:swcdn.g.aaplimg.com
full:swdist.apple.com.akadns.net
full:swdist.apple.com
full:swscan-cdn.apple.com.akadns.net
full:swscan.apple.com
full:updates-http.cdn-apple.com.akadns.net
full:updates-http.cdn-apple.com
full:updates.cdn-apple.com
full:valid.apple.com
full:valid.origin-apple.com.akadns.net
full:weather-data.apple.com.akadns.net
full:weather-data.apple.com
full:weather-map.apple.com
full:weather-map2.apple.com
full:www.apple.com.edgekey.net.globalredir.akadns.net
full:www.apple.com.edgekey.net
full:www.apple.com
full:xp.apple.com

View File

@ -0,0 +1,207 @@
# 参考文档1https://www.xukecheng.tech/use-mosdns-and-adguardhome-to-build-your-own-dns
# 参考文档2https://github.com/IrineSistiana/mosdns/discussions/605
log:
level: info # 日志级别。可选 "debug" "info" "warn" "error"。默认 "info"。
production: true # 纯 json 输出。
# API 入口设置
api:
http: "127.0.0.1:8080" # 在该地址启动 api 接口。
# []string, 从其他配置文件载入 plugins 插件设置。
# include 的插件会比本配置文件中的插件先初始化。
include: []
plugins:
# 重定向域名
- tag: redirect
type: redirect
args:
rules:
- www.cnbeta.com www.cnbeta.com.tw
# 国内解析域名
- tag: "geosite-cn"
type: domain_set
args:
files:
- "/etc/mosdns/direct-list.txt"
- "/etc/mosdns/apple-cn.txt"
- "/etc/mosdns/google-cn.txt"
# 国外解析域名
- tag: "geosite-nocn"
type: domain_set
args:
files:
- "/etc/mosdns/proxy-list.txt"
- "/etc/mosdns/gfw.txt"
# 国内解析IP
- tag: "geoip-cn"
type: ip_set
args:
files: "/etc/mosdns/CN-ip-cidr.txt"
# 强制国内解析域名
- tag: "force-cn"
type: domain_set
args:
files: "/etc/mosdns/force-cn.txt"
# 强制国外解析域名
- tag: "force-nocn"
type: domain_set
args:
files: "/etc/mosdns/force-nocn.txt"
# 自定义hosts
- tag: hosts
type: hosts
args:
files:
- "/etc/mosdns/hosts"
# 缓存
- tag: "cache"
type: "cache"
args:
size: 1024
lazy_cache_ttl: 0
dump_file: /etc/mosdns/cache.dump
dump_interval: 600
# 转发至国内DNS并发查询
- tag: forward_local
type: forward
args:
concurrent: 3
upstreams:
- addr: "https://dns.alidns.com/dns-query"
- addr: "tls://dns.alidns.com"
- addr: "https://1.12.12.12/dns-query"
- addr: "https://120.53.53.53/dns-query"
# 转发至国外DNS并发查询
- tag: forward_remote
type: forward
args:
concurrent: 3
upstreams:
- addr: "https://cloudflare-dns.com/dns-query"
- addr: "tls://1dot1dot1dot1.cloudflare-dns.com"
- addr: "https://dns.google/dns-query"
- addr: "tls://dns.google"
# fallback的primary服务器,返回非国内ip则drop_resp
- tag: local_sequence
type: sequence
args:
- exec: $forward_local
- exec: ttl 60-3600
- matches:
- "!resp_ip $geoip-cn"
- "has_resp"
exec: drop_resp
# fallback的secondary服务器,返回非国内ip则添加至ipset,返回国内ip只接受不会添加ipset
- tag: remote_sequence
type: sequence
args:
- exec: $forward_remote
- matches: "!resp_ip $geoip-cn"
exec: ipset gfwlist,inet,24
- exec: accept
# fallback sequence
- tag: fallback
type: fallback
args:
primary: local_sequence
secondary: remote_sequence
threshold: 500
always_standby: true
# gfwlist解析出的ip添加至ipset添加前先判断是否为国内ip或内网ip
- tag: gfw-list
type: sequence
args:
- exec: ttl 300-3600
- matches: "!resp_ip $geoip-cn"
exec: ipset gfwlist,inet,24
- exec: accept
# 主运行序列
- tag: main_sequence
type: sequence
args:
- exec: $hosts
- exec: query_summary hosts
- matches: has_wanted_ans
exec: accept
- exec: query_summary qtype65
- matches:
- qtype 65
exec: reject 0
# 屏蔽广告
# - matches: qname &/etc/mosdns/reject-list.txt &/etc/mosdns/my-reject-list.txt
# exec: reject
- exec: prefer_ipv4
- exec: $redirect
# 动态域名跳过缓存
- matches: "!qname 00006801.com"
exec: $cache
- matches: has_resp
exec: accept
- matches:
- qname $geosite-cn
exec: $forward_local
- exec: query_summary geosite-cn
- matches: has_wanted_ans
exec: accept
- matches:
- qname $force-cn
exec: $forward_local
- exec: query_summary force-cn
- matches: has_wanted_ans
exec: accept
- matches:
- qname $geosite-nocn
exec: $forward_remote
- exec: query_summary geosite-nocn
- matches: has_wanted_ans
exec: goto gfw-list
- matches:
- qname $force-nocn
exec: $forward_remote
- exec: query_summary force-nocn
- matches: has_wanted_ans
exec: goto gfw-list
- exec: $fallback
# 启动监听服务
- tag: "udp_server"
type: "udp_server"
args:
entry: main_sequence
listen: 0.0.0.0:53
- tag: "tcp_server"
type: "tcp_server"
args:
entry: main_sequence
listen: 0.0.0.0:53

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,159 @@
full:265.com
full:2mdn-cn.net
full:2mdn.net
full:accounts.googlers.com
full:accounts.xn--9trs65b.com
full:accounts.xn--ggle-55da.com
full:admob-cn.com
full:adservice.google.com
full:ai.ytimg.com
full:app-measurement-cn.com
full:app-measurement.com
full:apps5.oingo.com
full:avail.googleflights.net
full:beacons.gcp.gvt2.com
full:beacons.gvt2.com
full:beacons2.gvt2.com
full:beacons3.gvt2.com
full:borgmon.adz.google.com
full:c.admob.com
full:c.android.clients.google.com
full:cache-management-prod.google.com
full:cache.pack.google.com
full:checkin.gstatic.com
full:clickserve.cc-dt.com
full:clickserve.dartsearch.net
full:clickserver.googleads.com
full:clientservices.googleapis.com
full:cn.widevine.com
full:cnappinstall.googleadapis.com
full:connectivitycheck.gstatic.com
full:content.googleadapis.com
full:corp.google.com
full:corp.googleapis.com
full:crashlyticsreports-pa.googleapis.com
full:crl.pki.goog
full:csi.gstatic.com
full:dartsearch-cn.net
full:dg-meta.video.google.com
full:distribution.qatp1.net
full:distribution.qcpp1.net
full:distribution.qpdp1.net
full:dl.google.com
full:dl.l.google.com
full:doubleclick-cn.net
full:doubleclick.net
full:download.mlcc.google.com
full:download.qatp1.net
full:download.qcpp1.net
full:download.qpdp1.net
full:download.tensorflow.google.com
full:emmapplecodevice.googleapis.com
full:firebase-settings.crashlytics.com
full:fontfiles.googleadapis.com
full:fontfiles.googleapis.com
full:fonts.googleadapis.com
full:fonts.googleapis.com
full:fonts.gstatic.com
full:g0.gstatic.com
full:g1.gstatic.com
full:g2.gstatic.com
full:g3.gstatic.com
full:gcpnode.com
full:gonglchuangl.net
full:gongyichuangyi.net
full:google-analytics-cn.com
full:google-analytics.com
full:googleadservices-cn.com
full:googleadservices.com
full:googleanalytics.com
full:googleapis-cn.com
full:googleapps-cn.com
full:googleflights-cn.net
full:googleoptimize-cn.com
full:googleoptimize.com
full:googleplex.com
full:googlesyndication-cn.com
full:googlesyndication.com
full:googletagmanager-cn.com
full:googletagmanager.com
full:googletagservices-cn.com
full:googletagservices.com
full:googletraveladservices-cn.com
full:googletraveladservices.com
full:googlevads-cn.com
full:goto.google.com
full:gstatic-cn.com
full:gstaticadssl.l.google.com
full:gtm.oasisfeng.com
full:gvt1-cn.com
full:gvt2-cn.com
full:imasdk.googleapis.com
full:monitoring.qatp1.net
full:monitoring.qcpp1.net
full:monitoring.qpdp1.net
full:ocsp.pki.goog
full:pagead-googlehosted.l.google.com
full:performanceparameters.googleapis.com
full:pki-goog.l.google.com
full:play.1ucrs.com
full:prod-controlbe.floonet.goog
full:prod-databe.floonet.goog
full:prod.databe.floonet.goog
full:qagpublic.qatp1.net
full:qagpublic.qcpp1.net
full:qagpublic.qpdp1.net
full:qgadmin.qatp1.net
full:qgadmin.qcpp1.net
full:qgadmin.qpdp1.net
full:qpx.googleflights.net
full:qualysapi.qatp1.net
full:qualysapi.qcpp1.net
full:qualysapi.qpdp1.net
full:qualysguard.qatp1.net
full:qualysguard.qcpp1.net
full:qualysguard.qpdp1.net
full:recaptcha.net
full:redirector.bdn.dev
full:redirector.c.chat.google.com
full:redirector.c.mail.google.com
full:redirector.c.pack.google.com
full:redirector.c.play.google.com
full:redirector.c.youtubeeducation.com
full:redirector.gcpcdn.gvt1.com
full:redirector.gvt1.com
full:redirector.offline-maps.gvt1.com
full:redirector.snap.gvt1.com
full:redirector.xn--ngstr-lra8j.com
full:regioninfo-pa.googleapis.com
full:safebrowsing.googleapis.com
full:scanservice1.qatp1.net
full:scanservice1.qcpp1.net
full:scanservice1.qpdp1.net
full:service.urchin.com
full:settings.xn--9trs65b.com
full:ssl-google-analytics.l.google.com
full:ssl.gstatic.com
full:staging-controlbe.floonet.goog
full:staging-databe.floonet.goog
full:staging-regioninfo-pa.googleapis.com
full:staging.databe.floonet.goog
full:support.1ucrs.com
full:tac.googleapis.com
full:test.bugs-qa.chromium.org
full:test.gbugs-qa.chromium.org
full:tools.google.com
full:tools.l.google.com
full:up.corp.goog
full:up.gcp.googlers.com
full:update.crashlytics.com
full:update.googleapis.com
full:wear.googleapis.com
full:www-google-analytics.l.google.com
full:www-googletagmanager.l.google.com
full:www.destinationurl.com
full:www.googleadapis.com
full:www.gstatic.com
full:www.pxcc.com
full:xn--9kr7l.com
full:xn--flw351e.com

View File

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,31 @@
#!/bin/sh
# 创建临时目录
mkdir -p ./tmp
# 下载 direct-list.txt 文件
wget -O ./tmp/direct-list.txt https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/direct-list.txt
# 下载 apple-cn.txt 文件
wget -O ./tmp/apple-cn.txt https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/apple-cn.txt
# 下载 google-cn.txt 文件
wget -O ./tmp/google-cn.txt https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/google-cn.txt
# 下载 proxy-list.txt 文件
wget -O ./tmp/proxy-list.txt https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/proxy-list.txt
# 下载 gfw.txt 文件
wget -O ./tmp/gfw.txt https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/gfw.txt
# 下载 reject-list.txt 文件
wget -O ./tmp/reject-list.txt https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/reject-list.txt
# 下载 CN-ip-cidr.txt 文件
wget -O ./tmp/CN-ip-cidr.txt https://raw.githubusercontent.com/Hackl0us/GeoIP2-CN/release/CN-ip-cidr.txt
# 将临时目录下的文件复制到当前目录
cp -rf ./tmp/* .
# 删除临时目录
rm -r ./tmp

View File

@ -0,0 +1,22 @@
version: '3'
services:
mosdns:
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network:
ipv4_address: 172.18.0.${SUBNET_SUFFIX}
ports:
- "${PANEL_APP_PORT_HTTP}:53/tcp"
- "${PANEL_APP_PORT_HTTP}:53/udp"
- "${PANEL_APP_PORT_API}:8080"
volumes:
- "${DATA_PATH}:/etc/mosdns"
image: irinesistiana/mosdns:latest
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true