iPhone, Macのコンテンツブロッカー(広告ブロック)のおすすめアプリ

2018年12月29日に記事をアップデートしました。iOS(iPhone, iPad, iPod)とmacOS(El Capitan以降)のコンテンツブロッカーを色々と試してみて、良いなと思うアプリをピックアップしてみました。

コンテンツブロッカー(広告ブロッカー)とは

ウェブページを読み込んだ際に発生するインターネット通信を「遮断」または表示の一部を「非表示」にする機能です。

広告、画像、ウェブビーコンやクッキーなどのトラッキング、SNSのウィジェット、CSS、ウェブフォント(Google Fontsなど)など。ドメインを指定すればウェブサイトにアクセス出来ないようにすることも可能です。他にも正規表現やホワイトリストなどを使用すれば、様々な状況に対応することが可能です。

外部のウェブサイトから画像やファイルを大量に読み込んでいるウェブサイトでは、パケット節約とウェブサイトの表示速度アップの効果が実感できますね。
また、セキュリティ面では、危険なウェブサイトへのアクセスや仮想通貨のマイニングを実行させるスクリプトなども、ある程度は防げるかと思います

iOS、macOSのコンテンツブロッカーの仕様

iOS (9.0以降)とOS X(El Capitan以降)のSafariで動作する機能拡張で、対応環境は以下になります。

  • iOS 9.0以降をインストールしたiPhone(5s以降)、iPad(Air以降)、iPad mini(2以降)、iPod touch(第6世代以降)
  • macOS (OS X)は、El Capitan 以降

iOSとmacOSのコンテンツブロッカーについては、Webkitのウェブサイトに掲載されている Introduction to WebKit Content Blockers が分かり易いかと思います。
※WebKitは、Safariのレンダリングエンジンで、現在はAppleが中心となって開発されているオープンソースのHTMLレンダリングエンジンです。

コンテンツブロッカーのアプリは、何をブロックするのか定義したフィルター(JSON形式)をSafariに渡すのみなので、アプリを常時立ち上げておく必要はありません。iOSでは設定 -> Safari -> コンテンツブロッカーをオフ、MacではSafariの環境設定 -> 機能拡張でオフにしない限り有効です。

  • Avoid quantifiers (“*”, “+”, “?”) in “url-filter” as much as possible.
  • CSS rules are best defined before any “ignore-previous-rules”
  • Make the trigger as specific as possible.
  • Group rules with similar actions.

上記は、webkit.orgからの引用でパフォーマンスを改善するアドバイスです。
ルールを作成できるエディタ機能があるアプリなら気に留めておきたい項目ですね。

フォーラムを見ているとSafariへ渡せるルールは、50,000 までのようですね。

私が使っているコンテンツブロッカー

macOS High Sierra (10.13.6)で使用しているコンテンツブロッカーの機能拡張です。

共に外部のフィルターを読み込む機能があるので、280Blocker のAdblockPlus形式ファイルを読み込んでいます。

ちなみに、280BlockerのSafari機能拡張版は、コンテンツブロッカー280 Safari機能拡張版になります。※Safari機能拡張版のリンク先は、iPhoneやiPadのSafariだと表示されないので、ご注意ください。

※ Safariの「uBlock Origin for Safari」は開発が止まっているようなので、最新のmacOS Mojaveで色々と不具合があるかもしれません。現在 AdGuard for Safari に移行しようと試用中です。

iOSでは、以下のコンテンツブロッカーを使用しています。

以下は、実際に試してみて、お勧めできるiOSのコンテンツブロッカー(広告ブロック)アプリです。

1Blocker Legacy「多機能なコンテンツブロッカー」

1blocker

※ このレビューは、アプリの画面キャプチャーを含め、旧バージョン(1Blocker Legacy)になります。

デフォルトでインストールされているフィルターは多く、個別にルールをオンオフできるので、よく見るサイトで不具合がある場合などオフにできるので便利です。
また、自作や公開されている1blocker形式(拡張子は 1blockpkg)のフィルターをインポートして使用することが可能です。

このアプリでは、プリインストールのフィルターは使用しておらず、 280blocker にある「1blocker用ファイル」を使用しています。インポートするには、上記webサイトにアクセスして、「1blocker用ファイル」リンクをクリック→ファイルを1Blockerアプリで開くとインポートできます。

公式ウェブサイトは、1Blockerで、1BlockerのMac版は以下になります。Mac版1BlockerとiCloud同期が可能ですが、ルールの数が多くなると少しバギー(buggy)ですね。

Adguard(無料版)「EasyListベースでフィルター多数」

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

