Lon Sagisawa

fredrick-suwandi-csXTAyTiESo-unsplash resize

ポスト280blocker時代のiOS用広告ブロックを考える

2021年09月04日

Cover: Photo by Fredrick Suwandi on Unsplash

iOS用広告ブロッカーとして国内ではもっともよく知られていたであろう280blockerが、営利企業に売却されました。

トビラシステムズ、非連続の成長にむけたM&A戦略における初の案件 広告ブロックサービス280blockerを完全子会社化 |トビラシステムズ株式会社

製作者の体調不良により更新が滞ったことが売却の直接的な要因となった、ということが製作者のブログで触れられていますが、個人的には以下のような点から広告ブロッカーアプリの営利企業への売却は基本的には悪手であると考えています。

  • 広告ブロッカーの売却にともなうマルウェア化の事例が実際に存在する
  • ブロックリストの非公開化により
    • 何がブロックされるのか、といった点が不可視となる
    • 他のアプリケーションからのブロックリストの参照ができなくなる
  • トビラシステムズ社は公開企業であり、株主の要求を満たすには280blockerから利益を出し続けなければならない。その際にAdBlock Plusで行われているような、身代金方式による広告のブロック解除がなされる可能性が否定できない
    • サブスクリプションモデルへの移行とかやりようはいくらでもあるとは思う

ということで280blockerに頼らない広告ブロックについて考えてみましょう。

iOS環境での広告ブロックについて

iOSでできる広告のブロックは、主に以下の3つの手段。

  • Safari用のコンテンツブロッカーを導入する
  • 広告サーバーへのDNSクエリを弾く
  • 広告をブロックするWebブラウザを使う

280blockerは当初はSafari用のコンテンツブロッカーとして提供がはじまり、その後広告ブロック用DoHサーバーの提供を開始したという経緯があります。それぞれの方法について見ていきましょう。

Safari用コンテンツブロッカー

iOS標準の機能なので端末への負荷が軽く、仕組み上アプリ側がどの広告をブロックしたのかわからないのでApple以外に対してプライバシーが確保されています。欠点としてはSafariの機能なのでSafari以外の広告はブロックできないということです。

コンテンツブロッカーのアプリは山のようにありますが、個人的にはDNSを使ったブロックのために一時期使っていたAdGuard Proのコンテンツブロッカー側を使おうと思っています。以前は日本語圏用の標準搭載のフィルターが不出来だったのですが、2021年に入ってから改良が進み十分実用的です。PCブラウザの広告ブロックでもAdGuardのフィルターを使っています。

AdGuard社は営利企業ですが、自社の広告フィルターをGitHubで公開し、プルリクエストも受け付けています。どうも日本語圏用フィルターの改良にもコミュニティが深く関わっているようです。アプリもオープンソースっぽいのですが、中身がApp Storeで公開されているものと同一かどうかの保証はありません。

DNSクエリ

Androidだとこちらが主流ですね。rootを使わない方法だとスマホの中にアプリを使ってVPNを立て、そちらを通して通信することでどのサーバーと通信するかフィルターするというものが主流だと思います。アプリ内の広告もブロックできるのが特徴ですが、ブラウザだとブロックした広告の跡が残りがちです。

AdGuard Proは元はこちらの方法での広告ブロックで名が知られており、以前は私もそれを使っていましたが現在はNextDNSを試しています。

Screenshot 2021-09-05 0.52.27

これはCloudFlareの1.1.1.1やGoogleの8.8.8.8のような公開DNSサービスなのですが、他のサービスとの違いとしては設定を触ることでコンテンツブロッカーやトラッキングブロッカーの機能も持たせられるようになるという所があります。広告を配信しているサーバーのドメインをNextDNSで解決しようとすると0.0.0.0が返ってくるというわけです。iOSでもiOS14から構成プロファイルを使えば自分でDNSサーバーを指定できるようになったので、NextDNSに向ければスマホの中でVPNを動作させることなくDNSクエリでの広告ブロックができるようになっています。無料で使えるのは月30万クエリまでですが、iOSデバイス1〜2台ぐらいなら問題ないでしょう。

アプリだとBlokadaはオープンソースで無料で設定もかなり簡単です。Androidではおなじみですが実はiOS用も存在しており、ローカルにVPNを作る方式で広告サーバーへのアクセスを弾きます。英語圏用のフィルターが使われているので日本語環境ではちょっと漏れがあると思いますが、主要な広告プラットフォームはだいたい国際展開していたりするので英語圏用とイメージしていると意外とちゃんと効きます。

広告ブロッカー内蔵のWebブラウザ

Androidだといろいろ選択肢がありますが(安全なところだとFirefox+uBlock OriginやBromite、あとVivaldiがあります)、iOSで使う価値がありそうなのはBraveぐらいになります。Safariのコンテンツブロッカーでたいてい事足りるので、わざわざブラウザを変えるまでもないということですね。iOS版のVivaldiは欲しいのですが……。

IMG 0587

リンクハイジャックの前科があり収益モデルもちょっと好みは分かれるところですが、尖った試みであることと何より設定がラクなのは間違いないと思います。僕は嫌いです。

いろいろあるので調べてみよう

280blockerは実際設定が簡単で強力、有償でしたが買い切りで価格もそこまで高価ではなかったので広く使われてきましたが、広告やトラッキングのブロックは世界中で試みられており、その中にはもちろんiOS環境も含まれています。いろいろ調べて試して快適な環境を作りましょう。

logo

Lon Sagisawa

福井県在住の1995年生まれ男性。ゲームしたり写真を撮ったりコードを書いたりして過ごしています。日本国内でお仕事募集中。

GitHub https://github.com/lonsagisawa
Discord Lon_Sagisawa#5466