iOS, iPadOS, macOSでの広告ブロックの方法(VPN,DNSサーバ)

iOS, iPadOS, macOSでの広告ブロックの方法(VPN,DNSサーバ)



コンテンツをブロックする仕組みや Web ブラウザで機能する所謂コンテンツブロッカーのオススメ(iPhone ipad macOS)、ネットワークの設定を変えるだけでブロックできる DNSサーバー関連の話題も合わせて書いていきます。

※ アプリの価格や機能は、記事公開もしくは更新時点でのものになります。

コンテンツをブロックする仕組みやメリットについて

Web ページを読み込んだ際に発生するインターネット通信を「遮断」または表示されるコンテンツの一部を「非表示」にする仕組みです。

実際には、次のようなコンテンツをブロック(遮断 / 非表示)することができます。

  • 画像ファイル、バナー広告、テキスト、SNS のウィジェットなど
  • レイアウトや装飾などの要素を定義する為の CSS
  • Google Fonts などの Web フォント
  • Web ビーコンやクッキーなどのトラッキング(行動履歴)

また、ドメイン( 例: example.com )を指定すれば Web サイトにアクセス出来ないようにすることも可能です。

ブロックする為のルールについて

Web サイトの要素をブロックするには、「フィルターのルール」を記述する必要があります。

アプリにすでにフィルターが組み込まれていますので、意識することはありませんが、自分でルールを追加したり公開されているフィルターをインポートするには、Adblock Plus 形式になります。※ 稀に独自形式の場合あり

アプリの内部では、基本的に Adblock Plus 形式のルールを Apple 独自の JSON 形式に変換して、Safari に渡すイメージになります。

例:example.com 以外の Web サイトでの画像の読み込みをブロックする
Adblock Plus 形式の場合(一般的な形式)

~example.com^$image

Apple の JSON 形式の場合( Apple 独自)


[
  {
    "trigger": {
        "url-filter": ".*",
        "resource-type": ["image"]
        "unless-domain": ["example.com"]
    },
    "action": {
        "type": "block"
    }
  }
]

他にも正規表現( regular expression )やホワイトリスト(ブロックを除外)などを併用すれば、特定の Web サイトのみルールを適応しないなど、様々な状況に対応できます。

ブロックするメリット

外部から画像やファイルを大量に読み込んでいる Web サイトでは、パケット節約と表示速度アップの効果がかなり実感できます。

また、セキュリティ面では、トラッキングのセキュリティリスクの防止、危険なウェブサイトへのアクセスや仮想通貨のマイニングを実行させるスクリプトの回避なども、ある程度は防げるかと思います。

Safariのコンテンツブロッカーの制限と今後

iOS, iPadOS の Web ブラウザ「Safari」のみで機能するアプリや macOS の Safari のブラウザ機能拡張は、Safari Content Blocking API を使用していて、ブロックできるルールは 50,000 件までの制限となっています。

アプリによっては、別アプリ扱いにしてルールを増やしているようですが、逆に Web サイトの読み込みが遅くなる場合があるかと思います。

Apple が 2020年6月に macOS Big Sur の Safari 14 で Chrome、Mozilla、Edgeなどが採用している「WebExtensions API」に対応すると発表したので、もしかしたら 50,000件の制限は無くなり Chromeのブラウザ機能拡張からの移植( uBlock Origin など)が進むかもしれません。

Safari のコンテンツブロッカー機能を使えるのは、iOS のバージョンが 9 以降で、iPhone( 5s 以降)、iPad( Air 以降)、iPad mini( 2 以降)、iPod touch(第 6 世代以降)からになります。

色々と使ってきましたが、AdGuard(無料版) か 280blocker(500円)の 2 つのアプリがオススメです。両アプリ共にブロックする為のフィルターのルールが頻繁に更新されていて、公開もされているので安心です。

オススメ 1:280blocker(コンテンツブロッカー280)

コンテンツブロッカー 280blocker
コンテンツブロッカー 280blocker

開発者の 280 さんが公開していた 1Blocker 形式のフィルターが iOS / iPadOS のアプリになりました。

特長や機能について

シンプルな構成で、ブロックしたい項目をオンにするだけです。
広告を許可する Web サイトを追加できるホワイトリストがあり、「高度な設定」の項目では、オンにすると Web サイトの表示に不具合が出る確率が高くなると思いますが、要素を強力にブロックできます。

ユーザールール(自身で作成したルール)を追加したり公開されているフィルターをインポートすることはできませんが、フィルターが優秀なので困ることはないかと思います。

まだ試験的な段階なので継続されるか不明ですが、280blocker の DNS サーバーに変更する事で、iOS / iPadOS 14 の 暗号化 DNS 機能を利用したブロックをアプリから使用できます。

アプリ名ユーザールールホワイトリストインポートDNSサーバー
280blockerXX