現在登録されているフィルターは、85個!
iOSでは読み込めるルールの数が、50,000 ルールまでなので制限はありますが、Adguard製のフィルター以外にも、EasyListや有名なフィルターを個別に読み込みできます。

色々な言語のフィルターがあり、もちろん日本向けのフィルターもあります。日本向けのフィルターは、デフォルトではオフになっているのでオンにする必要あり。

Adguardに読み込まれている外部フィルターは、本家と比べるとフィルターのルール数が少ないのでiOSのSafari用にカスタマイズ(機能制限)をしていると思われます。

フィルターの内容は、アプリのフィルター名をクリック -> Filter Homepageのリンク先で確認する事が可能です。Adguardのフィルター「English Filter」は、EasyList をカスタマイズしていますので、併用は避けた方が良いかもですね。

Adguardで画面を見ながらフィルター作成

バージョン1.0.6で、要素を選択してフィルターを作成できる機能が追加されました。Safariのシェアシートから呼び出して、「Block Element On This Page」から作成が可能です。

Adguard 自作のフィルターを作成する機能
Adguard 自作のフィルターを作成する機能

Safariのシェアシートから「Adguard」アイコンをクリックすると上記のような画面が表示されます。
「Block Element On This Page」をクリック後に要素が選択できるので、非表示にしたい部分をクリックすると下記のように「緑のラインとHTMLタグ」が表示されます。

Adguard ブロックしたい要素を選択
Adguard ブロックしたい要素を選択

ページ下部に表示されるメニューについて、要素のエリアを拡大縮小したい場合は、「+」「-」アイコンをクリック。実際に非表示にした場合の表示テストは、「目のアイコン」をクリック。Adguardに反映するには、Adguardのロゴをクリックで、Adguardアプリに遷移して反映されます。

実際に作成されたルール(Adblock Plus形式)を確認でき、使いやすいですね。
公式ウェブサイトは、Adguard で、ソースコードは、GitHub – Adguard/Adguard Pro for iOS で公開されています。

Firefox Focus「密かにブロック」

Firefox Focus コンテンツブロッカー
Firefox Focus コンテンツブロッカー

Firefoxがリリースしたトラッキング防止系ブロッカーです。
元Google社員が開発したDisconnectを採用。Firefoxのプライベートブラウジング時のトラッキング保護機能として導入されています。

Firefox Focusの設定画面
Firefox Focusの設定画面

このアプリを開くとプライベートブラウジング画面が表示されますので、少し分かりにくくなっています。
Safariでコンテンツブロッカー機能を使用するには、Focusを開いた画面の右上の歯車アイコンをクリック→「INTEGRATION」のSafariをオンにする必要があります。

トラッキング防止系なので、さり気なくブロックするタイプのコンテンツブロッカーですが、ホワイトリスト機能は追加して欲しかったですね :P
ブロックする対象が分類(広告/解析/ソーシャルなど)されていますので、個別にオン/オフ可能です。ホワイトリスト、フィルターの更新機能はありません。
シンプルなFirefox Focusの、公式ウェブサイトは、Firefox Focus です。

280blocker : コンテンツブロッカー280「オススメ」

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

1Blocker形式のフィルターとして公開されていた、280さんのフィルターがiOSアプリになりました。
「AdblockPlus形式」「1Blocker形式」「広告ドメインリスト」のフィルターも公開されています。AdblockPlus形式は、メジャーなuBlockやAdguardで読み込むことが可能です。
2018年12月30日現在でも、ファイルターの更新が頻繁に継続されています。
※2016年9月21日からアプリが有料化になりました。

280blockerを使用中の方は、ルールが正常にSafariに反映されているか確認が可能です。
280blocker公式ウェブサイトの「定義ファイルを更新しました(日付)」というタイトルの最新記事にアクセスしてみてください。
280blockerの有効性のチェックで、「最新のルールが有効です」と表示されて入れば最新版のルールが読み込まれています。

AdFilter 「独自ルール作成」

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

デフォルトのフィルター(ドメインでブロック)は、個別にオン/オフでき、解析系やソーシャルボタンなども個別にオン/オフすることができます。

このアプリの特長は、ウェブサイトごとにブロックする要素を設定することができます。
「このサイトでは、ソーシャルボタンは表示させたい!」etc ウェブサイトごとに広告ブロックの調整が可能です。

また、カスタムフィルタとして、自作のフィルターを追加することができます。
UIが分かりにくい部分がありますが、フィルターのタイプは、「通信のブロック, クッキーのブロック, 要素の非表示, コンテンツブロッカーJSON, URLフィルターリスト」と5種類から設定が可能です。

