pymumu / smartdns

A local DNS server to obtain the fastest website IP for the best Internet experience, support DoT, DoH. 一个本地DNS服务器,获取最快的网站IP,获得最佳上网体验,支持DoH,DoT。
https://pymumu.github.io/smartdns/
GNU General Public License v3.0
8.33k stars 1.07k forks source link

求教这个前缀通配与主域名匹配 #1659

Open wyjtm opened 7 months ago

wyjtm commented 7 months ago

https://pymumu.github.io/smartdns/config/domain-rule/ 域名通配

通配主域名和子域名是这样写的吗? *-a.域名

我试了下用 *-a.qq.com 来匹配所有qq.com域名,结果发现qq.com都打不开了,但删除这条就能打开了,是我搞错通配写法了吗?通配情况下 *- 后面那个 a 是必要的吗?

PikuZheng commented 7 months ago

没有这种写法。


example.com

匹配 example.com 和 *.example.com


*.example.com

匹配 *.example.com,不匹配 example.com


-.example.com

匹配 example.com,不匹配 *.example.com


*example.com

匹配 example.com 和 .*example.com

wyjtm commented 7 months ago

没有这种写法。

example.com

匹配 example.com 和 *.example.com

*.example.com

匹配 *.example.com,不匹配 example.com

-.example.com

匹配 example.com,不匹配 *.example.com

*example.com

匹配 example.com 和 .*example.com

那求教他这个通配规则该怎么写? 示例里的 *-a. 是什么含义?

// 通配
*-a.example.com 

也没看到 *域名 这个示例

PikuZheng commented 7 months ago

所以你究竟要匹配什么,用正则的写法是^.+\.qq\.com$还是^.*qq\.com$,还是^qq\.com$

wyjtm commented 7 months ago

所以你究竟要匹配什么,用正则的写法是^.+\.qq\.com$还是^.*qq\.com$,还是^qq\.com$

我是在域名规则里加列表txt 然后在里面添加国内域名,比如只添加 qq.com,他就不会匹配 im.qq.com,所以按照示例 -a.的是不是对的?目前遇到添加了-a.qq.com 出现了qq.com都打不开的情况,所以求证是规则写错了还是我的配置问题?

示例上写的通配是 *-a.example.com

PikuZheng commented 7 months ago

-a是域名的一部分,不是通配符的一部分。 /qq.com/会匹配im.qq.com。

wyjtm commented 7 months ago

-a是域名的一部分,不是通配符的一部分。 /qq.com/会匹配im.qq.com。

所以我在域名列表文件里修改成 *-a.qq.com 这种通配格式是正确的?访问不了是我其他配置问题?

PikuZheng commented 7 months ago

有以-a.qq.com结尾的域名吗?有就正确(我是没见过

wyjtm commented 7 months ago

有以-a.qq.com结尾的域名吗?有就正确(我是没见过

都是不知道你在说啥,我就是来问问按照配置指导示例写的出问题,是按照示例的错了还是我其他配置问题,你一直答非所问说的还跟示例上不着边,按照你说的 -a 是域名一部分那为啥还弄两个 * 开头的示例,那不还是仅匹配子域名,我还是等作者来吧

PikuZheng commented 7 months ago

有以-a.qq.com结尾的域名吗?有就正确(我是没见过

都是不知道你在说啥,我就是来问问按照配置指导示例写的出问题,是按照示例的错了还是我其他配置问题,你一直答非所问说的还跟示例上不着边,按照你说的 -a 是域名一部分那为啥还弄两个 * 开头的示例,那不还是仅匹配子域名,我还是等作者来吧

示例中两个区别在后面跟的是不是.。如果是.,匹配子域名。如果不是.,匹配主域名和子域名。 我不懂你为啥一直在纠结示例,问你究竟是想要怎么匹配也没有回答。

wyjtm commented 7 months ago

主域名和子域名

我想问的就是,示例第一个写的通配,然后下面两个示例写的是 仅匹配子域名, - 仅匹配主域名,我想要的是两个都有,所以要用第一个通配示例来写,所以就是 `-a.example.com然后 -a.qq.com ,然后我遇到问题, -a.qq.com `这么写加入规则后出现qq.com域名无法访问的情况,然后这是我写错了还是我的其他配置错了又或者是示例本身就错了,我不懂肯定要先去看然后跟着示例走

我刚才重新装了r45的版本,清除了所有配置文件然后重新配置,用*-a.qq.com加入规则并把所有域名规则都这么改了,目前好像没问题了,能正常访问网站了。

如果作者看到了,求说下这样写对不对

o0HalfLife0o commented 7 months ago

主域名和子域名

我想问的就是,示例第一个写的通配,然后下面两个示例写的是 仅匹配子域名, - 仅匹配主域名,我想要的是两个都有,所以要用第一个通配示例来写,所以就是 `-a.example.com然后-a.qq.com,然后我遇到问题,-a.qq.com`这么写加入规则后出现qq.com域名无法访问的情况,然后这是我写错了还是我的其他配置错了又或者是示例本身就错了,我不懂肯定要先去看然后跟着示例走

我刚才重新装了r45的版本,清除了所有配置文件然后重新配置,用*-a.qq.com加入规则并把所有域名规则都这么改了,目前好像没问题了,能正常访问网站了。

如果作者看到了,求说下这样写对不对

既匹配子域名也匹配主域名的,就是什么符号都没有的也就是example.com, 不过这样写似乎也会匹配所有以此结尾的域名,类似*example.com

wyjtm commented 7 months ago

example.com

谢谢 找旧路由折腾一下午确实是什么都不加是既匹配子域名也匹配主域名,折腾一圈回到原点

wyjtm commented 7 months ago

有以-a.qq.com结尾的域名吗?有就正确(我是没见过

都是不知道你在说啥,我就是来问问按照配置指导示例写的出问题,是按照示例的错了还是我其他配置问题,你一直答非所问说的还跟示例上不着边,按照你说的 -a 是域名一部分那为啥还弄两个 * 开头的示例,那不还是仅匹配子域名,我还是等作者来吧

示例中两个_区别在_后面跟的是不是.。如果是.,匹配子域名。如果不是.,匹配主域名和子域名。 我不懂你为啥一直在纠结示例,问你究竟是想要怎么匹配也没有回答。

今天试了下确实-a不行,直接跟原来一样什么都不加了,折腾的时候用老路由空间小,去下你那边的非静态版结果全都装不上,提示缺少libopenssl1.1,但是openwrt仓库列表里搜不到这个插件,OpenWrt 23.05.2 r23630-842932a63d / LuCI openwrt-23.05 branch git-23.306.39416-c86c256

PikuZheng commented 7 months ago

那边的非静态版结果全都装不上,提示缺少libopenssl1.1

openwrt编译有两个版本,分别对应openssl1和openssl3

wyjtm commented 7 months ago

那边的非静态版结果全都装不上,提示缺少libopenssl1.1

openwrt编译有两个版本,分别对应openssl1和openssl3