DNS66を使ってスマホ版Chromeでも広告をブロックする

Androidユーザーの皆さん、広告を削除するために何を使っていますか?

ライトユーザーであればADBPlusやAdblock、広告ブロックの仕組みをある程度理解しているならばAdguard、ほんの一部とはいえAdawayのためにrootを取得するユーザーも少なくはないでしょう。FirefoxユーザーであればuBlock originで徹底的にブロックする人もいるはずです。

しかし、Adblockではブロック漏れが出たり、Adguardは導入が若干面倒であったり、プレミアム版でないとアプリ内の広告までブロックできなかったり、そもそもこの記事を見ているユーザーの大半はスマホ版Chromeを使っていることでしょう。

過去にtelektlistでは広告をブロックできる専用ブラウザを紹介していますが、今回はroot化の必要が無く、Chromeでも広告をブロックできるアプリ「DNS66」を紹介します。

とくに面倒な作業はありません、ブロックの原理と導入手順をざっと解説します。

DNSブロックとは

DNS666採用されている広告ブロックの仕組み「DNSブロック」を解説します。

telektlist.comなど、世の中のドメイン名は人間にとって見やすいように「DNS」というシステムを使ってIPアドレスからドメイン名に変換されています。

DNSはGoogleやCloudflareなど企業が提起している無料の「DNSサーバ」上に載っているのですが、それとは別に個人のパソコンやスマホにもIPアドレスとドメイン名の対応表が保存されており、これを「hosts」ファイルと言います。

hostsファイルに記載されている情報はDNSよりも優先されます。また、hostsファイルは管理者権限が無いと編集ができないので、スマホでhostsファイルをいじるにはroot化が必要

Adawayと呼ばれるroot化が必要な広告ブロックアプリではhostsに記載された広告サーバのドメイン名を強制的にlocalhostである127.0.0.1へと転送。これにより、IPアドレスはDNSのリクエストに応じることができないため広告の通信を遮断できます。これをDNSブロックといいます。

DNS66ではこのlocalhostの代わりにカスタムDNSサーバーに転送することによって広告の通信の遮断をルート化無しでも実現しています。

詳しくは上級者への補足に記載しています。

DNS66の導入

DNS66は広告ブロックを規制しているGoogleの方針に引っかかり、GooglePlayストアからのインストールは行えないため、apkファイルからインストールします。

下記リンクからapkファイルのダウンロードとインストールを行ってください。

julian-klode/dns66(github)

次に設定をインポートします。

必要最低限広告がブロックできるjsonファイル(ソフトウェア間のデータ受け渡しに使われるファイル形式)を用意しましたので下記からどうぞ。

dns66.json

  1. DNS66を起動、右上にある︙をタップし設定をインポートを選択。
  2. さきほどダウンロードしたjsonファイルを読み込みます。
  3. あとは︙の左にある更新マークをタップし、開始をタップするとVPNへ接続します。
  4. 適当なwebサイトを開いてみて、広告が消えていることが確認できたら完了です。

インポートされた設定の詳細

設定内容について解説します。

使用するhostsファイルは

以上3点です。すべて日本語の環境に最適化されているためそのまま使用していたただいて問題ありません。

カスタムDNSサーバーはGoogle Public DNSを使用しています。

CloudFlareは転送速度は速いものの、質があまりよくなく、Googleのサーバーと比較すると不安定なためコチラを採用しています。このあたりの設定は各々の好みで反映してください。

アプリバイパス(特定のアプリのみ広告ブロックを無効化)ですが、UIが崩れる。またはそもそもアプリが開けずクラッシュする という状況でご利用ください。それ以外はよほどのことがない限り使うことはありません。

上級者への補足

localhostをカスタムDNSへ置き換えると言いましたが、正確には置き換えざるを得ない。です。root化していないスマホはhostsの操作ができないのでhostsから広告を弾くことができないので、DNS66では広告ブロック用にカスタムされたDNSサーバへ直接接続するわけですが、DNSに直接接続してしまうとスマホ側のhostsファイルが無駄になります。

それを回避するために、VPNを経由してDNSへ接続しているのです。

記述で誤りがあれば、コメントで指摘していただけると幸いです。

今はスマホで簡単にWebサイトが見れる良い時代です。 ただ、画面下に固定されているポップアップ広告や、スクロールする度に付いて...

ApplicationSources:julian-kelode

