Git Product home page Git Product logo

easymosdns's Introduction

EasyMosdns v3.0

基于Mosdns的精准DNS分流策略,仅需几分钟即可搭建一台支持ECS的无污染DNS服务器。

About Mosdns

Mosdns 是一个插件化的DNS转发/分流器。用户可以按需拼接插件,搭建适合自己的DNS服务器。

配置灵活的优点可以满足各种场景下的DNS使用,相对也会有较高的使用门槛,无法开箱即用。

About EasyMosdns

EasyMosdns 是基于Mosdns制作的EDNS部署方案,内置**大陆地区优化规则与分流API,满足DNS日常使用场景。

转发规则:

  • 本地上游并发请求 DNSPod 与 AliDNS
  • 远程上游优先请求 EasyMosDNS分流API(DoH)
  • 远程上游超时请求 GoogleDNS 与 OpenDNS
  • 支持使用socks5代理连接远程上游

功能说明:

  • 支持EDNS解析,根据域名与**大陆IP列表智能分流,查询结果无污染
  • 污染列表与自定义列表中的域名,请求上游DNS时自动替换附带的用户IP子网信息,保护隐私
  • 强化Hosts功能,域名支持多个IP,支持IPv6
  • 支持指定ECS,强制域名附带指定的ECS解析
  • DNS缓存时间优化,自动更新缓存,支持Redis持久化存储,根据场景自动切换缓存规则
  • 轻度过滤恶意广告,可通过白名单自定义过滤规则
  • 屏蔽TYPE65与非**大陆地区的IPv6请求,自动保留纯IPv6域名的请求,以获取更好的网络体验
  • 支持规则自动更新,提供直连/CDN两种下载更新规则的方式
  • 支持上游节点故障时自动转移,优化DNS服务的稳定性

打赏项目:

打赏项目的用户可参与测试支持DoT与DoH(http2/3)且更精准的分流API 前往发电

更多信息:

查看搭建教程/测试DNS效果 请前往 https://apad.pro/easymosdns/

Installation

请先确认:

  • Mosdns已安装且可以正常运行
  • Mosdns版本 4.5.3
  • Mosdns工作目录是否为 /etc/mosdns
  • config配置文件已备份
  • config配置文件中'protocol: udp'与'protocol: tcp'字段下方的addr:使用的端口号

部署示例:

  • 案例操作系统为Almalinux,仅供参考,不同Linux发行版本命令可能略有差异
  • 脚本工作目录为 /etc/mosdns 不建议更改,如需更改请自行修改源码
  • 如 mosdns 二进制文件未在 /usr/local/bin 或 /usr/bin 目录下,应在二进制文件所在目录下执行命令
  • 脚本默认启动 UDP/TCP 53端口运行mosdns,如需更改端口,请修改config配置文件结尾处的protocol:

  • 卸载Mosdns服务
mosdns service stop
mosdns service uninstall

如果Mosdns的工作目录为 /etc/mosdns 无需卸载服务
安装完成后使用 mosdns service restart 命令重启mosdns服务即可

  • 下载源码解压缩
wget https://mirror.apad.pro/dns/easymosdns.tar.gz
tar xzf easymosdns.tar.gz
mv /etc/mosdns /etc/mosdns.old
mv easymosdns /etc/mosdns
  • 重新安装并启动Mosdns服务
mosdns service install -d /etc/mosdns -c config.yaml
mosdns service start

看到 service is running 证明部署成功

启动参数示例:

/usr/local/bin/mosdns start --as-service -d /etc/mosdns -c config.yaml
  • 开启防火墙端口

部署完成后,请开启防火墙的端口
默认情况下,应开启 UDP53 TCP53 TCP80 TCP443 TCP853 端口


配置自定义规则:

  • 自定义hosts

请添加规则至 /etc/mosdns/hosts.txt

格式与常规hosts规则不同,域名在前、IP在后,支持一行多个IP,支持IPv6
hosts规则示例:

dns.google 8.8.8.8 8.8.4.4 2001:4860:4860::8888
  • 强制域名附带本地ECS解析

请添加域名至 /etc/mosdns/ecs_cn_domain.txt

