【问题标题】:Trying to regex YouTube ads with pihole尝试使用 pihole 正则表达式 YouTube 广告
【发布时间】:2019-08-30 04:53:53
【问题描述】:

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

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 的问题。

【问题讨论】:

  • 您正在使用术语“正则表达式”作为动词。你到底想达到什么目标?

标签: regex youtube raspberry-pi raspberry-pi-zero


【解决方案1】:

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

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

Demo 1

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

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

Demo 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$

Demo 3

我只是在猜测。


如果您想探索/简化/修改表达式,它已经 在右上角的面板上进行了解释 regex101.com。如果你愿意,你 也可以在this link看,怎么搭配 针对一些样本输入。


【讨论】:

  • r6---sn-vgqsrn76.googlevideo.com r3---sn-vgqsenls.googlevideo.com 在添加所有三个之后仍然可以得到这些。我认为 Pihole 可能有问题,因为它似乎应该这样做
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    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。有时你必须这样做。

    问候

    【讨论】:

      猜你喜欢
      • 2023-04-06
      • 2016-08-31
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      • 2012-11-08
      • 1970-01-01
      • 2017-06-16
      • 2013-10-23
      相关资源
      最近更新 更多