
Androidで広告ブロックする方法として「がとらぼ」では過去にDNS66やプライベートDNSについて採り上げたが、今回はRoot化不要でほぼ完全に機能するAdGuardについて。
AndroidやiPhoneは通常はOSレベルで自由度が低いのでユーザーがやりたい放題にはできない。Google Playで提供されるアプリはGoogleで確認済みの行儀の良いものに限られる。Root化/脱獄すれば自由度は高まるがセキュリティ的によろしくないしRoot化/脱獄そのものが一部のユーザーに限られる。AdGuardの公式サイトで提供されるAdGuardアプリはGoogle Playで提供されているものとは違うのでこれを使うとなると公式サイトからDLしたとしても「野良アプリ」扱いとなる。自身のポリシーで野良アプリは使わないと決めている場合はNGかもしれないが、Root化無しで行儀の悪い目的を達成できるものとしてAdGuardは完成度の高いアプリの1つなので選択肢に入れたいところ。そういうアプリがAdGuardしかないというわけではないので念の為。名前解決で広告ホストのIPアドレスを正常に取れないようにするDNS66のようなアプリ、同じく名前解決でホスト名のIPアドレスを正常に取れなくするプライベートDNSのような広告ブロックの方法では広告枠が「空」或いは四角い枠として「空き地」で表示されるがAdGuardでは空き地が無い状態で表示されるので見栄えが良い場合がある。この機能がアダになることもあるけど。
AdGuardはGoogle Playにあるが、その説明に書かれているとおり「SamsungインターネットブラウザとYandexブラウザのみ」で広告をブロックするもの。そんなブラウザは死んでも使いたくないのでこのアプリはNG。Google PlayにあるAdGuardはインストールはしないこと。
AdGuardのインストール
https://adguard.com/ja/で「AdGuard for Android」 (スマホブラウザで)または、「AdGuard広告ブロッカー」(PCブラウザ)をダウンロードする。AdGuard VPNは今回はダウンロードしない。
Google Playのアプリではないので野良アプリ扱い。有害ファイルの可能性がある旨の表示が出るが、無視してダウンロードを続行する。
ダウンロードが完了したらそのファイルを開く。通常は、怪しいファイルを開くのはNGだが、今回はadguard.comのファイルは信頼することにする。
ダウンロードしたファイルを開こうとするとAPKアプリファイルなのでインストールするか尋ねられる。今回の記事では当然「インストール」する。
この画面はスマホメーカーによって出現の有無や画面デザインが異なるかも。セキュリティスキャンされて問題なければ「安全です」が表示されるので右下の「開く」をタップする。
ブライバシーポリシーの確認画面では、チェックボックス2つが表示されるが、チェックしないで「同意する」をタップする。
アプリ設定の選択画面。今回は、「詳細な設定(所要時間5分)」をタップする。
検索エンジンで検索結果に表示される広告を抑制したいなら「ブロックする」をタップ。そうでなければ「ブロックしない」をタップ。広告ブロックアプリをインストールしたいと思う人の多くは「ブロックする」だと思う。
SNSウィジェットが表示されたときに「いいね!」「シェアする」などのボタンの表示を抑制したいなら「ブロックする」をタップ。そうでなければ「ブロックしない」をタップ。広告ブロックアプリをインストールしたいと思う人の多くは「ブロックする」だと思う。
その他の邪魔なポップアップを抑制したいなら「ブロックする」をタップ。そうでなければ「ブロックしない」をタップ。広告ブロックアプリをインストールしたいと思う人の多くは「ブロックする」だと思う。
Youtubeアプリで広告表示を抑制する方法が表示されるので「なるほど」をタップする。
トラッキングなどによる個人情報やデータ収集から保護するレベルを選択する。デフォルトの「快適」で問題ないので「続行」をタップする。
セキュリティ機能を有効にするか尋ねられるので「いいえ、後で」をタップする。
間違って「はい、無料でお試し」を選択してしまった場合はその次の画面でAndroidの「戻る」ボタンをタップすれば↑(この)の画像の画面に戻る。
ローカルVPNはスマホ内に通信の迂回路を作るもの。インターネットの何処かと接続するようなVPNではない。
このAdGuardアプリは、広告をブロックするためにローカルVPNを使う方式。このローカルVPN作成を行わなければ機能しないと思ってよい。
当然「ローカルVPNを作成」をタップする。
ローカルVPSをオンにするために「OK」をタップする。画面上部のステータスバーに(鍵)アイコンまたはVPNアイコンが表示されればVPN接続完了。
ただし、ローカルVPNをオンにしただけでは殆どの広告はブロックできない。その対応は2つ下の画像から。
AdGuard Premiumの画面が表示されるが、今回は使わない。Androidの「戻る」ボタンをタップする。
AdGuardアプリのメイン画面が表示されるが、案内レイヤーが邪魔。スマホの機種やOSのバージョンによっては表示が見えにくくなっていることがあるかもしれないが、「ヒントを無効化」をタップする。
HTTPSフィルタリングの有効化
案内レイヤーが消えてメイン画面が表示される。一番下の黄土色部分の「HTTPSフィルタリングはオフになっています」だと殆どの広告はブロックできない筈。AdGuardアプリをインストールしたにもかかわらず広告が表示されるという人はおそらくHTTPSフィルタリングが無効のままだと思われます。
「オンにする」をタップする。
HTTPSフィルタリングの説明が表示されるので「次へ」をタップする。
引き続きHTTPSフィルタリングの説明が表示されるので「次へ」をタップする。
AdGuard証明書(CA証明書)のダウンロードを行うので「すぐに保存する」をタップする。
証明書ファイルをダウンロードするためにAdGuardアプリにストレージへのアクセスを許可しなければならない。
「許可」をタップする。
ダウンロードするファイル名がadguard_******.crtであることを確認して「保存」をタップする。
ダウンロードした証明書のインストールはAdGuard上からではなくAndroidの設定から行う。その方法の説明が表示される。「セキュリティ設定を開く」をタップするとAndroid設定の中のセキュリティ系設定のメニュー画面が表示されることになる。
「暗号化と認証情報」(メニューの項目名は異なるかも)をタップする。
見つからない場合はAndroid設定の検索欄で「証明書」などのキーワードで検索すると「証明書のインストール」のような項目があると思われます。(それを開くと次の次の画面へ)
「証明書のインストール」をタップする。
AdGuardの説明では「証明書をインストールする」とは書かれているが証明書の種類が指定されていない。AdGuardの証明書はCA証明書なので「CA証明書」をタップする。
CA証明書をインストールすると本来信頼できない相手との通信が「信頼できる通信」になる可能性があるが「あなたのデータが公開されます」はちょっと意味不明。しかし、CA証明書をインストールしなけば進まないので「インストールする」をタップする。
内部ストレージの最近のファイルが表示されるので先にダウンロードした証明書ファイルadguard_******.crtをタップする。これで証明書のインストールが完了する。Android設定側の画面にはもう用は無い。
AdGuardアプリに戻ると「HTTPSフィルタリングが有効になりました」になるので証明書は正しくインストールできている。「OK」をタップする。
なお、その上のメインスイッチが何故か無効(オフ)になっていたのでこのスイッチを確認の上で有効(オン)にする。(次へ)
AdGuardのメインスイッチが無効なら有効(オン)にする。後で何かあって一時的にAdGuardを無効化したいときはAdGuardアプリを開いてこのスイッチで無効/有効を切り替える。
AdGuardを有効化するとVPN接続になり「保護は有効です」が表示された状態で、画面上部のステータスバーに(鍵)アイコンまたはVPNアイコンが表示される筈。
AdGuardを有効化したら後は普通に使える。ブラウザだけでなく他の一部アプリの通信でも広告がブロックされる筈。(ウェブサイト内で完結する広告やブロック対策された広告は表示されることがあります。)アプリ内広告の多数は今回インストールした無料版のAdGuardではブロックされないので以前に上げたAdGuardのプライベートDNSを利用するのが良さそう。有料で構わなければAdGuard Premiumでライセンスを購入するのもアリでプライベートDNSよりもブロックの確実性は上がりそう。
インストールした証明書の確認
Android設定のセキュリティ関係のメニューから「暗号化と認証情報」を開く。
「信頼できる認証情報」を開く。
メニューや項目が見つからない場合はAndroid設定の検索欄で「認証」などのキーワードで検索する。
「信頼できる認証情報」(証明書管理画面)を開く。
「ユーザー」(ユーザーインストール分)タブを開く。
ユーザーインストール分のCA証明書リストにAdGuard Personal CA証明書が表示されるのでタップする。
AdGuard Personal CA証明書の内容を確認することができる。また、AdGuardアプリをアンインストールした際にはこの画面で「削除」をタップしてAdGuard Personal CA証明書を削除する。これは手動で行う必要がある。
証明書を確認しただけなら「OK」をタップする。
Android設定から見ることができるAdGuardのVPN用に作成されるユーザー認証情報。Android設定の中の項目が見つからない場合はAndroid設定の検索欄で「認証」などのキーワードで検索する。
たとえばYoutubeだと無料版のAdGuardではYouTubeアプリを使っての視聴では公告をブロックできないが、YouTubeはブラウザで利用できるサービスなのでブラウザでhttps://youtube.comにアクセスすればブラウザ上では公告無しで視聴できる。他もウェブで提供されているサービスはブラウザで利用すれば公告をブロックできることも。ブラウザで利用できないサービスでプライベートDNSを設定しても公告をブロックできないものは無料版AdGuard以外の何かで対応する方が良さそう。
AdGuardを有効にするとウェブサイトの閲覧時に広告を表示しない。AdGuardはその広告非表示のためにページの一部(ブロック)をフィルタリングして広告欄そのものを消滅させる。つまりページ(ウェブサイト)の作者の意図した表示ではない状態に変更する。このような行為を嫌うウェブサイトの作者は非正常なページ(ソース)を提供して、ページの一部が阻害されずに完全な表示が行われる場合だけにブラウザ上でソースに変換処理を行い表示を正常化させるという方法で対抗することができる。ウェブ制作者側でCSSを使いページの一部の表示/非表示を切り替えるような小細工はあまり意味がないのでソースレベルで対応するのが良いと思う。
「がとらぼ」では2021年夏にそのページソースレベルで非正常なページを出力してページの一部が非表示ではない場合にブラウザ上で正しく変換表示させる広告ブロックの雛形について記事にしていましたが、2022年2月末にこの「がとらぼ」に適用してみました。(記事+αの処理をしています) 最初、2022年3月末って書いてたけど錯誤
AdGuardの有効状態でこの「がとらぼ」の一部の記事(ブログ系記事)を表示すると記事本文が文字化けして読めなくなります。HTMLソース自体が文字化けしているためHTMLソースを表示しても読むことはできません。
- MIUI Downloader | News & AppsアプリでXiaomiスマホのシステムアプリ更新と隠し機能の呼び出し
- MIUI Downloader | News & AppsアプリでXiaomiスマホの最新ファームウエアを入手する
- Root化したAndroidでLSPosedモジュールのインストールと使用
- MagiskでRoot化したAndroidでRoot対応アプリを使用 & LSPosedをインストール
- Redmi Note 9S向けにAndroid 12ベースのMIUI 13がリリースとシステムアプリ消し
- XiaomiのスマートフォンをMagiskでRoot化
- AdGuardで広告ブロック (Android)
- Androidでアドレス帳/カレンダーの切り替え (DAVx5 CalDAV/CardDAV同期アプリを使って)
- DAVx5 - Android用CalDAV/CardDAV同期アプリ
- Androidスマホ画面をWindowsで表示 (ワイヤレスディスプレイ プロジェクション)