また、280blocker の公式 Web サイトのダウンロードページでは、用途別に次のフィルターが公開されています。
関連リンク ダウンロード | 280blocker

  • AdblockPlus 形式ファイル( uBlock Origin、Android 版 AdGuard など)
  • 1blocker 用ファイル( iOS 版 1blocker )
  • ドメインテキスト形式( Futuremind Adblock、DNScloak など)
  • AdGuard 形式( AdGuard Home、iOS 版 AdGuard など)

※ 2020 年 11 月現在 280Blocker のフィルターのリンク URL は、手動で URL 部分の年月を変更する仕様になったので、インポートしても自動で更新はされません。

280blocker は、以下のリンク先の App Store からダウンロードできます。

海外の Web サイトなどをよく閲覧される方は、次の AdGurad を併用するのが良いかと思います。

オススメ 2:コンテンツブロッカー AdGuard(無料版)

コンテンツブロッカー AdGuard
コンテンツブロッカー AdGuard

AdGuard は、キプロス共和国にある AdGuard Software Limited の広告ブロックやプライバシー保護を行う製品名になります。製品の対応プラットフォームは Windows, Mac, Android, iOS で、Web ブラウザの機能拡張は Safari, Chrome, Firefox, Opera, Yandex, Edge, Palemoon 版があります。

特長や機能について

AdGuard のフィルターは、広告ブロックのフィルターで有名な Easylist をベースにしています。デフォルトで無効になっているフィルターがありますので、AdGuard アプリの右下にある歯車アイコンをタップ → Safariでブロック → 「フィルタ」の項目から有効/無効の設定ができます。

広告を許可する Web サイトを追加できるホワイトリスト機能、閲覧中の Web サイトの要素を選択してブロックできる機能があります。

AdGuard - Web サイトの要素をブロック
AdGuard - Web サイトの要素をブロック
  1. Safari の iOS, iPadOS 共有シートアイコン アイコンをタップ
  2. ブラウザの共有シート(共有メニュー)が開きます
  3. 「 AdGuard 」を選択
  4. 「このページで要素をブロック」をタップ
  5. Web サイトの消したい要素をタップして選択

選択後に「 + 」「 - 」で範囲を拡大/縮小もできます。選択して作成したルールは、ユーザールールに追加されます。

無料版と有料版の違いとAdGuard Proについて

前の項目で紹介したのは、AdGuard の「無料版」になります。
アプリ内課金で、有料版(プレミアム版)にアップグレードでき、違いは次の通りになります。

AdGuardユーザールールホワイトリストインポート閲覧中の要素をブロックDNSサーバーアクティビティ
無料版X(※1)XXX
有料版

※1 2020/10/28 現在:無料版でも閲覧中の Web サイトの要素をブロックする機能を使い保存するとユーザールールがオンになり自分で作成したルールを追加できます。仕様なのかバグなのかは不明です。

無償版と有料版(プレミアム版)の違いは、ユーザールールを使えるのが仕様なら「公開されているフィルターのインポート(※2)」、「DNS サーバー」と「アクティビティ(ブロックした統計)」の 3 つの機能の有無になっています。アクティビティは DNS サーバーを有効にしないと機能しません。

※2 280blocker のフィルターもインポートできます。

アプリ内課金から有料版(プレミアム版)へのアップグレードの料金は、1ヶ月 100円、1年間 500円、永続版 1,600円となっています。永続版を検討されている方は、AdGuard Pro を購入した方がお得になります。アプリ内課金との差額は、Apple の手数料分かと思います。

AdGuardの種類永続 (買い切り)1ヶ月契約1年契約
AdGuard(無償版)1,600円100円500円
AdGuard Pro1,220円--

AdGuard は、以下のリンク先の App Store からダウンロードできます。

280blocker と Adguard の機能の違い

2020/10/28 現在、280blocker と Adguard の機能の違いは、以下のようになります。
アプリ名のリンクは、App Storeへのリンクです。

アプリ名買い切り価格ユーザールールホワイトリストインポート閲覧中の要素をブロックDNSサーバーアクティビティ
AdGuard無料XXXX
AdGuard Pro1,220円
280blocker500円XXXX

次の項目は、コンテンツブロッカーを使用していて、気になった部分やトラブル解消になった対策などについてになります。

コンテンツブロッカーが効かない、効かなくなった

ブロックが効いていない場合は、アプリのインストール後にコンテンツブロッカーを有効にする必要があります。効かなくなった場合も有効になっているか確認してみてください。

コンテンツブロッカーを有効にする
コンテンツブロッカーを有効にする
  1. 設定アプリを開く
  2. 「Safari」をタップ
  3. 「コンテンツブロッカー」の項目を有効に

