Raspberry Pi 3 Model B にdnsmasq(軽量なDNS)を導入して、ウェブページの広告削除を行いました。
その時に調査した情報を簡単にまとめました。
ネットワークは詳しくないため間違いや勘違いあると思います。
ご注意ください。
2018/12/25更新
関連記事です。
ohtorii.hatenadiary.jp
困っていること
家庭内のデバイス(Windows/MAC/Android/iPhone/WindowsPhone...)からウェブを閲覧すると、
不愉快(微エロ、微グロテスク、、、)な広告が表示されて困っていました。
ブラウザの広告削除(Adblock plusなど)プラグインを導入して一時しのぎを行っていましたが、
ブラウザ毎(IE,Chrome,safari,Firefox...)に設定する必要があり手間でした。
更に、家族が利用している「デバイス x ブラウザ x アカウント」の組み合わせで、
設定の手間が増えるため、家庭内ネットワークの根元で広告削除の対策を行うことにしました。
以下は、調査メモです。
広告削除ができるSynologyの無線LANルーター「RT2600ac」
https://internet.watch.impress.co.jp/docs/column/shimizu/1070396.html
約27,000円 (2018年1月現在)
広告を配信している業者のドメインを追加できるか不明。
そもそもお値段が結構するので家庭内稟議が通らないです。
yamahaのルーター
FWX120
https://network.yamaha.com/products/firewalls/fwx120/index
47,800円(2018年1月現在)
ファイヤウォール設定で広告削除を配信しているサイトをブロックできそうな雰囲気ですが、
にわか家庭内サーバ管理者向けの製品じゃないな・・・
ファイヤーウォール、ルーターを自作
Intel NUCなどの小型PCを利用して広告を削除できるファイヤーウォール、ルーターを自作する。
https://www.sophos.com/ja-jp/products/free-tools.aspx
なんかもっとこう簡単にできないものか・・・
Unix系OSはSambaサーバを立てたことがある程度の初心者です。(メインはWindowsとハードウェアメーカーの独自OS)
階段を三段跳びして派手にこけそうなのでもっと小さく始めたい。
広告を派除するProxyサーバを立てる(Squid)
Squidというproxyサーバを立てて広告を削除する方法。
(情報源:Proxyサーバの立て方)
https://mizukama.sakura.ne.jp/blog/archives/3063
http://toshtone.hatenablog.jp/entry/2016/09/26/193942
(情報源)
Adblock Plus形式のブロックリストをsquidの設定ファイルに変換するスクリプト。
https://github.com/jamesmacwhite/squidguard-adblock
(情報源:Proxyの自動設定を行うpacファイル)
http://nofx2.txt-nifty.com/it/2012/08/proxypac-1e5d.html
(情報源:各ブラウザのプロキシ設定を自動で行う方法)
http://www.atmarkit.co.jp/ait/articles/0001/16/news001.html
WPAD(Web Proxy Auto-Discovery)プロトコルを利用して、DHCPやDNSのようにクライアント側での設定の手間を無くす。
DHCPサーバが「DHCPINFORM」プロトコルをサポートしている必要があり、そうでなければ「wpad」という名前を持つホストからproxyの設定ファイルを取得します。
CentOSでルーターを自作してSquidを透過型プロクシにすると、WPADプロトコルでProxyサーバのアドレスを配布する手間が無くなりそう。
https://futuremix.org/2007/06/squid-transparent-proxy
Adblock Plusの設定ファイルを扱えるので最強っぽいが、
私が利用している市販ルーターはProxyサーバのアドレスを配布する設定がないのが残念。
今回は見送ることにした。
広告を派除するProxyサーバを立てる(privoxy)
privoxyというproxyサーバを立てて広告を削除する方法。
(情報源:設定方法など)
http://benzaiten.dyndns.org/roller/ugya/entry/adblock_filter_for_privoxy_cygwin
https://hayabusa6.5ch.net/test/read.cgi/linux/1065176466/
(情報源:コンバータ)
Adblock Plusの設定ファイルをprivoxyの設定ファイルに変換するツール。
https://projects.zubr.me/wiki/adblock2privoxy
Squid同様に使えそうな感じがします。
DNS(dnsmasq)を利用する
広告を配信している業者のドメイン名に対して0.0.0.0を返答するDNSを立てる。
(情報源)
http://www.neko.ne.jp/~freewing/raspberry_pi/raspberry_pi_3_wifi_wireless_access_point_dnsmasq/
広告を配信している業者のドメイン名を収集しているサイトの記事もあり大変参考になりました。