域名规则有多个匹配方式:
以 domain: 开头,域匹配。e.g: domain:google.com 会匹配自身 google.com,以及其子域名 www.google.com, maps.l.google.com
以 full: 开头,完整匹配。e.g: full:google.com 只会匹配自身
以 keyword: 开头,关键字匹配。e.g: keyword:google.com 会匹配包含这个字段的域名,如 google.com.hk, www.google.com.hk
以 regexp: 开头,正则匹配(Golang 标准)。e.g: regexp:.+.google.com$

  • 强制域名附带指定ECS解析

请添加域名至 /etc/mosdns/ecs_noncn_domain.txt

域名规则匹配方式同上
部分在**大陆没有CDN节点的域名,会向**大陆的访问者分配距离较远的CDN节点
将域名添加至该名单后,当域名有距离**较近的CDN节点时会自动分配,优化访问速度,例如 github.com


Using EasyMosdns

  • 如果只想快速搭建一台无污染的DNS服务器,仅需阅读后续文档中的自动更新规则部分
  • 内置默认规则,根据**大陆地区网络环境优化,基本满足DNS日常使用场景
  • 该项目已将常用功能封装成插件形式,只需修改 /etc/mosdns/config.yaml 配置文件中的相应插件参数即可

手动/自动更新规则

  • 直连下载更新规则
/etc/mosdns/rules/update
  • 通过CDN下载更新规则
/etc/mosdns/rules/update-cdn
  • 自动更新规则

使用 crontab -e 命令在最后一行添加对应规则即可

每日5点整通过CDN下载更新规则的示例

0 5 * * * /etc/mosdns/rules/update-cdn

切换本地上游DNS

  • 转发至本地服务器的插件
  - tag: forward_local
    type: fast_forward
    args:
      upstream:
        - addr: "223.5.5.5"
        - addr: "tls://120.53.53.53:853"
          enable_pipeline: true

修改 addr: 后的DNS地址即可
如果不确定上游DNS是否支持pipeline,请将 enable_pipeline: 设置为false
默认使用AliDNS+DNSPod同时查询的方式解析
运营商DNS不支持ECS,仅建议网络环境为内网时使用

切换远程上游DNS

  • 转发至远程服务器的插件
  - tag: forward_remote
    type: fast_forward
    args:
      upstream:
        - addr: "tcp://208.67.220.220:5353"
          enable_pipeline: true
          #socks5: "127.0.0.1:1080"
        - addr: "tls://8.8.4.4"
          enable_pipeline: true
          #socks5: "127.0.0.1:1080"

修改 addr: 后的DNS地址即可
如果不确定上游DNS是否支持pipeline,请将 enable_pipeline: 设置为false
默认使用GoogleDNS+OpenDNS同时查询的方式解析,如遇到连接问题建议配置socks5代理
OpenDNS不支持指定ECS,如需配置指定ECS,应开启OpenDNS的socks5代理

切换分流API/DNS

  • 转发至分流服务器的插件
  - tag: forward_easymosdns
    type: fast_forward
    args:
      upstream:
        - addr: "https://doh.apad.pro/dns-query"
          bootstrap: "119.29.29.29"
          #dial_addr: "ip:port"
          #enable_http3: true

修改 addr: 后的DNS地址即可
可以使用 dial_addr: 指定分流服务器的IP与端口,优化访问速度
如果确定分流服务器支持http3,可开启 enable_http3: 优化访问速度
默认使用EasyMosdns项目官方的分流API,如需切换应确定所选的API或DNS服务支持分流功能

开启Redis持久化缓存

  • 缓存的插件
  - tag: cache_lan
    type: cache
    args:
      size: 8192
      #redis: "redis://127.0.0.1:6379/0"
      lazy_cache_ttl: 86400
      cache_everything: true
      lazy_cache_reply_ttl: 1
  - tag: cache_wan
    type: cache
    args:
      size: 131072
      compress_resp: true
      #redis: "redis://127.0.0.1:6379/0"
      lazy_cache_ttl: 86400
      cache_everything: true
      lazy_cache_reply_ttl: 5

将两处 #redis: "redis://127.0.0.1:6379/0" 更改为 redis: "redis://127.0.0.1:6379/0"
需部署Redis服务,默认连接本机6379端口

