[Feature–Request] 基于HTTP的代理集合应当可以把DNS请求从nameserver/fallback策略中独立
Verify steps
- [X] 我已经在 Issue Tracker 中找过我要提出的请求 I have searched on the issue tracker for a related feature request.
- [X] 我已经仔细看过 Documentation 并无法找到这个功能 I have read the documentation and was unable to solve the issue.
Description
在下面给定的样式中,"DNS代理"需要获取代理节点后生效;如果网络运营商阻断了指定服务器的DNS请求,会导致"somewhere"的代理集合无法正常加载。
dns:
enable: true
listen: 0.0.0.0:53
enhanced-mode: redir-host
default-nameserver:
- https://223.5.5.5/dns-query
# - 114.114.114.114
nameserver:
- https://dns.alidns.com/dns-query
- https://dns.rubyfish.cn/dns-query
- https://dns.pub/dns-query
proxy-server-nameserver:
- https://dns.alidns.com/dns-query
- https://dns.rubyfish.cn/dns-query
- https://dns.pub/dns-query
fallback:
- https://1.1.1.1/dns-query#DNS代理
- https://dns.google/dns-query#DNS代理
- https://cloudflare-dns.com/dns-query#DNS代理
fallback-filter:
ipcidr:
- 240.0.0.0/4
nameserver-policy:
'geosite:gfw':
- https://1.1.1.1/dns-query#DNS代理
- https://dns.google/dns-query#DNS代理
- https://cloudflare-dns.com/dns-query#DNS代理
proxy-providers:
somewhere:
type: http
path: ./profile/somewhere.yaml
url: https://example.com/config.yaml
Possible Solution
建议由proxy-server-nameserver策略组处理代理集合DNS请求。
proxy-server-nameserver这个策略需要嘛(我读了官网的文档,感觉这个没啥用)?用nameserver-policy这个不就够了嘛?
proxy-server-nameserver这个策略需要嘛(我读了官网的文档,感觉这个没啥用)?用nameserver-policy这个不就够了嘛?
目前我也是采用nameserver-policy指定策略来,但是个人觉得这种Workaround让我感到复杂。 问题是订阅链接大多数不会一成不变,是会随着时间(比如机场更换域名)和需求(更换机场)发生变化,这对手动维护配置的人不够友好。用到proxy-providers功能的用户,一般会有维护配置的需求,如果同时订阅多个链接,这对维护者的精力消耗是相当可观的。 我想这正是proxy-server-nameserver策略的出发点,让节点的域名解析都走一个相对纯净的DNS服务器,又不用维护节点的DNS策略,把nameserver-policy留给代理请求。同理,proxy-providers也应当被单独对待。
建议走match,proxy兜底,这样订阅域名怎么变都没问题,当然至少得有个好用的节点,我理解clash的DNS只是分流用,最终还是看你规则安排走直连还是代理。
建议走match,proxy兜底,这样订阅域名怎么变都没问题,当然至少得有个好用的节点,我理解clash的DNS只是分流用,最终还是看你规则安排走直连还是代理。
我现在的配置思路是: 1.常用的自己设置rules规则,例如:gesite,google,proxy 2.国内的ip走直连,geoip,cn,DIRECT 3.最后收尾走代理match,proxy
建议走match,proxy兜底,这样订阅域名怎么变都没问题,当然至少得有个好用的节点,我理解clash的DNS只是分流用,最终还是看你规则安排走直连还是代理。
你没有理解我的意思,这个问题发生在proxy–provider未就绪而同时provider的dns请求在fallback/nameserver中由于没有有效的proxy无法处理,match proxy也不能让没有节点的情况下让国内访问到8.8.8.8啊。当然直接使用没有被屏蔽的dns或者关掉dns分流那就万事大吉了