Skip to content

kitadai31/AdGuardSDNSFilter_withoutPrivacyFilters

 
 

Repository files navigation

AdGuard DNS filter without privacy filters (Ads only)

No privacy rules version of AdGuard DNS Filter

This is a DNS filter that removed tracking and privacy rules from AdGuard DNS filter.
This filter blocks only ad domains.

AdGuard DNSフィルタ(プライバシー抜き)

AdGuard DNSフィルタからトラッキングやプライバシー用のフィルタを取り除いたDNSフィルタです。追跡、解析等のブロックが不要な人向け。

AdGuardで購読する

購読するには、AdGuardのDNSフィルタの設定で「+DNSフィルタを追加」をタップし、下記のURLを指定します。
https://raw.githubusercontent.com/kitadai31/AdGuardSDNSFilter_withoutPrivacyFilters/master/Filters/filter.txt

目的

本家のAdGuard DNSフィルタは、広告ブロック用のフィルタだけでなくプライバシー用のフィルタも一緒になっているため、「プライバシー用のフィルタは要らない」と思っていても、広告ブロック用のDNSフィルタだけを個別に購読することができません。

そこで「AdGuard DNSフィルタ(プライバシー抜き)」を使えば、本家のDNSフィルタに入っているフィルタからプライバシー専用のフィルタ(AdGuard追跡防止フィルタとEasyPrivacy)を抜いているので、広告のみをブロックできます。

そのため、Wikiや本スレで初心者向けに推奨されている、コンテンツブロックのフィルタ設定でプライバシーフィルタを切って「AdGuardベースフィルタ・AdGuardモバイル広告フィルタ・AdGuard日本語フィルタ」の三点セットで使う設定とも親和性が高いです。
注意: これはあくまでもフィルタ生成の段階でプライバシー用のフィルタを合成の対象から外しただけなので、残ったフィルタに追跡防止目的のルールが一部含まれていることは起こり得ます。

・対象者

  • プライバシーフィルタが一緒になっているのは精神衛生上よくない
  • 私は追跡やアクセス解析を許容する1
  • なるべく広告だけをブロックしたい
  • 広告じゃないのに余計なブロックが発生するのが嫌だ
  • ブロックを減らしたい

といったこだわりのある方向けです。
あくまでも「カスタマイズに慣れたユーザー向け」ということにしておきます
(何もわからない初心者は、AdGuard標準以外のフィルタを使うことによるおま環や更新停止などのリスクに対処できない可能性があるためです)

・誤爆予防

また、副次的な効果として誤爆が減ることもあるようです。
具体例としては、google-analytics.comをブロックすると起動しないアプリ(実在するそうです)を使いたい場合、公式DNSフィルタではブロックされてしまうため起動しませんが、プライバシー抜きならブロックされないので起動できます。これは、google-analytics.comがブロックされてしまうのがプライバシーフィルタによるものだからです。google-analytics.comは広告ではないので、アクセス解析を気にしない人にとってはブロックする必要がありません。

追跡や解析ブロックが不要な人にとっては、このように、プライバシー関連の不要なブロックがないことで公式と比べると無駄な誤爆を減らすことができます。
(もちろん、google-analytics.comをブロックしたくないだけなら自分でDNSユーザーフィルタに@@||google-analytics.com^を追加するだけでもいいのですが、予防になるということで。)

仕組み

このフィルタはスクリプトによって自動で生成されています。

そもそも本家のAdGuard DNSフィルタ自体が、各種フィルタをスクリプトで機械的に合成してDNS用に調整したりして、自動で生成されているフィルタです。
(これは公式GitHubで公開されています。)

この公式GitHubをフォークし、その中にあるスクリプトの構成ファイルを弄って一部のフィルタを含めないようにしたものが、このプライバシー抜きDNSフィルタです。

このことから、フィルタ生成の仕組みやスクリプトは公式と全く同じであるといえます。

公式DNSフィルタから外しているフィルタは、
・AdGuard追跡防止フィルタ
・EasyPrivacy
・AdGuardベースフィルタのうちの暗号通貨マイニングフィルタ
の3つです。

また、フィルタはGitHub Actionsにより自動で毎日4:24にビルド(更新)されます。

・広告のブロック漏れの可能性はあるのか

ビルド時に除外している「AdGuard追跡防止フィルタ」「EasyPrivacy」は完全にプライバシー専用のフィルタとして設計されています。ですので、公式のDNSフィルタでは発生しない広告のブロック漏れが"プライバシー抜き"の方では発生するということは起こらない「はず」です。
しかし、何らかの間違いによって公式では発生しないブロック漏れが起こるかもしれません。
"プライバシー抜き"は、あくまでも「AdGuard DNSフィルタ」という一つの完成されたフィルタの一部を改変しているフィルタであるということに留意して使用してください。

(2022/02/21追記) 結局1つブロック漏れを見つけました