hostsFileSources:ログろいど 悪いインターネット hosts2ch

imageSources:GeekBlooging.com

フォローする

Writer

LaPh
人生で一番気に入っているハードウェアはPSTVとPSVita お金と現実が大好きです

関連記事

関連記事

 コメント

※暴言・個人攻撃等は予告無しに削除します

  1. 匿名 2020.01.21 13:57 ID:d371840ef 返信

    まーた自ら広告収益を削ってしまうのか(´・ω・`)

  2. 匿名 2020.01.21 15:44 ID:7eb2a04e3 返信

    仕組みはAdguardと一緒か

  3. 匿名 2020.01.21 17:26 ID:58541787a 返信

    ライターさんの趣味、俺は好きだよ

  4. 匿名 2020.01.22 12:38 ID:9cd46a0b1 返信

    有料化予定だけどnextdnsオススメですよ。簡単に使えてdnscnameにも対応してますし

  5. 匿名 2020.01.23 19:26 ID:da2deb1d9 返信

    DNS66を使うだけなら恐らく問題ないのですが、何点か誤記・誤解(?)が見られるので指摘申し上げます。

    まずは小さなことばかりになりますが、具体的に直せるところから。

    > Adawayと呼ばれるブロックアプリではhostsに記載された広告サーバのドメイン名を~
    →~ブロックアプリでは『ブロック対象として指定した』広告サーバのドメイン名を~

    ※広告サーバがhostsに載ってるみたいに読めますが、普通はわざわざ載せませんし載ってたらどうしようもないので、DNSキャッシュの意図ですかね?※

    > 広告サーバのドメイン名を強制的にlocalhostである127.0.0.1へと転送。
    →広告サーバのドメイン名を『DNSサーバに問い合わせることなく別のIPに置き換え』。

    > これにより、IPアドレスはDNSのリクエストに応じることができないため~
    →『このIPからは広告が送信されてこないため』広告が表示されなくなります。

    ※localhostsにすることで通信削減などの効果はありますが、ここでは実現したい本質(広告が消える)に絞った方が分かりやすいのでは。
    ※細かく言うなら『DNSブロッキング機能のあるカスタムDNSを使うこと』と『ブロック後の置き換え先がlocalhostsであること』は別のことですが、ここで説明する意味は薄いですから。

    > DNS66ではこのlocalhostの代わりにカスタムDNSサーバーに転送することによって~
    →??? この一文と『上級者への補足』は元の文章を生かして直すのが難しいので具体案は書きません。
    以下、誤解しておられそうな背景です。

    『DNSブロックをしてくれるDNSサーバに接続すれば、hostsを書き換えなくても良い。だからrootも不要。』ここまでは間違いなく正しい。ですが、任意のDNSサーバを使うだけなら(VPNではなく)Wi-Fiやプロキシの設定でも、可能は可能なこと。決してやるべきではありませんが。
    なぜやるべきではないか、なぜVPNが必要なのか。『スマホ側のhostsファイルが無駄にしないため』? 違います。利用者各自の【安全】のためです。

    詳しく説明すると幾らでも長くなるので事例をひとつ。フィッシング詐欺という手口があります。見た目上は銀行やカード会社のWebサイトなのに実は違っていて、ログインしようとしてPWなどを盗まれる…という。
    『あなたがなんというDNSサーバを利用しているのか』がバレてしまうと、フィッシング詐欺(他にも色々と悪いこと)などが非常にやりやすくなります。だから隠さなくてはなりません。そのためのVPNです。

    (『VPN接続なら安全』と断言まではできません。当然の備えってレベルです)
    (カスタムDNSサーバーの管理者に悪意がある場合はどうしようもないので、怪しいサーバは使うべきではありません)

  6. 匿名 2020.04.07 17:56 ID:f88f1f218 返信

    更新が未完了と表示され使えません

  7. 匿名 2020.04.15 10:44 ID:0bfcb88c9 返信

    >>5
    筆者さんも色々と勘違いしているようですが、あなたもちょっと勘違いをしていると思います。
    DNSやVPNについての説明は合っていますが、DNS66がやっていることは「ローカルVPNを立てる→ドメインネームリクエストをローカルVPNに集めてフィルタリング」ということです。
    DNS66にはリモートのVPNサーバに接続する機能はありませんし、ドメインネームリクエストを秘匿する機能もありません。
    DNS66が接続しているのはローカルVPNです。