アプリ入れたくない病ゆえに
ブラウザでニュースやブログなんかを見ていると文中にドババッ!と埋め込まれる広告、邪魔ですよね。スマホで複数ウィンドウを開いてブラウジングしているととても目ざわり!!
えっ・・・広告、多すぎ? とか思いますよね。(今もあるのかな?あの広告)
ブラウザの広告ブロック機能を使えばだいたいは消せるけど、その機能を有効化したブラウザでサイトを開かないと意味がない。各アプリの内部ブラウザ(例えばLINEでリンクを開いた時とかにLINEのアプリの中でページが開かれる機能)で開かれてしまうと、広告ブロックは動作しない。別のブラウザだから。
かと言って、スマホやPCにあまりアプリケーションを入れたくない・・・入れないでなんとかしたいな・・・という発想で、解決を模索していました。
サイトの広告表示を効率的に阻める「IPアドレス書き換え」
ウェブサイト上の広告は、広告設置者の利便性から、サーバーであらかじめ取得した広告データを表示するのではなく、クライアント(アクセスしている人のブラウザ)に広告データを取りに行かせる構造になっています。本文のフリをすることが構造上不可能なので、ブラウザのアドブロッカーは広告だけを機械的にきれいに除去できるわけです。
広告データは広告事業者のサーバー上にあるため、ニュースサイトやブログサイトで表示するには、広告データを参照するためのURLが(インターネットの構造上)必要です。
広告のURLというのは、例えば、
https://ad.example.com/foo.js
みたいなやつです。
ところで、ご存知の通り、インターネットにつながっている機器には必ず「IPアドレス」が割り当てられます。上記の「ad.example.com」というドメインも、ブラウザがアクセスする時にIPアドレスに変換されます。絶対に。
IPアドレスへの変換には、電話帳のようなデータベースを使います。この仕組みをDNSといいます。昔で言う電話交換手のようなサーバーが無数にあって、相互に連絡を取り合いながらドメインとIPアドレスを変換するわけです。
有線ルーターもWi-Fiルーターも、家庭用機器であれば絶対にDNSを使います。そして、ルーターには「ドメインとIPアドレスの紐づけを手動で登録する」という機能もふつうはついていて、ルーターはまずその登録データからIPアドレスを探します。つまり、ルーターが広告事業者のドメインを必ず間違えるように設定できるわけです。
(せっかく記事を書くので、あまりインターネットに詳しくない人にも意味を理解してもらいたくて、雑ですが簡単に説明しました。)
虚偽の電話帳
広告事業者のドメインをまとめたものがどこかにないかと探したら、よさげなものがありました。hostsファイルです。ありがたく頂戴しましょう。ライセンスはCC3.0です。
https://adaway.org/hosts.txt [ダウンロードしたもの]
hostsファイルというのは、コンピューター内のDNSのデータベースの一つです。ユーザーが手作業で設定を追加するためのテキストファイルです。よく、エンジニアが非公開のテストサーバーを利用するような場合に使われます。
- Windowsの場合C:\Windows\System32\drivers\etc\hosts
参考: 【Windows】hostsファイルとは、hostsファイルの場所、hostsファイルの編集・書き換え方法 - Macの場合
たぶん /etc/hosts にある。
/private/etc/hosts
参考: 【macOS】hostsファイルの場所と編集方法、書き換え方法
これを自分のPCのhostsファイルにコピペすればそのまま使えるのですが、この方法では自分のPCでしかブロックできません。ルーターに設定しましょう。
設定方法はルーターによって異なるのでここでは説明しません。詳しくない方は・・・すみませんががんばってください。
ちなみに 127.0.0.1 というIPアドレスは「自分自身」を指す特別なアドレスです。PCであれば自機(って今は言わないか)、ルーターであればルーター自身です。広告データがあるわけがないので通信は失敗し、広告は表示されないことになります。
あと、大事なことですが、そのルーターを介した通信すべてで設定が有効になります。広告が見たい人の権利は侵害されますのでご注意ください。そんな人いる?
よく使われているドメイン
上記hostsファイルの内容を全部設定する必要はないです。どのみち、こんなにたくさんルーターに保存できません。
ウチでは(自力で見つけたものを交えて)以下だけ設定しています。太字のドメインは必須だと思います。
- 33.asahi.com
- adv.asahi.com
- asm.asahi.com
- imp.asahi.com
- cmertv.com
- googletagmanager.com
- googletagservices.com
- outbrain.com
- somewrite.com
- afl.rakuten.co.jp
- doubleclick.net
- outbrain.org
Yamaha RTXシリーズであれば、コマンドは以下のようになります。
- ip host 33.asahi.com 127.0.0.1
- ip host adv.asahi.com 127.0.0.1
- ip host asm.asahi.com 127.0.0.1
- ip host imp.asahi.com 127.0.0.1
- ip host outbrain.com.edgekey.net 127.0.0.1
- ip host wildcard.outbrain.com.edgekey.net 127.0.0.1
- ip host outbrainimg.com.edgekey.net 127.0.0.1
- ip host wildcard.outbrainimg.com.edgekey.net 127.0.0.1
- ip host alldcs.outbrain.com 127.0.0.1
- ip host amplify.outbrain.com 127.0.0.1
- ip host amplify-imp.outbrain.com 127.0.0.1
- ip host amplifypixel.outbrain.com 127.0.0.1
- ip host chi.outbrain.com 127.0.0.1
- ip host eventlog.outbrain.com 127.0.0.1
- ip host hpr.outbrain.com 127.0.0.1
- ip host images.outbrain.com 127.0.0.1
- ip host libs.outbrain.com 127.0.0.1
- ip host log.outbrain.com 127.0.0.1
- ip host mcdp-chidc2.outbrain.com 127.0.0.1
- ip host mcdp-nydc1.outbrain.com 127.0.0.1
- ip host mcdp-sadc1.outbrain.com 127.0.0.1
- ip host mv.outbrain.com 127.0.0.1
- ip host ny.outbrain.com 127.0.0.1
- ip host odb.outbrain.com 127.0.0.1
- ip host revee.outbrain.com 127.0.0.1
- ip host sa.outbrain.com 127.0.0.1
- ip host stas.outbrain.com 127.0.0.1
- ip host sync.outbrain.com 127.0.0.1
- ip host vastcdn.outbrain.com 127.0.0.1
- ip host videoclientsservicescalls.outbrain.com 127.0.0.1
- ip host videoevents.outbrain.com 127.0.0.1
- ip host vrt.outbrain.com 127.0.0.1
- ip host widget-pixels.outbrain.com 127.0.0.1
- ip host widgetmonitor.outbrain.com 127.0.0.1
- ip host widgets.outbrain.com 127.0.0.1
- ip host alldcs.outbrain.org 127.0.0.1
- ip host chidc2.outbrain.org 127.0.0.1
- ip host log.outbrain.org 127.0.0.1
- ip host nychi2.outbrain.org 127.0.0.1
- ip host sadc1.outbrain.org 127.0.0.1
- ip host images.outbrainimg.com 127.0.0.1
- ip host log.outbrainimg.com 127.0.0.1
- ip host tcheck.outbrainimg.com 127.0.0.1
- ip host zem.outbrainimg.com 127.0.0.1
- ip host googletagmanager.com 127.0.0.1
- ip host googletagservices.com 127.0.0.1
- ip host afl.rakuten.co.jp 127.0.0.1
- ip host somewrite.com 127.0.0.1
- ip host doubleclick.net 127.0.0.1
- ip host accounts.doubleclick.net 127.0.0.1
- ip host ad.doubleclick.net 127.0.0.1
- ip host ad-emea.doubleclick.net 127.0.0.1
- ip host ff.doubleclick.net 127.0.0.1
- ip host fls.doubleclick.net 127.0.0.1
- ip host 3243857.fls.doubleclick.net 127.0.0.1
- ip host 4394967.fls.doubleclick.net 127.0.0.1
- ip host 5290727.fls.doubleclick.net 127.0.0.1
- ip host 8168974.fls.doubleclick.net 127.0.0.1
- ip host 8272590.fls.doubleclick.net 127.0.0.1
- ip host 8397396.fls.doubleclick.net 127.0.0.1
- ip host g.doubleclick.net 127.0.0.1
- ip host adx.g.doubleclick.net 127.0.0.1
- ip host bid.g.doubleclick.net 127.0.0.1
- ip host cm.g.doubleclick.net 127.0.0.1
- ip host googleads.g.doubleclick.net 127.0.0.1
- ip host googleads4.g.doubleclick.net 127.0.0.1
- ip host pubads.g.doubleclick.net 127.0.0.1
- ip host securepubads.g.doubleclick.net 127.0.0.1
- ip host stats.g.doubleclick.net 127.0.0.1
- ip host survey.g.doubleclick.net 127.0.0.1
- ip host g1.doubleclick.net 127.0.0.1
- ip host ads-bid.l.doubleclick.net 127.0.0.1
- ip host dart.l.doubleclick.net 127.0.0.1
- ip host partnerad.l.doubleclick.net 127.0.0.1
- ip host stats.l.doubleclick.net 127.0.0.1
- ip host m.doubleclick.net 127.0.0.1
- ip host s0.doubleclick.net 127.0.0.1
- ip host static.doubleclick.net 127.0.0.1
- ip host cmertv.com 127.0.0.1
ほかのやりかた
安定稼働するサーバーがもしあるなら、プロキシサーバーをLANに立てる方法もアリですよね。そこまでやれる人はわざわざこの記事を読もうとは思わないでしょう。できる人、カッコイイです。憧れます。一度はわたしもプロキシサーバーで設定してみたいです。
もっとセキュリティを気にする人は自分でブラウザを作るらしいです。ホントかな?