iPhoneのすべてのアプリからありとあらゆる広告を消し去る魔法のアプリ「AdBlock」(v4対応版)

  1. 公開日:2017/10/20
  2. 更新日:
  3. iPhone
  4. , ,
  5. 0
9
SHARES
B!

以前、弊サイトでiPhoneのすべてのアプリからありとあらゆる広告を消し去る魔法のアプリ「AdBlock」の仕組みをご紹介しました。VPN(Virtual Private Network)と呼ばれる技術を利用して、指定したドメインに対する通信を、すべてiOS端末にセットアップした擬似VPN(通信先の存在しない)を経由させる事で、広告などの不要な通信を行わないようにするアプリです。

AdBlock
AdBlock
Price: ¥240

その、「AdBlock」が最新バージョンにアップデートし、従来のVPNベースによる広告ブロック型から、ローカルDNSによる広告ブロック型へと、方式が大きく変更されました。また、Safariのコンテンツブロッカーとしても動作するようになりましたが、こちらはあくまでおまけの機能で、コンテンツブロッカーは他のアプリを別途使用するのが良いでしょう。コンテンツブロッカーとしては、「280blocker」が優秀です。

最新バージョンのAdBlockのセットアップ

では、最新バージョンのAdBlockでは何がどう変わったのか、また初期セットアップ、今後のメンテナンスはどのように行うのが効率的か一例をご紹介します。

擬似VPNからローカルDNSヘ

AdBlockの方式変更は、Appleの審査基準を満たすために行われたものです。Appleによると、App Storeで公開されている「AdBlock」に代表されるVPNベース(「VPN」を本来の用途とは異なる理由で使用するアプリ)の広告ブロックアプリを、今後のアップデートで排除するというものでした。そのため、AdBlockは、「VPN」を使用した方式から「ローカルDNS」(端末上の擬似DNSサーバを使用して、指定したドメインに対する名前解決を行わず、結果として通信を行わない方式)を使用した方式に切り替えました。

ブロックの方式としては、VPNベースからローカルDNSベースに切り替わっただけで、大きな変更はありません。ただし、従来は指定したドメインのみiOS端末にセットアップした擬似VPN経由(オンデマンド接続)で通信するだけで良かったのですが、今回のアップデートにより、いったんすべての通信をローカルDNSを経由させる必要があることから、常時VPN接続が必要です。そのため、セットアップ完了後は、iPhoneの画面上に「VPN」のアイコンが表示され、このアイコンを非表示にすることはできません。

実際に、VPNプロファイルをセットアップした直後の状態は上記のようになっています。VPNの接続先は「127.0.0.1」、つまり自分自身(AdBlock)です。

AdBlockの初期セットアップ

AdBlockを初めて起動すると上図のような画面が表示されます。この状態ではまだ不必要な通信はブロックされていない状態です。通信をブロックするためには、画面を下から上にスワイプします。

「AdBlockは通信をブロックするためにローカルDNSをセットアップする」旨の警告ダイアログが表示されます。「ローカルDNSは通信をブロックするために使用するもので、個人情報等を外部サーバに送信するようなことはありません」と書かれています。「Continue」をタップします。

前述のようにすべての通信を傍受しブロックするかどうか判定するために、常時VPN接続を行う必要があります。そのために、VPNプロファイルをインストールする必要があります。「Allow」をタップします。

「Touch ID」もしくは「パスコード」による認証を行い、VPNプロファイルをインストールします。

ここまででVPNプロファイルのセットアップまで完了です。デフォルトの状態においても、ある程度の広告はブロックされるようになっているのですが、場合によってはWebサイトやアプリの起動に支障をきたしたりするため、冒頭ご紹介した「280Blocker」の作者が有志で提供している「AdBlock」用のリストを使用すると良いでしょう。日本人が閲覧するサイトやアプリに最適化されています。なお、この「280blocker」の作者が提供しているリストを使用する方法は後述します。さて、ブロックしたいドメインがある場合は、従来通り個別に指定することもできます。「Settings」をタップします。

上から2番目の「Manage DNS rules」が従来の「AdBlock」のドメインリストです。1番目の「Manage Safari rules」はAdBlockをSafariのコンテンツブロッカーとして使用するために、そのルールを記述するものですが、コンテンツブロッカーとしては冒頭ご紹介した「280blocker」が優秀であるためそちらをオススメします。

「IP ADDRESSES」の項目で、「IPv4 0.0.0.0」「IPv6 ::0」が存在することを確認します。(「IPv4による通信は「0.0.0.0」に、「IPv6」による通信は「::0」と、各々無効なIPアドレス向けのDNSサーバにより名前解決され、IPアドレス自体が無効であるため名前解決できず通信に失敗します)それ以外の項目がある場合は削除しておきます。また、上記のチェックボックスがオンになっていることを確認します。この項目をタップします。

続いて、ブロックしたいドメインを指定します。ドメインを単一で指定する場合は「Add domains」、ドメインをグループ単位で管理(例えば、特定のアプリを使用する場合のみ特定のドメインのみオフにしたいような場合)したい場合は、「Add group」を使用します。基本的には「Add group」を使用すると良いでしょう。必要に応じてオン、オフを切り替えましょう。

ここでは「main」と呼ばれるグループを作成しました。これは冒頭の「280blocker」の作者が有志で提供しているリストの名称です。さらに、この作成したグループをタップします。

グループは、さらに「サブグループ」と呼ばれる単位で管理することもできます。通常は使用しなくて良いでしょう。ブロックするドメインを登録するためには、「Add domains」をタップします。