配置指定ECS

  • 指定ECS的插件
  - tag: ecs_global
    type: ecs
    args:
      auto: false
      ipv4: "168.95.1.0"
      ipv6: "2001:b000:168::"
      force_overwrite: false

修改 ipv4:ipv6: 后的IP段即可
默认ECS参数已针对**大陆地区优化,根据网络环境自动判断开关
如果将ECS设置为本地公网IP段,将关闭指定ECS功能
当代理客户端使用本地DNS解析时,应将ECS指定为距离代理IP出口最近的IP段,以获取最佳的访问速度

关闭广告过滤功能

  • 屏蔽广告域名
        - if: query_is_ad_domain
          exec:
          - black_hole
          - ttl_1h
          - _return

black_hole 更改为 forward_local

关闭非本地IPv6屏蔽功能

  • 优先返回ipv4结果
        - _prefer_ipv4

将三处 - _prefer_ipv4 更改为 #- _prefer_ipv4

开启DoH监听

修改 /etc/mosdns/config.yaml 配置文件
去除以下注释

      - protocol: http
        addr: "127.0.0.1:9053"
        url_path: "/dns-query"
        get_user_ip_from_header: "X-Forwarded-For"

建议使用http模式,前端使用nginx反代

nginx配置示例:

  server {
    ...
    location /dns-query {
    set_real_ip_from 0.0.0.0/0;
    real_ip_header X-Forwarded-For;
    proxy_pass http://127.0.0.1:9053/dns-query;
    }
  }

开启DoT监听

修改 /etc/mosdns/config.yaml 配置文件
去除以下注释,指定SSL证书位置

      - protocol: tls             
        addr: "0.0.0.0:853"
        cert: "/etc/mosdns/yourdomain.cert"
        key: "/etc/mosdns/yourdomain.key"

修改UDP/TCP监听端口

示例:

      - protocol: udp
        addr: "0.0.0.0:8053"
      - protocol: tcp
        addr: "0.0.0.0:8053"

更多帮助和支持

  • 项目完整开源,可用于部署DNS服务器、开发软路由插件等多种场景
  • 使用源码仅需标明使用 EasyMosdns 的源码即可
  • 配置文件相关问题,请查阅 Mosdns-Wiki

Contact Us

For feedback, questions, and to follow the progress of the project:
Telegram Group

easymosdns's People

Contributors

pmkol avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

easymosdns's Issues

有个别站打不开

大佬,我遇到一个现象,https://affyun.com 这个站,查看dns返回的结果跟运营商返回的结果是一样的。但确打不开页面。错误代码连接到 affyun.com 时发生错误。PR_END_OF_FILE_ERROR

但是我手动设置位运营商的dns,不用mosdns,站点打开就很正常。

这是什么问题?

能否做一个全局ipv4结果优先的切换脚本

大佬,你好,能否做一个全局ipv4优先切换脚本,主要是现在ipv6国内还是比较不健全,想国内查询也用ipv4结果优先。
或者我应该修改配置文件里那些位置,我添加了,似乎无效。

能否添加 Cloudflare CDN IP 地址 替换成自选IP?自己缝合了一下发现并没有生效。请大佬们指点一二,谢谢。

能否添加 Cloudflare CDN IP 地址 替换成自选IP?自己缝合了一下发现并没有生效。请大佬们指点一二,谢谢。

# EasyMosdns v3.0(Final Release)
# https://apad.pro/easymosdns
log:
    file: "/tmp/mosdns.log"
    level: warn

data_providers:
  - tag: chinalist
    file: ./rules/china_domain_list.txt
    auto_reload: true
  - tag: gfwlist
    file: ./rules/gfw_domain_list.txt
    auto_reload: true
  - tag: cdncn
    file: ./rules/cdn_domain_list.txt
    auto_reload: true
  - tag: chinaip
    file: ./rules/china_ip_list.txt
    auto_reload: true
  - tag: gfwip
    file: ./rules/gfw_ip_list.txt
    auto_reload: true
  - tag: cfip
    file: ./rules/cf_ip_list.txt
    auto_reload: true
  - tag: adlist
    file: ./rules/ad_domain_list.txt
    auto_reload: true
  - tag: ecscn
    file: ./ecs_cn_domain.txt
    auto_reload: true
  - tag: ecsnoncn
    file: ./ecs_noncn_domain.txt
    auto_reload: true
  - tag: hosts
    file: ./hosts.txt
    auto_reload: true

