clash-verge-rev / clash-verge-rev

Continuation of Clash Verge - A Clash Meta GUI based on Tauri (Windows, MacOS, Linux)
https://clash-verge-rev.github.io
GNU General Public License v3.0
33.11k stars 2.55k forks source link

[Feature] 希望tun模式能自定义dns服务器,添加对doh和dot的支持 #767

Open Fadouse opened 5 months ago

Fadouse commented 5 months ago

功能描述 / Feature description

希望tun模式能自定义dns服务器(覆盖配置文件中配置的dns),添加对doh和dot的支持

使用场景 / Use case

dns解析

lucienshawls commented 5 months ago

你可以使用Merge订阅文件来设置DNS以及覆盖Remote订阅中原本的DNS部分的内容。 例如,新建一个Merge订阅文件,填写:

dns:
  enable: true
  ipv6: true
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  use-hosts: true
  nameserver:
    - 114.114.114.114
    - 223.5.5.5
    - 8.8.8.8
    - 1.1.1.1
    - https://doh.pub/dns-query
    - https://dns.alidns.com/dns-query
  # nameserver-policy:
  # fallback: 
  #   - https://doh.dns.sb/dns-query
  #   - https://dns.cloudflare.com/dns-query
  #   - https://dns.twnic.tw/dns-query
  #   - tls://8.8.4.4:853
  # fallback-filter: 
  #   geoip: true
  #   ipcidr: 
  #     - 240.0.0.0/4
  #     - 0.0.0.0/3
  default-nameserver: 
    - 223.5.5.5
    - 119.29.29.29
  fake-ip-filter:
    # - "+.*"
    - localhost
    - WORKGROUP
    - +.stun.*.*
    - +.stun.*.*.*
    - +.stun.*.*.*.*
    - +.stun.*.*.*.*.*
    - "+.n.n.srv.nintendo.net"
    - +.stun.playstation.net
    - xbox.*.*.microsoft.com
    - "+.xboxlive.com"
    - "+.msftncsi.com"
    - "+.msftconnecttest.com"
lostwindsenril commented 5 months ago

你可以使用Merge订阅文件来设置DNS以及覆盖Remote订阅中原本的DNS部分的内容。 例如,新建一个Merge订阅文件,填写:

dns:
  enable: true
  ipv6: true
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  use-hosts: true
  nameserver:
    - 114.114.114.114
    - 223.5.5.5
    - 8.8.8.8
    - 1.1.1.1
    - https://doh.pub/dns-query
    - https://dns.alidns.com/dns-query
  # nameserver-policy:
  # fallback: 
  #   - https://doh.dns.sb/dns-query
  #   - https://dns.cloudflare.com/dns-query
  #   - https://dns.twnic.tw/dns-query
  #   - tls://8.8.4.4:853
  # fallback-filter: 
  #   geoip: true
  #   ipcidr: 
  #     - 240.0.0.0/4
  #     - 0.0.0.0/3
  default-nameserver: 
    - 223.5.5.5
    - 119.29.29.29
  fake-ip-filter:
    # - "+.*"
    - localhost
    - WORKGROUP
    - +.stun.*.*
    - +.stun.*.*.*
    - +.stun.*.*.*.*
    - +.stun.*.*.*.*.*
    - "+.n.n.srv.nintendo.net"
    - +.stun.playstation.net
    - xbox.*.*.microsoft.com
    - "+.xboxlive.com"
    - "+.msftncsi.com"
    - "+.msftconnecttest.com"

能具体说下是放在哪个字段下吗?已测试不生效

lucienshawls commented 5 months ago

操作步骤是,新建一个merge订阅文件,编辑文件,删除文件中的所有内容(因为创建merge文件后会默认填写prepend-rules等字段,可以全部删除),再粘贴我提供的内容(确保dns字段是顶级字段,不属于任何一个字段),保存merge文件,启用merge文件,再点击clash的订阅选项卡下窗口右上角的火焰图标(重新激活订阅)以使得配置刷新,最后查看当前配置,找到dns字段,确认merge文件中的内容已经生效。