「DOMAIN NAMES」にブロックするドメインを指定します。ドメインは複数記述することができ、複数追加する場合は「,」(カンマ)区切りで指定します。「DESCRIPTION」は特に記述する必要はありません。(日本語で言う「備考」欄)

最後に、右下の「Sava」をタップしてセットアップ完了です!

効率的にブロックリストを最新化する方法

ブロックが推奨されるドメインについては、ありがたいことに冒頭の「280blocker」の作者が有志で提供しています。「280blocker」のノウハウおよびコミュニティによって築き上げられた信頼度の高いドメインリストであるため、ぜひ利用しましょう。

https://280blocker.net/files/280blocker_fmadblock_host.txt

「280blocker-main」と記述された箇所の下のドメインを全てコピーし、先ほどの「DOMAIN NAMES」にすべて貼り付ければ良いのですが、

  • ブロックリストの更新タイミングは不定期である
  • iOSのSafariによるコピーは不便

と、毎回毎回コピーするのは少々骨が折れます。そこで、「Workflow」と呼ばれるiOS上のタスクを自動化(macOS標準の「Automator」のようなもの)してくれるアプリを使用すると便利です。以前まで有償のアプリとしてApp Storeで提供されていましたが、Appleによって買収され無償アプリとして提供されるようになりました。

Workflow
Workflow
Price: Free

上記のアプリをダウンロードします。

続いて、iOSのSafariからhttps://workflow.is/workflows/f34714f8485c4164b676bea254a51726 にアクセスします。上記の「Workflow」のアプリは、プログラミングのようにロジックを組み合わせる(そのようなものをWorkflowと呼ぶ)ことでタスクを自動化するアプリなのですが、Workflowは全世界で共有されています。今回ご紹介するWorkflowも有志の方が作成し公開したもののようです(以前のAdBlockのバージョンから利用していました)。前述のURLにアクセスするとWorkflowアプリが開きますので、Workflowを追加します。

「Workflow」アプリを開きましょう。右下の「280 Block List Check」が該当のWorkflowです。このWorkflowをタップします。

「280blocker」アプリのドメイン名がやや古いのですが(「70i.net」から「280blocker.net」に移転済)、現在はまだ自動的に遷移してくれるようなのでこのまま使用することが可能です。きになる場合はドメイン名を修正してください。画面上部の再生ボタンをタップします。

リストの更新日付が表示されます。注目するべき箇所は「AdBlock」です。「1Blocker」は別アプリ用ですので無視します。更新日時が前回更新時より新しい場合は「AdBlock」をタップします。

「Mainをコピー」をタップします。「Badをコピー」もあるのですが、こちらは「280blocker」の作者も推奨していないドメインリストになります。確かに広告はブロックできるのですが、場合によってはWebサイトが正常に表示できない、アプリを起動できないなどの不具合が生じる可能性があるドメインリストとなっています。通常は「Main」のみで問題ありません。

「URLスキーム」である「adblockios」が使用できない旨が表示されます。旧バージョン(随分前のバージョン)のAdBlockではURLスキームである「adblockios://が使用できていたのですが、あるバージョンから使用できなくなりました。なぜ使用できなくなったかは不明です。このWorkflowは自動的にAdBlockを起動してくれたのですが、URLスキームが使用できなくなったため、手動で起動しましょう。上記のダイアログは「OK」を押せば消えます。

コピーしたら、前述のドメインリスト追加の要領で、「Add group」で「main」を追加して、「Add domains」→「DOMAIN NAMES」でコピーしたドメインを貼り付けて「Save」という流れになります。なお、最新のドメインリストをコピーする前に、古い「main」グループは削除して、新規に「main」を追加してください。

もっと効率的にWorkflowを使用する

iOS標準のウィジェットを使用するとWorkflowを簡単に起動することができます。アプリのアイコンを3D Touchで強く押す(Press)するとWorkflowの一覧が表示されるため、このWorkflowをタップするだけでアプリを起動することなくドメインリストを取得することができます。

広告が表示される、もしくは任意のドメインをブロックしたい

「280blocker」のドメインリストは優秀で、特に何も手入れする必要はないのですが、必要に応じて個別にドメインを追加したい場合(もしくは、不備があるのでドメインから削除したい場合)があります。

ドメインが特定できていれば問題ないのですが、どのドメインを追加して良いのかわからない、削除して良いのかわからないときは、AdBlockのSettingsから「Enable DNS logging」をオンにしましょう。すべてのドメインに対する通信がAdBlockのログとして残るようになります。「DNS Proxy log」から確認できます。ただし、この機能をオンにすることでバッテリーの消耗が早くなったり、「AdBlock」自体のしデータ量が多くなりますので、必要な時だけ使いましょう。(常時オンはやめた方が良いでしょう)

このように、すべての通信の履歴が記録されます。なお、上図には現れていませんが、AdBlockによってブロックされた通信に対しては、ドメインの横にAdBlockのアイコンが表示されます。逆に言えば、AdBlockのアイコンが表示されていないものは、ドメインリストに存在していないドメインになります。通信したくない場合は個別にドメインリストに追加します。また、AdBlockのアイコンが表示されていて、通信させたい場合は、ドメインリストから削除するようにしましょう。

AdBlock
AdBlock
Price: ¥240
この記事が気に入ったらいいねしよう!
こちらの記事も読まれています
ご意見ボード
匿名で管理人に送信されます。※送信専用です。返信はできません。
ご指摘・ご意見
Top