plugins:
  # 缓存的插件
  # [lan|wan]
  - tag: cache_lan
    type: cache
    args:
      size: 8192
      #redis: "redis://127.0.0.1:6379/0"
      lazy_cache_ttl: 86400
      cache_everything: true
      lazy_cache_reply_ttl: 1
  - tag: cache_wan
    type: cache
    args:
      size: 131072
      compress_resp: true
      #redis: "redis://127.0.0.1:6379/0"
      lazy_cache_ttl: 86400
      cache_everything: true
      lazy_cache_reply_ttl: 5

  # Hosts的插件
  - tag: hosts
    type: hosts
    args:
      hosts:
        - "provider:hosts"

  # 获取ECS的插件
  - tag: ecs_auto
    type: ecs
    args:
      auto: true
      force_overwrite: false
      
  # 指定ECS的插件
  - tag: ecs_global
    type: ecs
    args:
      auto: false
      ipv4: "168.95.1.0"
      ipv6: "2001:b000:168::"
      force_overwrite: false

  # 匹配ECS的插件
  - tag: ecs_is_lan
    type: query_matcher
    args:
      ecs: 
        - "0.0.0.0/8"
        - "10.0.0.0/8"
        - "100.64.0.0/10"
        - "127.0.0.0/8"
        - "169.254.0.0/16"
        - "172.16.0.0/12"
        - "192.0.0.0/24"
        - "192.0.2.0/24"
        - "198.18.0.0/15"
        - "192.88.99.0/24"
        - "192.168.0.0/16"
        - "198.51.100.0/24"
        - "203.0.113.0/24"
        - "224.0.0.0/3"
        - "::1/128"
        - "fc00::/7"
        - "fe80::/10"
  - tag: ecs_is_cn
    type: query_matcher
    args:
      ecs: 
        - "provider:chinaip"

  # 调整TTL的插件
  # [1m|5m|1h]
  - tag: ttl_1m
    type: ttl
    args:
      minimal_ttl: 60
      maximum_ttl: 3600
  - tag: ttl_5m
    type: ttl
    args:
      minimal_ttl: 300
      maximum_ttl: 86400
  - tag: ttl_1h
    type: ttl
    args:
      minimal_ttl: 3600
      maximum_ttl: 86400

  # 匹配TYPE12类型请求的插件
  - tag: qtype12
    type: query_matcher
    args:
      qtype: [12]

  # 匹配TYPE65类型请求的插件
  - tag: qtype65
    type: query_matcher
    args:
      qtype: [65]

  # 匹配TYPE255类型请求的插件
  - tag: qtype255
    type: query_matcher
    args:
      qtype: [255]

  # 匹配RCODE2的插件
  - tag: response_server_failed
    type: response_matcher
    args:
      rcode: [2]

  # 屏蔽请求的插件
  - tag: black_hole
    type: blackhole
    args:
      rcode: 0
      ipv4: "0.0.0.0"
      ipv6: "::"

  # 匹配无效域名的插件
  - tag: query_is_non_domain
    type: query_matcher
    args:
      domain:
        - "keyword::"

  # 匹配本地域名的插件
  - tag: query_is_local_domain
    type: query_matcher
    args:
      domain:
        - "provider:chinalist"

  # 匹配污染域名的插件
  - tag: query_is_non_local_domain
    type: query_matcher
    args:
      domain:
        - "provider:gfwlist"

  # 匹配CDN域名的插件
  - tag: query_is_cdn_cn_domain
    type: query_matcher
    args:
      domain:
        - "provider:cdncn"

  # 匹配广告域名的插件
  - tag: query_is_ad_domain
    type: query_matcher
    args:
      domain:
        - "provider:adlist"

  # 匹配强制本地解析域名的插件
  - tag: query_is_cn_domain
    type: query_matcher
    args:
      domain:
        - "provider:ecscn"

  # 匹配强制非本地解析域名的插件
  - tag: query_is_noncn_domain
    type: query_matcher
    args:
      domain:
        - "provider:ecsnoncn"

  # 匹配本地IP的插件
  - tag: response_has_local_ip
    type: response_matcher
    args:
      ip:
        - "provider:chinaip"

  # 匹配污染IP的插件
  - tag: response_has_gfw_ip
    type: response_matcher
    args:
      ip:
        - "provider:gfwip"

  # 匹配CFIP的插件
  - tag: response_has_cf_ip
    type: response_matcher
    args:
      ip:
        - "provider:cfip"

  # 匹配最佳CFIP的插件
  - tag: blackhole_bestcfip
    type: blackhole
    args:
      ipv4: "162.159.39.121"

  # 转发至本地服务器的插件
  - tag: forward_local
    type: fast_forward
    args:
      upstream:
        - addr: "218.104.111.114"
        - addr: "218.104.111.122"

  # 转发至远程服务器的插件
  - tag: forward_remote
    type: fast_forward
    args:
      upstream:
        - addr: "https://1.1.1.1/dns-query"
          #socks5: "127.0.0.1:1080"
        - addr: "https://1.0.0.1/dns-query"
          #socks5: "127.0.0.1:1080"

  # 转发至分流服务器的插件
  - tag: forward_easymosdns
    type: fast_forward
    args:
      upstream:
        - addr: "https://doh.apad.pro/dns-query"
          bootstrap: "119.29.29.29"
          #dial_addr: "ip:port"
          #enable_http3: true

  # 主要的运行逻辑插件
  # sequence 插件中调用的插件 tag 必须在 sequence 前定义
  # 否则 sequence 找不到对应插件
  - tag: main_sequence
    type: sequence
    args:
      exec:
        # 域名映射IP
        - hosts

        # 屏蔽TYPE65与无效类型请求
        - if: "[qtype65] || (query_is_non_domain)"
          exec:
            - _new_nxdomain_response
            - _return

        # 优化PRT与ANY类型请求
        - if: "[qtype12] || [qtype255]"
          exec:
            - _no_ecs
            - forward_local
            - ttl_1h
            - _return

        # 缓存ECS
        - ecs_auto
        - _edns0_filter_ecs_only
        - if: ecs_is_lan
          exec:
            - cache_lan
            - _no_ecs
          else_exec:
            - cache_wan

        # 强制用本地服务器解析
        - if: query_is_cn_domain
          exec:
            - forward_local
            - ttl_5m
            - _return

        # 强制用非本地服务器解析
        - if: query_is_noncn_domain
          exec:
            # 优先返回ipv4结果
            - _prefer_ipv4
            - ecs_global
            - primary:
                # 默认用分流服务器
                - forward_easymosdns
              secondary:
                # 超时用远程服务器
                - forward_remote
              fast_fallback: 2500
              always_standby: false
            - ttl_5m
            - _return

        # 屏蔽广告域名
        - if: query_is_ad_domain
          exec:
          - black_hole
          - ttl_1h
          - _return

        # 已知的本地域名或CDN域名用本地服务器解析
        - if: "(query_is_local_domain) || (query_is_cdn_cn_domain)"
          exec:
            - primary:
                # 默认用本地服务器
                - forward_local
                - ttl_1m
              secondary:
                # 超时用分流服务器
                - forward_easymosdns
                - ttl_5m
              fast_fallback: 25
              always_standby: false
            # 预防已知的本地域名临时污染
            - if: "(! response_has_gfw_ip)"
              exec:
                - _return

        # 已知的污染域名用分流服务器或远程服务器解析
        - if: query_is_non_local_domain
          exec:
            # 优先返回ipv4结果
            - _prefer_ipv4
            - ecs_global
            - primary:
                # 默认用分流服务器
                - forward_easymosdns
              secondary:
                # 超时用远程服务器
                - forward_remote
              fast_fallback: 2500
              always_standby: false
            - ttl_5m
            - _return

        # 剩下的未知域名用IP分流
        # 优先返回ipv4结果
        - _prefer_ipv4
        - primary:
            # 默认用分流服务器
            - forward_easymosdns
            - if: response_server_failed
              exec:
                - forward_local
                - _return
            - ecs_global
            - if: "(! ecs_is_cn) && (! response_has_local_ip) && [_response_valid_answer]"
              exec:
                - forward_easymosdns
          secondary:
            # 超时用本地分流器
            - forward_remote
            - if: response_has_local_ip
              exec:
                - forward_local
                - _return
            - ecs_global
            - if: "(! ecs_is_cn) && [_response_valid_answer]"
              exec:
                - forward_remote
          fast_fallback: 2500
          always_standby: false
        - ttl_5m

        # 重定向Cloudflare到自选最佳IP
        - if: response_has_cf_ip
          exec:
            - blackhole_bestcfip
            - ttl_1h
            - _return