以上步骤已经尽可能详尽,如有疏漏,欢迎指出。

lostwindsenril commented 5 months ago

操作步骤是,新建一个merge订阅文件,编辑文件,删除文件中的所有内容(因为创建merge文件后会默认填写prepend-rules等字段,可以全部删除),再粘贴我提供的内容(确保dns字段是顶级字段,不属于任何一个字段),保存merge文件,启用merge文件,再点击clash的订阅选项卡下窗口右上角的火焰图标(重新激活订阅)以使得配置刷新,最后查看当前配置,找到dns字段,确认merge文件中的内容已经生效。

以上步骤已经尽可能详尽,如有疏漏,欢迎指出。

可以了,非常感谢。关键在于Merge的操作逻辑是右击选择启用,左击无效。

Fadouse commented 4 months ago

操作步骤是,新建一个merge订阅文件,编辑文件,删除文件中的所有内容(因为创建merge文件后会默认填写prepend-rules等字段,可以全部删除),再粘贴我提供的内容(确保dns字段是顶级字段,不属于任何一个字段),保存merge文件,启用merge文件,再点击clash的订阅选项卡下窗口右上角的火焰图标(重新激活订阅)以使得配置刷新,最后查看当前配置,找到dns字段,确认merge文件中的内容已经生效。

以上步骤已经尽可能详尽,如有疏漏,欢迎指出。

请问是否可以使所有dns请求均由本地发起,就算Fakeip未命中也由本地设置的fallback dns服务器发起dns请求。 保证代理服务器只会拿到我的fallback dns请求和目标网站ip?

lucienshawls commented 4 months ago

操作步骤是,新建一个merge订阅文件,编辑文件,删除文件中的所有内容(因为创建merge文件后会默认填写prepend-rules等字段,可以全部删除),再粘贴我提供的内容(确保dns字段是顶级字段,不属于任何一个字段),保存merge文件,启用merge文件,再点击clash的订阅选项卡下窗口右上角的火焰图标(重新激活订阅)以使得配置刷新,最后查看当前配置,找到dns字段,确认merge文件中的内容已经生效。 以上步骤已经尽可能详尽,如有疏漏,欢迎指出。

请问是否可以使所有dns请求均由本地发起,就算Fakeip未命中也由本地设置的fallback dns服务器发起dns请求。 保证代理服务器只会拿到我的fallback dns请求和目标网站ip?

“是否可以使所有dns请求均由本地发起”,是指不希望由谁发起dns请求呢?是不希望由代理服务器节点发起dns请求吗?那“保证代理服务器只会拿到我的fallback dns请求和目标网站ip”不是说了代理服务器会拿到dns请求吗?可否进一步说明?

Fadouse commented 4 months ago

操作步骤是,新建一个merge订阅文件,编辑文件,删除文件中的所有内容(因为创建merge文件后会默认填写prepend-rules等字段,可以全部删除),再粘贴我提供的内容(确保dns字段是顶级字段,不属于任何一个字段),保存merge文件,启用merge文件,再点击clash的订阅选项卡下窗口右上角的火焰图标(重新激活订阅)以使得配置刷新,最后查看当前配置,找到dns字段,确认merge文件中的内容已经生效。 以上步骤已经尽可能详尽,如有疏漏,欢迎指出。

请问是否可以使所有dns请求均由本地发起,就算Fakeip未命中也由本地设置的fallback dns服务器发起dns请求。 保证代理服务器只会拿到我的fallback dns请求和目标网站ip?

“是否可以使所有dns请求均由本地发起”,是指不希望由谁发起dns请求呢?是不希望由代理服务器节点发起dns请求吗?那“保证代理服务器只会拿到我的fallback dns请求和目标网站ip”不是说了代理服务器会拿到dns请求吗?可否进一步说明?

希望所有dns解析均由本地(本机)发起,不希望由代理服务器发起dns请求