公式ウェブサイトの情報を見つけることはできませんでしたが、開発者さんのTwitterは、AdFilterを作る人です。

Adguard Pro(有料版)「アプリ内広告を非表示に」

Adguard Pro DNS設定画面
Adguard Pro DNS設定画面

Safari以外でも広告をブロックすることが可能なアプリです。
無料のAdguardの機能追加版ですので、もちろんSafariのコンテンツブロッカーとして使用可能です。
Adguardの無料版とプロ版との違いは、iPhoneやiPadの全ての通信についてブロックすることが可能なコンテンツブロッキングとDNSリクエストのログを取得する2つの機能になります。

開発元のAdguard側の機能の説明では、「Fake VPN」というワードが使われているように、iOSのVPN設定を使っていますが、実際はDNSサーバ(ざっくり言うとインターネット上の住所を知らせてくれるサーバ)の使用のみのようで、VPNアプリと併用が可能です。
Adguardのバージョン1.3.3では、iOSが使っているDNSサーバ以外に、独自に追加が可能になっています。

DNSリクエストのログは、デフォルトでオフになっています。
オンにすると、DNSサーバに問い合わせしたログが残りますので、ブロックした要素やフィルターのルールをすり抜けた要素が表示されるようになります。

iPhone, iPadのコンテンツブロッカーのTips

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

コンテンツブロッカーが有効にならない場合

iOSでは、アプリをインストールするだけでは有効になりません。
「設定 -> Safari -> コンテンツブロッカー」でインストールしたアプリをオンにすることで有効になります。

「フィルターの追加や修正、iOSのアップデート後」などで、フィルターが反映されない場合は、iPhoneまたはiPadの「設定アプリ」にある「Safari -> コンテンツブロッカー」で該当アプリをオン/オフしてみて下さい。また、iOSの再起動や少し時間をおけば反映される場合もあります。

ウェブサイトが表示されない若しくは表示が崩れる場合

Safariのエクステンション機能にある「ホワイトリスト」に追加(対応したアプリの場合のみ)するか、アドレスバーにある矢印を長押しで出る「コンテンツブロッカーなしで再読み込み」で対応可能です。

ホワイトリストとコンテンツブロッカーの停止

特定のURLのみアクセス又は表示できない場合

フィルターのルールで、前方一致や後方一致などで「ad」など特定の文字が入ったURLをブロックまたは非表示にしている場合、アクセスできない又は表示されない場合があります。

一つ上の項目に記載の「ホワイトリストに追加」、「コンテンツブロッカーなしで再読み込み」で対処可能ですが、アプリの開発者さんに問い合わせするのも良いかと思います。

iOSのSafari以外のアプリで表示される広告を消したい

アプリに組み込まれた広告の場合は、Adguard Pro(有料版)で、Safari以外のアプリで広告をブロックすることが可能です。※アプリの自社の広告の場合は、消すことができない広告があります。

コンテンツブロッカー(広告ブロック)アプリのおすすめ

広告系画像を多く掲載しているサイトでは、コンテンツブロッカーの効果が体感できるし、パケット通信料の節約にもなりますね。また、チカチカする広告も表示されなくなり眼にも優しいです。

iPhone, iPadにコンテンツブロッカーのアプリをインストールされていない方

無料アプリは、 AdGuard がおすすめです。
Adguardは、iOS以外にもMac版、Windows版, Android版があり、フィルターは日々更新されています。他言語対応していますので、もちろん日本向けフィルターもあります。※初期状態ではオンになっていないので、アプリのフィルターの項目からオンにしてください。

有料アプリでは、280Blocker がおすすめです。
広告をブロックするルールは最低限で、遅いiPhoneやiPadにも優しく且つウェブページの表示速度優先なので、おすすめです。

上記2つのアプリは、広告をブロックするフィルターのルールが公開されていますので安心ですね。

AdblockPlus形式のインポートやフィルターをカスタマイズした方

既にインターネット上で公開されているフィルターをインポートしたい場合や新規に作成またはカスタマイズする場合は、「AdblockPlus形式」なら Adguard 無料版Adguard Pro(有料版)。「JSON形式(iOSとmacOSのSafari用)」なら AdFilter がおすすめです。

1Blocker Lagacyは、JSON形式ですがAppleのコンテンツブロッカーのJSON形式(WebKit Content Blockers)と少し異なるためダイレクトにインポートはできません。

