果報

二度寝して待つ

AdGuard Homeの記事の後日談

先日書いたAdGuard Homeの記事がはてなブックマークの人気エントリーになり(人生初)、その結果たくさんの方に読んでいただけました。

text.yusukesakai.com

一ヶ月以上経って今更ですが、ブックマークのコメントでいくつか気になる内容があったので、この記事で取り上げたいと思います。

特定のサイトのみ広告を許可できるか

応援してるサイト「デイリーポータルZ」の時は広告を表示する設定に変更するにはどうしたら良いですか?

広告を読み込んでいるか確認している最近のYoutubeだと、これは警告が出てBanになるリスクがあるような。youtobe.comの時だけこのDNSを使わないって制御できないよね。

結論から言うと、広告を特定のサイトのみ表示する/しないといった設定はありません。

私も、きちんと調べる前までは「DNS許可リストを使えば何とかなるのでは」と思っていましたが、この機能はあくまで「表示する広告ドメインのリスト」であって、「広告を許可するサイトのリスト」ではないんですね。

例えばXというサイト上の広告Aの表示を許可したいとき、DNS許可リストにXを登録しても、それはX自身が配信する広告が許可されるだけで、Aの表示が許可されたわけではないため意味がありません。

また、DNS許可リストにAを登録すれば広告が表示されるようになりますが、この場合Xだけでなく全てのサイトでAの広告が有効になってしまいます。

よって、特定のサイトで広告表示を制御したい場合は、DNSの仕組みではなく、ブラウザのアドオンが有効と思います。

なお、YouTubeの広告はYouTube自身が配信しているため、DNSでは広告を非表示にできず、結果として規約違反にもならないと認識しています。

危険性はないのか

dns置き換え系のアドブロックは、何らかの方法で金融機関のドメインをアレなアドレスに置き換えられたらと思うとなかなか怖いなあと思うんやが、そのへん大丈夫なんやろか。

上記については、以下の方がコメントしてくださっているとおりです。

DNSポイゾニングは怖いけど銀行やECサイトならhttpsの証明書が検証できないため偽サイトは表示できないと思う

とはいえ、自宅サーバ(AdGuard Home)を乗っ取られるのは危険なので、ファイアウォールで開放するポートを限定するなど、セキュリティには注意したいところです。

もっと効率的なやり方があるのではないか

前は同じことをやっていたが面倒くさくなって端末に直接AdGuardのDoHを指定するようになった(リンク先の方法②) https://adguard-dns.io/ja/public-dns.html

私も、手っ取り早くやるなら上記の方法が一番楽だと思います。

自前で構築するメリットは、フィルタ設定などの細かい調整ができる点のみで、このためだけに自宅サーバを用意するのはコスパが悪いかなと。

もっとフィルタを改善できないか

Pi-Hole入れて運用してるけど、デフォルトだと日本固有の広告配信元はブラックリストに少ないのが難点。

上記を補う目的で、追加で豆腐フィルタを入れてます。導入前後で比較検証したわけではないですが、今のところ不満はないです。