不快なネット広告をブロックしたい
最近のネット広告では、怪しい化粧品のようにグロテスクで見苦しい広告だけでなく、とうとう有名人の画像を使った詐欺の広告まで見かけるようになった。
皆さん、フェイスブックやインスタグラムなどのSNSで、こんな広告は見たことないでしょうか。例えば、実業家の堀江貴文さんを語り、「1株1,000円が10万円に上がる」と投資を勧めたり、経済評論家の岸博幸さんと偽り、「収入の10倍を無料で手に入れましょう」と呼びかけて、お金をだまし取る。
NHK「クローズアップ現代」2024年4月24日(水)放映『“偽の広告”で被害拡大 どうする「SNS型投資詐欺」』より引用
NHKのクローズアップ現代では、「SNSで見かける詐欺広告」として取り上げられているが、これらを筆者は普通のウェブサイトで見たことがある。
こういうことがあるので、「今どきインターネットするなら広告ブロックが必要だ」という意見すら出てくるのも納得だ。
wikipediaの項目「アドブロック」によれば、広告ブロックするソフトを広告ブロッカーやアドブロッカーと呼ばれているそうだ。ブラウザの拡張機能「AdBlock」を使っている人も多いだろう。
今回この記事で紹介する「Pi-Hole」は、LinuxのDNSサーバーとして動作する広告ブロッカーだ。
ルーターのDNSサーバーを「Pi-Hole」に指定すれば、パソコンだけでなくwifiで接続されたスマホやタブレットまでネットワーク内すべての端末で不快な広告をブロックできる。
そこでRaspberry Pi 4にインストールして、その効果を確かめてみたい。
用意したもの
- Raspberry Pi 4 4GBモデル
- 32GB MicroSDカードとカードリーダー
- 実験用のルーター(ELECOM WRC-2533GS2V-B)とLANケーブル
- Tera Term(SSHクライアント)
- ネット広告が多いウェブサイト
Linuxとネットワークに関する知識が必要です
Raspberry Pi OSのインストールとルーターの設定
先ほど書いたように、Pi-HoleはLinuxで動作するDNSサーバーである。だから最初に、「Raspberry Pi Imager」でRaspberry Pi OS 64bit LiteをMicroSDカードへインストールした。
併せてSSHの有効化とユーザー名とパスワードの設定も済ませておく。
次にRaspberry Piに固定IPアドレスを割り当てる。これをしないとPi-Holeのセットアップができない。ルーターの設定画面から、固定IPアドレス番号とRaspberry PiのMACアドレスを指定する。
固定IPアドレスやDNSサーバー(後述)の設定は、ルーターの設定を変える必要がある。
今回の実験では、すでに設置されているルーターや家庭内ネットワークへの影響を避けるため、いわゆる二重ルーター状態で検証した。
Pi-Holeのセットアップ
curl -sSL https://install.pi-hole.net | bash
今回の検証では、デスクトップ環境のないRaspberry Pi OS LITE(64-BIT)をセットアップした。SSH経由のリモートでログインしたあと、上記のコマンドをコピー&ペーストしてエンターキーを押せば、セットアップが実行される。
なおネットワークインターフェイスはRaspberry Piの有線LANを選択、上位DNSサーバーにはGoogleを指定した。
セットアップが終わると、WebインターフェイスへログインするためのURLとパスワードが表示されるので忘れないようメモすること。
Pi-Holeにログインしたら「AdLists」をクリックして、ブロックしたい広告のURLを入力する。なお駄文にゅうす様のPi-Hole記事に、そのリストが載っているのでありがたく使わせていただく(感謝)。
ちなみに半角スペースで区切ると、まとめて複数のURLを登録できる。「秀丸エディタ」など正規表現の使えるエディタがあるなら、先程のリストの改行を半角スペースに置き換えるといい。
次にSettings→DNS→Advanced DNS settings→Rate-limiting(画像のオレンジ枠の項目)で、「queries」 と 「seconds」の項目をそれぞれゼロ(0)に変更する。こうしないと急にネットが繋がらなくなる。
「Client (IPアドレス) has been rate-limited (current config allows up to 1000 queries in 60 seconds)」というメッセージがPi-HoleのWebインターフェイス上に表示されたら、Rate-limitingの設定を確認しておこう。
Pi-HoleをDNSサーバーに設定する
ネットワーク内すべての端末で広告ブロックするなら、ルーターでDNSサーバーのアドレスを自動取得ではなく手動でPi-Holeを指定する。実験に使ったELECOMのルーターでは、WANの設定項目にDNSを指定する欄があったので、そこにPi-Holeの固定IPアドレスを入力した。
ちなみにWindows 11のインストールされたパソコンだけ広告ブロックするなら、やや面倒な設定がいる。
筆者が使っているデスクトップパソコン1(Windows 11 Pro 23H2)の場合、「スタートボタンを右クリック→設定→ネットワークとインターネット→ネットワーク→DNSサーバーの割り当て」で編集をクリック、ドロップリストから手動を選んでPi-HoleをIPv4およびIPv6のDNSサーバーとして指定する。
なおIPv6は、駄文にゅうす様の記事で書いてあるようにIPv4射影アドレスで代替できた。
実際のサイトで検証してみる
まずはクリック型広告を撤去予定の当サイト(Life with DIGITAL)で検証してみた。この通りトップページから見事に広告が消えた。
続いて某ポータルサイトや、SNSで見かけるニュースサイトでそれぞれ検証してみた。
スクショ画像のとおり、ネット広告は(ほぼ)一掃された。また2ch系まとめサイトでは、広告だけでなく逆アクセスランキングなども排除された。
ちなみにAmazonアソシエイトなど消せなかった部分は、リンクのURLを調べてブラックリストに追加登録しておく。逆にX(旧ツイッター)の短縮URLt.coなどブロックされて困るURLは、ホワイトリストに登録すればいい。
ところで一部のサイトでは広告ブロックを使っていると、コンテンツを見せてくれない場合がある。そのときは、Pi-Hole設定画面の「Disable Blocking」で広告ブロックを一時的に解除できる。
まとめ
以上のように、Pi-Holeを導入すれば不快なネット広告のほとんどをブロックできることがわかった。
この記事ではパソコンのブラウザで検証しているが、Pi-Holeを設定したルーターを経由すれば、スマホやタブレットでも広告なしの快適なブラウジングができた。
目障りなネット広告を一掃できたのは素晴らしい。
ところでPi-Holeの動作検証は2024年7月15日から7月21日まで行ったが(スクショではログ取得のため14日から22日の期間になっている)、一週間の運用で164,107件のクエリがあり、そのうち24.9%にあたる40784件がブロックされた。
つまり(少なくとも今回の実験においては)約4分の1の通信(クエリ)が、ネット広告に費やされていることがわかった。
広告ブロックによるフリーミアムの終焉
ところで、無料で見られるコンテンツを提供しているところでは、ネット広告の収入に頼っていることが多い。これをフリーミアムモデルと呼ぶ。
しかしネット広告をブロックされると、その貴重な収入が失われてしまう。動画共有サイトのニコニコ動画では、広告ブロックにより年間1億円以上の損失を出していて、色々と不都合が出ているようだ。
本来表示されるはずの広告が非表示にされてしまうことで、広告収益において年間1億円以上の損失が発生しており、サービスの運営・開発へ影響が生じているとともに、クリエイター奨励プログラムの奨励金を適切に分配できていない状態にあります。
「【ニコニコをご利用の皆様へ】広告ブロックツール(AdBlock)の使用についてのお願い」(2024-05-27投稿)より引用 アンダーラインおよび太字は筆者による強調
そのため、ユーザーに広告ブロックの解除をお願いしているそうだが、このまま至るところで広告ブロック解除のお願いが続くと、ネット広告をブロックする意味が無くなってしまう。
そこで今後は、コンテンツに直接課金する「ペイウォール」が主流になるかもしれない。SNSで見かけるnoteの有料記事も、その一つだ。
この辺りの話は「広告ブロック時代の新しいインターネットの歩き方」として、別の機会に書きたい。
2024年10月12日追記
「広告ブロック時代のインターネットの歩き方」として、Life with DIGITAL管理人室ブログにて投稿した。
ググっても「いかがでしたか?」と中身のないウェブサイトばかりの時代で、アドブロッカーを使ってもブロックできない。
こうした状況下でどうやってネット検索するか、そもそも情報収集の仕方について考えたので、こちらも読んで欲しい。
- 詳細は「自作パソコンのSSDを交換してWindows11にアップグレードした」を参照 ↩︎