servers:
  - exec: main_sequence
    timeout: 6
    listeners:
      - protocol: udp
        addr: "127.0.0.1:5553"
      #- protocol: tcp
      #  addr: "0.0.0.0:53"
      #- protocol: http
      #  addr: "127.0.0.1:9053"
      #  url_path: "/dns-query"
      #  get_user_ip_from_header: "X-Forwarded-For"
      #- protocol: tls             
      #  addr: "0.0.0.0:853"
      #  cert: "/etc/mosdns/yourdomain.cert"  # TLS 所需证书文件。
      #  key: "/etc/mosdns/yourdomain.key"    # TLS 所需密钥文件。

#api:
#    http: "127.0.0.1:9080"

本地转发器

局域网也有dns服务器,看说明是使用host进行配置,但是数量太多了
是否有转发器的方式,比如 x.test.com dns-server:10.10.10.10
尝试写这样,*.test.com 10.10.10.10 无法正常解析
非常感谢。

esc-off关闭

最新esaymosdns,部署完成以后,发现esc-off关闭选项没有了,请问现在在哪里关闭

使用3.0版还是看见dns泄露

昨天尝试在本地局域网搭建了一下使用,感觉很不错,非常感谢.只不过用https://browserleaks.com/dns 检测还是存在dns泄露的问题.后来尝试把分流服务器改成其他上游dns服务器后泄露就不存在了.改回默认的分流服务器又发生泄露.但是单独使用分流服务器的doh也不会出现dns泄露,我是在centos8上搭的