よく訪問するウェブサイトやiPhone、iPadなどの環境、色々とカスタマイズや自作したい etcによりコンテンツブロッカーの効果は千差万別ですが、この記事で紹介したアプリで、ほぼカバーできるかなと思います。アプリの併用も可能ですが、読み込めるルールの上限数 50,000 に注意してください。

MOST READ 昨日のアクセス数ランキング

iPhone, Macのコンテンツブロッカー(広告ブロック)のおすすめアプリ” に17件のコメントがあります

  1. 先日公開されたAdguardのPro版を使ってみましたが、DNS Requestsのログが見れて、アプリ内広告もブロック出来るみたいです
    https://i.imgur.com/6YE54KQ.jpg
    DNS Requests のログが見れるのでAdguardやAdBlock[http://itunes.apple.com/app/id691121579]のデフォルトフィルターでは消えない広告もブロックできますし、しかも上記のAdBlockと併用可能なので、Adguardで確認した広告ドメインをAdBlockでブロックするということが出来ます
    120円というお手頃価格なので、1度使ってみて記事に追記してみたらどうでしょうか?
    公式ブログ
    https://blog.adguard.com/en/adguard-pro-release/
    アプリのダウンロード先
    Performix「Adguard Pro – Adblock and Privacy Protection」
    https://itunes.apple.com/app/id1126386264

    それとAdバスター[https://itunes.apple.com/app/id1042279527]がiPadの横画面に対応しました
    https://i.imgur.com/6YE54KQ.jpg

    1. Adguard ProとAdバスターの情報ありがとうございました!
      ※コメント中のURL数がスパムフィルターに引っかかっており、本日気が付きました。コメントの反映が遅れてしまい申し訳ありません。

      AdguardのPro版が公開されていたのですね。
      テスター募集の記事を見て気になっていたのですが、Adguradのアプリ内課金でくると思っていたので情報をキャッチアップできていませんでした。

      Adguard Proは、DNSサーバを使ったVPN(のようなもの)なのでAdBlock (by FutureMind)と併用できる感じのようですね。
      購入してみて、おすすめできそうなアプリの仕様だったら追記します!

  2. なにも入れていなかったのでおすすめの280を買ってみて、アプリの広告も消したいなぁーっておもって
    AdBlockとAdguard Proで迷ってAdguard Proを買ったのですが使い方がよく分かりません。っていうか英語が読めない。

    Adguard Proの詳しい説明記事をお願いしたいです。

    1. コメントありがとうございます。
      Adguard ProのPRO機能を使うには、「Adguard DNS」に接続する必要があります。

      手順ですが、
      1. Adgurad Proを開く
      2. Adguard DNSという項目をタップ
      3. 最初に表示されているStatusという項目にあるボタンをオンにする

      上記の手順の後、VPNの使用を確認するアラートが出ますので許可すればOKです。

      以上でAdguard DNSが有効になります。
      Adguard DNSで設定できる要素は、次の2つのみになります。
      追加でアダルトサイトをブロックしたい場合は、「Family Protection」をタップ。DNSリクエストのログを取りたい場合は、「DNS REQUEST LOG」にあるStatusをオンに。

      ※接続中は画面上部に「VPN」と文字が表示されます。
      ※Adguard DNSの機能を停止するには、上記の「Status」のボタンをオフにすると停止できます。

    2. Adguard Proのおすすめのチェック入れておくフィルターはありますか?
      ブロッカーは先にも書いたとおり、280しか持っていません。

      Adguard Proはデフォルト状態で使っているのですが、2chブラウザのtwinkleで広告が出てしまいます。

    3. Adguard DNSを使用中でしたら、既にAdguardのフィルターが全ての通信に適応されているので、デフォルトのまま、もしく全てオフで良いと思います。
      ※Adguard Proアプリ内のフィルターをオンにしても、他のアプリで表示される広告にフィルターは適応されません。あくまでSafari(もしくはSafariを利用したアプリ内ブラウザ)のみです。

      twinkleでは消えてますね。もしかしたらフィルターを抜ける広告があるかもしれませんが、その場合は開発者にリクエストを出すしかありません。
      全く広告が消えない場合は、Adguard DNSに接続されているかを確認。接続中なら時刻などが表示されている画面上部の左に「VPN」と書かれたアイコンが表示されます。
      Adguard DNSに接続中にも関わらず全く消えない場合は、OSかアプリ側の問題かもしれませんので、twinkleを完全に閉じる、Adguard DNSのオン/オフ、もしくはお使いのiPhone/iPadを再起動してみてください。

    4. ありがとうございます。デフォルト状態がどうだったのか忘れちゃったので全部オフにしてみました。
      今のところ広告は消えたっぽいです。
      また広告出てきたら、タスクキルとかDNSのON/OFFやってみようと思います。

      なんか今日アップデート来てましたね。英語分からないからどんな内容か分からないけどDNSがどうたら書いてありました

    5. 良かったです!
      Adgurad Pro 1.1.3のアップデート、Adguard DNSに機能追加でルールを自作できるようになりましたね。
      「User Filter」に追加されたものに限りますが、ルールを追加すれば、Safari以外でのアプリでもブロックが可能になりました。「Whitelist」も同様で追加すれば除外可。

      次のアップデートでも大きめの新機能が追加されそうですね。

  3. 元々広告だったところの余白は消せないのでしょうか?

    >次のアップデートでも大きめの新機能が追加されそうですね。
    おお大きいアップデートあるのか、買ってよかった

    1. Safari内でしたら余白を数値で定義しているCSSを非表示にすれば消すことはできますが、他のアプリ内ではドメイン名でブロックしているので厳しいと思います。
      ※iOSアプリの開発は未経験ですので、はっきりしたことは言えませんが、広告の実装方法によっては余白が消えるものもあるかと思います。

  4. AdguardとAdguard Proの大型アップデートがありました。
    https://blog.adguard.com/en/adguard-for-ios-120/

    フィルター作成が改行区切りで入力が楽になり検索も可能。エラーがある場合は色付きでハイライトされます。
    adblock形式のフィルタをペーストして使えそうですね。
    後日記事をアップデートします!

  5. Adguard proのアップデート後、広告をブロックしなくなってしまったのですが、原因わかりますか?
    左上にvpnの文字も出ないです。

    https://blog.adguard.com/en/adguard-ios-1-3-0/

    ここになにか重要そうなことが書いて有りそうなんだけど、理解できませんでした・・・

    1. コメントを頂いたのに気付くのが遅くなり、すみません。
      AppleのVPN関連アプリの配信基準に変更があったために色々と変わりましたね。

      Adguard Proを立ち上げて、「Pro -> DNS Settings」をタップして遷移。
      DNS Settingsの「Status」をオン。

      ※2017年8月25日 追記
      8月24日に公開されたバージョン1.3.1では「System Default」でもブロック可能になりました。以下の説明のように「CUSTOM DNS SERVERS」を設定する必要はありません。
      追記は以上です。

      「CUSTOM DNS SERVERS」にAdguard DNSが表示されていれば選択します。
      Adguard DNSが無い場合は、「Add Custom…..」をタップして新規作成。
      NameとDescriptionの名称はお任せで。
      「IP ADRESSES」に追加するIPアドレスは以下の2つになります。
      176.103.130.130
      176.103.130.131
      ※前バージョンでAdguard Family protectionを使用していた場合は以下になります。
      176.103.130.132
      176.103.130.134


      設定変更は以上になりますが、何もブロックできない場合、端末の再起動やAdguard Proの再インストールを試してみてください。

  6. はじめまして。
    iPhone版AdBlockを利用していましたが、バージョンアップのために『Adblock(FutureMind) v4用 hostリスト』を使用し、以前のファイルを削除してリストの書き換えをしました。
    その後適応状態を確認すると、それまで広告表示されていなかったアプリに広告が表示されるようになってしまいました。(涙)
    iPhoneの再起動やアプリの再起動を何度も実行しましたが、ダメみたいです。
    せめて入れ替える前の状態に戻したいのですが、たぶん無理だと思うので、アプリ用のフィルターが有るサイトが他にありましたらご教示お願いいたします。

  7. お忙しい中に、コメントして失礼いたしました。
    結局はバックアップから復元して、自己解決しました。
    大変ご迷惑をお掛けいたしましたこと、お詫び致します。
    本当に申し訳ございませんでした。

    1. コメントありがとうございます。解決されて何よりです。
      現状動作が安定しているようですので、アプリのアップデートは必要ないと思いますが、少し気になった部分を書いてみます。
      ※再度アプリのアップデートや設定、効かない場合はバックアップからの復元など手間がかかるかと思いますので、参考程度に考えて頂ければ幸いです。

      現在Adblockはインストールしていないので詳細は不明ですが、最新のバージョン4でブロックの方法がDNS形式に変更されたようですので、DNSの設定が必要になったのかもしれません。以下のURLにある「<使い方>」のDNS設定です。既に試した後でしたらすみません。
      ※2018年11月11日 追記
      上記のURLはリンク切れのため削除しました。

コメントをどうぞ

コメントは確認後に反映されます。
コメント内容、名前(ニックネーム可)、メールアドレスの項目は必須となります。メールアドレスは公開されません。