ネイティブ広告プラットフォームの「Outbrain」と「LOGLY」をブロックするルールがプライバシーの方に入っているため、プライバシー抜きを使っているとこれらがブロックされないようです
ネイティブ広告とは、ニュースサイトによくある、一見すると普通のおすすめ記事一覧(レコメンドウィジェット)なのに中に広告が仕込まれているタイプの広告のことです
全体をブロックするとおすすめ記事一覧自体が消えてしまうので、DNSには入れずに通常のフィルタで対処しているのだと思います。
普通はコンテンツフィルタの方でブロックされるので問題ありませんが、コンテンツフィルタが効かないニュースアプリのアプリ内ブラウザからニュースサイトを開いたなどのパターンなどでは広告が出ます。
気になる方はDNSユーザールールに||outbrain.com^ ||logly.co.jp^を入れればおすすめ記事一覧もろとも消せるのでおすすめです。

(おまけ)プライバシーフィルタによる副作用・誤爆の実例 2022/09/08追加

google-analytics.com - セブンイレブンアプリでPayPayが使えない、マツキヨアプリでルーレットが回せない(今は知らん)

measure.ic.tver.jp - 2022年4月のTVerリニューアル後に、これをブロックしていると動画が視聴できない問題が発生(発生からすぐに修正済み)

coremetrics.com - マツキヨアプリで会員登録ができない(今は知らん)

dsb.yahoo.co.jp - GYAOで視聴履歴が記録されない
(↑これ自体はYahoo全体で使われている立派な追跡ドメインのようだが、GYAOの視聴履歴の記録にも使われている。
コンテンツフィルタの方のAdGuard追跡防止フィルタにはGYAO上でのみ dsb.yahoo.co.jp をブロックしないようにするための@@ルールが存在するが、DNSフィルタでは仕組み上この@@が不可能なので、DNSフィルタリングに公式フィルタを使っているとGYAO上でもブロックされてしまう。)

こんな数々の問題を華麗にスルーできているのがこのプライバシー抜きDNSフィルタです。
プライバシーフィルタの誤爆によるトラブルを「未然に」防げます。

・以下チラ裏

開く このことから、上の方には「あくまでもカスタマイズに慣れたユーザー向け」と書いたが、私の本音では、プライバシー対策に関心がなく、Wikiのベース・モバイル・日本語の三点セットをそのまま使っている初心者こそ、プライバシー抜きを使うべきなんじゃないかとも思っている

私は当初、初心者がプライバシー抜きを使うことによって将来起こるかもしれない問題(例えば、もし更新が停止しても自分で対処できない)などのリスクを保証できないので、「慣れてる人向け」と書いた。
しかしよくよく考えたら、私が保証できない将来のリスクよりも、今本家DNSフィルタを使っていることによる誤爆トラブルの方が多いのではないかという気してきた。
また、一年ほど動かしていて大きな問題が起こっていないということも、ベースモバイル日本語の初心者にも勧められるのではないかと思う理由の一つである。

プライバシーフィルタが原因の誤爆に遭遇してもその都度対処すればいいじゃないか、というのは確かである。
しかし、全く詳しくないユーザーで、トラブルが起こったらログ見てブロックされてるドメインを1つ1つ疑って@@ルール追加することができる人が果たしてどれくらいいるだろうか?
そこまでは求めなくても、アドガの使用そのものを諦めたり、アドガをその都度オンオフするとかやり出す前に、まず本スレやなんGで相談してみることができるだろうか??
それを考えると、広告さえ消えればそれでいいという初心者にとっては、効果が実感しにくいプライバシー関係のブロックを犠牲にすることで、誤爆を予防してトラブルを未然に防ぐのもアリだろう。

・意外な活用法も

また、これを書いていて私が思いついたのが、逆にコンテンツフィルタではプライバシーを購読し、DNSの方はプライバシー抜きを使うという設定。

理由は次の2点である。 まず、プライバシーフィルタが誤爆を起こすのは、今のところ大抵の場合がアプリ内である。
二つ目に、プライバシーフィルタが対象とする「アクセス解析」や「トラッキング」は、アプリ内よりもWeb上の方が広く使われていて、しかも効果も発揮しているものだとと私は考えるためである。

もしそうならアプリ内広告にまでわざわざプライバシーフィルタを適用する必要がないから、(無料版では)Web上にしか適用されないコンテンツブロックにはプライバシーフィルタを使用しつつ、アプリ内に適用されるDNSフィルタにはプライバシー抜きを使うというのはどうだろうか。
しかもこれなら、ついでにGyaOの視聴履歴問題も綺麗に解決する。(コンテンツブロックになるので、dsb.yahoo.co.jpを@@でGYAO上のみ許可するという技が機能するため)

プライバシーフィルタは、もしかすると大雑把で誤爆の起こりやすい「DNSフィルタリング」には向いていないのかもしれない。

Footnotes

  1. ちなみに、広告をブロックしている場合、トラッキングをあえて許容するメリットはあまりありません。
    なぜなら、トラッキングとはそもそも人に最適な広告を表示させるためのものだからです。
    一方で、アクセス解析は許容することでサイト運営者側にもそれなりにメリットがあると私は思います。(実際に見たことがないのでわかりませんが)

About

AdGuard DNS フィルタ (プライバシー抜き)

Topics

Resources

License

Stars

Watchers

Forks