web-dev-qa-db-ja.com

PiholeでYouTube広告を正規表現しようとしています

次のようなURLを正規表現しようとしています:

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の問題である可能性があるという人がいます。

1
jangles

境界を制限したいのではないかと思いますが、そうでない場合でも、この式はあなたが考えているものに多少近いかもしれません。

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

デモ

私が推測しているだけです。


式を探索/単純化/変更したい場合は、 regex101.com の右上のパネルで説明されています。必要に応じて、 this link で監視することもできます。これは、サンプル入力とどのように一致するかを示しています。


1
Emma

投稿は少し古いですが、私は正規表現を試してみたので、「小さな」点が1つあるため、正規表現が機能しないと言いたいだけです。

Pi-HoleはPOSIX ERE(POSIX拡張正規表現)標準を使用します。したがって、遅延量詞や省略文字クラスはありません。

また、3行目と4行目のような非キャプチャグループもサポートしていません。このような正規表現は、RegexBuddyなどのツールで確認できます。たぶん、他の無料ツールもそれをチェックして、それを変換するのを助けることができます。私の現在の正規表現は:

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

すべての広告を正しくブロックしますが、ビデオもブロックします。それを使用する場合は、次のことを行う必要があります。

YouTube動画を開き、動画が読み込まれるかどうかを確認します。そうでない場合は、piログダッシュボードのクエリログに移動します。

デバイスには、2つのDNSクエリがありますr5---sn-4g5e6nze.googlevideo.comおよびr5---sn-4g5ednse.googlevideo.com

クエリログの最後の(上)はビデオです。 DNSをホワイトリストに登録してください。時々それをしなければならない。

ご挨拶

0
Sakkade

次の正規表現は、「r」で始まるすべてのURLに一致し、その後に文字数を制限せずに何でも続き、その後に「sn」、次に任意の数の文字が続き、「。googlevideo.com」で終わります。式は^でアンカーされましたと$。私は大成功で私の穴に試してみましたが、後でそれを削除する必要があります。すべてのr .... sn ... googlevideo.comがクエリリストでブロックされましたが、スマートテレビのyoutubeアプリも壊れました。 piholeから削除しない限り、ビデオはまったく再生されません。自己責任で使用してください。

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

0