0

尝试正则表达式网址,例如:

r4---sn-vgqsrnez.googlevideo.com
r1---sn-vgqsknlz.googlevideo.com    
r5---sn-vgqskn7e.googlevideo.com    
r3---sn-vgqsknez.googlevideo.com    
r6---sn-vgqs7ney.googlevideo.com    
r4---sn-vgqskne6.googlevideo.com    
r4---sn-vgqsrnez.googlevideo.com    
r5---sn-vgqskn76.googlevideo.com    
r6---sn-vgqs7ns7.googlevideo.com    
r1---sn-vgqsener.googlevideo.com    
r1---sn-vgqskn7z.googlevideo.com    
r1---sn-vgqsknek.googlevideo.com    
r6---sn-vgqsener.googlevideo.com    
r3---sn-vgqs7nly.googlevideo.com    
r1---sn-vgqsknes.googlevideo.com    
r4---sn-vgqsrnes.googlevideo.com    
r6---sn-vgqskn76.googlevideo.com

我试过了:

(^|\.)r[0-100]---sn-vgqs?n??\.googlevideo\.com$
(^|\.)r[0-100]?*\.googlevideo\.com$
^r[0-100]---sn-vgqs(?:.*)n(?:.*)(?:.*).googlevideo.com$
^r[0-100]---sn-vgqs(?:.*)n(?:.*).googlevideo.com$

但没有任何效果

我可能错误地使用了正则表达式,因为我没有太多经验,但是在网上看有些人说这可能是 Pihole 的问题。

4

3 回答 3

1

我猜你想要有限制的边界,如果不是这样,这个表达式可能有点接近你的想法:

^r\d+---sn-vgqs[a-z0-9]{4}\.googlevideo\.com$

演示 1

如有必要,您可以添加更多边界,例如:

^r(?:100|[1-9]\d|\d)---sn-vgqs[a-z0-9]{4}\.googlevideo\.com$

演示 2

或者:

^r(?:100|[1-9]\d|\d)---sn-vgqs(?:rne(?:s|z)|kne(?:s|z)|knlz|kn7e|7ney|kne6|kn76|7ns7|ener|kn7z|knek|7nly)\.googlevideo\.com$

演示 3

我只是在猜测。


如果您想探索/简化/修改表达式,它已在 regex101.com的右上角面板中进行了说明。如果您愿意,您还可以在此链接中观看它如何与一些示例输入匹配。


于 2019-08-30T05:03:34.817 回答
0

以下正则表达式匹配所有以“r”开头的网址,然后是其他任何内容,不限制字符数,然后是“sn”,然后是任意数量的字符,然后以“.googlevideo.com”结尾,表达式锚定为 ^和美元。我在我的 pihole 上尝试了它并取得了巨大的成功,但后来不得不将其移除。所有 r....sn...googlevideo.com 都在查询列表中被阻止,但它也导致我的智能电视 youtube 应用程序损坏。除非我将其从 pihole 中删除,否则它根本不会播放任何视频。需要您自担风险使用它。

^r.+sn.+(\.googlevideo\.com)$

于 2019-09-05T17:30:52.987 回答
0

这篇文章有点老了,但是因为我尝试过使用正则表达式,所以我只想说你的正则表达式因为一个“小”点而无法工作。

Pi-Hole 使用 POSIX ERE(POSIX 扩展正则表达式)标准。所以没有惰性量词或速记字符类。

它也不支持像第三行和第四行那样的非捕获组。您可以在 RegexBuddy 等工具中检查此类正则表达式。也许其他免费工具也可以检查它并帮助转换它。我目前的正则表达式是:

^r[[:digit:]]+---sn-4g5e[a-z0-9]{4}\.googlevideo\.com$

它正确地阻止了所有广告,但也阻止了视频。如果您使用它,您必须执行以下操作。

打开一个 youtube 视频并检查视频是否加载。如果没有,请转到您的 pi hole 仪表板到查询日志。

对于您的设备,您将有两个 dns 查询 r5---sn-4g5e6nze.googlevideo.comr5---sn-4g5ednse.googlevideo.com

查询日志中的最后一个(上)是视频。因此,将 dns 列入白名单。有时你必须这样做。

问候

于 2020-01-16T13:23:59.483 回答