vps部署的隐私问题

起因:国内vps陡然在9月7日至今跑了共100G流量,收到提示,平时一天最多500m,遂排查

问题描述:iftop 检查到 vps 的53端口不停朝复数个的国外 ip 的80端口 tx 数据,无 rx 返回,反正端口占用程序为 mosdns ,国内vps无反问国外网址能力

脚本设置:开启缓存,国内腾讯,国外google+open

已停用,只能查到这了,接下来不知道怎么查,待明天查看流量使用恢复没

推断:某种情况 vps 的 dns 服务被扫描到,然后作为节点在提供服务,但不停发送数据不知是触发了什么bug

能否像nextdns 的dot服务那样有前缀

不知道问题反馈至哪边,这边为脚本,那边为原程序T T,我俩边都发下哦

内网域名解析

您好,如果我同时想解析内网域名zxc.com
我该修改哪些配置?

请教CN域名来源

对比了 felixonmars/dnsmasq-china-list,总体一致,但有多处增删。
请问是另有数据来源呢,还是经过了特定的方法验证处理?能否公开下这份数据的生成方式?

特此叩谢,望不吝指教。

关于ecs的问题

大佬,我又来打扰了,我有个疑问,远程dns查询携带的ecs信息是**或者日本,那么我就有一个疑问,我的代理服务在美西,这样理论上是不是就有点绕路了?

是不是让ecs信息是美西最佳?

china_ip_list数据拆分

大佬能不能把这里的ipv4和ipv6分开呢,如果可以的话,帮忙生成ipv4和v6两个文件

没事,这个问题筛洗一下就行了,还是感谢大佬

mosdns v5貌似配置文件不兼容

您好,我是docker运行通过watchtower自动更新latest,昨晚mosdns更新了5.0,docker运行报错,我看了下貌似配置文件存在兼容问题,目前只能看到是data_providers这块的报错;
图片

redis数据库连接成功是否可以加入提示

include.conf内redis dir我填写格式为redis_dir="redis://192.168.20.86:6379/12346" redis://ip:端口/密码
但我发现密码栏任意填写,shell都提示running和enable,可以加入连接验证嘛

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.