フィルターの更新、iOS, iPadOS のアップデート後などで、フィルターが反映されない場合も、「コンテンツブロッカー」の項目を有効/無効にしてみて下さい。また、アプリのタスクを切ったり端末の再起動などでも反映される場合もあります。

Web サイトが表示されない/表示が崩れる場合

この記事で紹介した 280blocker と Adguard には「ホワイトリスト」があるので、example.com といったドメインを追加する事で回避できます。

もしくは、Safari のアドレスバー(スマート検索フィールド)にある「AA」をタップで表示される出る「コンテンツブロッカーをオフにする」で一時的にですが対応可能です。

Safari スマート検索フィールド
Safari スマート検索フィールド

稀にフィルターのルールで、前方一致や後方一致などで「ad」など特定の文字が入った URL をブロックまたは非表示にしている場合、アクセスできない又は表示されない場合があります。
その場合も「ホワイトリスト」に追加、Safari のアドレスバーにある「 AA 」をタップで表示されるメニュー「コンテンツブロッカーをオフにする」、もしくは、アプリの開発者さんに報告をするのも良いかと思います。

Safari 以外でもブロックしたい(DNSサーバー/VPN)

一般的にインターネット回線を引く時に契約したプロバイダー( ISP )が提供している DNS サーバーを設定しているかと思います。

この記事で紹介した 280blocker と AdGuard 有料版は、広告ブロックの DNS サーバーを提供しているので、Safari 以外のアプリでも、ある程度はブロックできます。

example.com といったドメインでのブロックなので、広告が消えないサービスも多くあり、Safari での閲覧の場合を考えてアプリと併用するのが良いかと思います。

どちらの DNS サーバーも DNS-over-HTTPS (DoH) と DNS-over-TLS (DoT) に対応。スマホやパソコンから DNS サーバーへの経路が暗号化されるので、プライバシーは保護されます。
280blokcer は、iOS, iPadOS の 14 から対応した暗号化DNS、一方、AdGuard 有料版は、VPN( Virtual Private Network )を利用した方法になります。

端末のネットワーク設定の DNS サーバーを変更するだけなら、AdGuard が提供している AdGuard DNS があります。東京に DNS サーバーがあるので遅くはならないかと思います。

パブリック DNS サーバーで有名な Google DNS(8.8.8.8)、Cloudflare(1.1.1.1)、Quad9(9.9.9.9)などは、広告のブロックには対応していません。

macOS のブラウザ機能拡張のオススメ (AdGuard, uBlock Origin)

Chrome機能拡張 uBlock Origin
Chrome機能拡張 uBlock Origin

macOS では、Safari は、AdGuard for Safari、Chrome 拡張機能は、uBlock Origin もしくは、AdGuard 広告ブロッカーがオススメです。

それぞれ Github でソースが公開されています。

ブロックしたログを見られない AdGuard for Safari 以外は、基本的な機能は同じですが、AdGuard 広告ブロッカーは、ステルス・モードというのがあり、Cookie の自動削除や追跡パラメータの削除など uBlock Origin には無い機能があります。

アプリ名価格ユーザールールホワイトリストインポート閲覧中の要素をブロックアクティビティ
AdGuard for Safari無料X
uBlock Origin無料
AdGuard 広告ブロッカー無料

AdGuard( Safari, 広告ブロッカー)、uBlock origin は、フィルターの更新が頻繁です。
外部のフィルターをインポートする機能があるので、280Blocker の AdblockPlus 形式ファイルをインポートすることができます。
※ 2020 年 11 月現在 280Blocker のフィルターのリンク URL は、手動で URL 部分の年月を変更する仕様になったので、インポートしても自動で更新はされません。

uBlock Origin の Safari 版は、かつて存在したのですが現在は更新されていません。

Web ブラウザ以外のブロックの方法は、前出の DNS サーバーの変更や 有料になりますが、AdGuard for Mac や 設定が少し手間でドメインでのブロックの Little Snitch などのアプリなどで可能です。

最後に

2020 年 10 月 19 日に Chrome 機能拡張の広告ブロッカーがマルウェアへと変貌したニュースがありました。
「 Nano Defender 」と「 Nano Adblocker 」です。Firefoxのブラウザ機能拡張の Nano Defender は同じ名称ですが、関係は無いとのことです。

Chromeで動作する広告ブロッカーが第三者に売却されたのち、わずか10日後にはマルウェアへと変貌したことが発覚し、専門家はアンインストールを呼び掛けている。
Chrome向け広告ブロッカーが突如マルウェアへと変貌、アンインストールを呼び掛け中

App Store でのアプリ審査は厳しいと目にするので、勝手に外部にデータを送るなどはできないかと思いますが、アプリや 特に DNS サーバーは慎重に選びたいものです。

記事タイトルとURLをコピーする

お気軽にコメントをどうぞ

コメントは確認後に反映されるので暫くお待ちください。
項目は全て必須となります。