IrineSistiana / mosdns

一个 DNS 转发器
GNU General Public License v3.0
3k stars 340 forks source link

[Bug] ecs插件无法初始化,文档未更新 #725

Closed sieveLau closed 1 year ago

sieveLau commented 1 year ago

在提交之前,请确认

mosdns 版本

commit 791

操作系统

archlinux

Bug 描述和复现步骤

使用commit 791从源代码编译之后,mosdns无法启动,提示ecs插件无法初始化,因为commit 789移除了ecs插件。但是commit 789新增的ecs_handler也是无法初始化的:

# - exec: ecs 8.8.8.0/24
- exec: ecs_handler 8.8.8.0/24

提示

Error: failed to load config from frag/sequence.yaml, failed to init plugin #0 main_resolve, failed to init plugin: failed to init rule #4, failed to init exec, invalid executable type ecs_handler

我需要用ecs插件覆盖ecs,但是目前文档没有更新。而且,文档没有标记ecs为(实验性)插件的情况下移除了该插件,属于会造成不良后果的breaking change,对于用户而言非常不友好。

请问现在需要怎么实现覆盖ecs?

使用的配置文件

plugins:
  - tag: "to_china"
    type: "forward"
    args:
      concurrent: 1 # 并发数。每次请求会从下面配置的 upstreams 里随机选取
                    # concurrent 个 upstreams 发送请求。取最快返回的应答。超过 3 最多选
                    # 3 个。默认 1 。
      upstreams:    # []upstream, 上游服务器。至少要配置一个。
        - tag: alidns_udp
          addr: "udp://223.5.5.5"
  - tag: "main_resolve"
    type: "sequence"
    args:
      - exec: ecs 8.8.8.0/24
      - exec: $to_china
      - exec: accept
  - tag: "main_sequence"
    type: "sequence"
    args:  # []rule
      - exec: $main_resolve
  - tag: "udp"
    type: "udp_server"
    args:
      entry: main_sequence  # 可执行插件的 tag。
      listen: 0.0.0.0:53 # 监听地址。

mosdns 的 log 记录

No response