- リンクを取得
- ×
- メール
- 他のアプリ
おはようございます、モバ(@yubile)です。
iPhone 5、Nexus 7に加えて「BRAVELY DEFAULT – FLYING FAIRY」や「PROJECT X ZONE」の2本が明日届くとあって、遊ぶ時間がちっとも足りません。ちなみにiPod touchも配送待ち(オンラインApple Store予約組なので13日到着予定)ですが、正直このままだと積みゲーならぬ積みガジェットになりかねないなーと思ってたりします。
さて、今日のネタは広告ブロック第2弾。Macで動作するオープンソースの広告ブロック用プロキシ「GlimmerBlocker」についてです。なお、GlimmerBlockerにはプロキシとして任意のスクリプトを動作させたりなどの機能もあるようですが、ぼくは単純なブラックリスト&ホワイトリストとしての運用しかしていない初心者であることをあらかじめお断りしておきます。
GlimmerBlockerをインストールすると、システム環境設定にGlimmerBlockerパネルが現れる。
起動するとこんな感じ。動作がおかしくなった時は、チェックをオンオフすると復活することが多い。
Filtersタブを開いてみる。ひとつひとつの処理(どのURLをブロックするか)をルールと呼び、そのルールをまとめたものをフィルターと呼んでいる。
フィルターはWebDAV経由で共有することもでき、誰かがそうして共有したフィルターを使わせてもらうこともできる(使っていないので詳細は分からないが)。名前の横に地球アイコンが付いているフィルターが共有のもので、デフォルトではオンだが、日本のサイトではあまり効果が無いのでオフにした。
また、Site enhancementsなどには広告ブロックではなく、Youtubeにダウンロードリンクを表示するなど利便性の高いルールが入っていたりする。JavaScriptが書けるならカスタマイズを楽しめるだろう。
ただし、最初にお断りした通り今回はあくまで広告のブラックリスト&ホワイトリストとしてだけ扱う。
ルールとアクション一覧の下にある+ボタンを押すと新しいルールを作れる。
どのフィルターに入れるかを決め、ブロックするかホワイトリストに入れるか、あるいはスクリプトを動作させる(Modify requestやKeyword URL Expansionがそれに当たる) かを決め、URLを入力する。URLの入力は後述のSuspectsタブから選んでもいいし、ブラウザでブロックしたい広告のHTMLソースを表示させて探すという手もある。広告リンクと画像リンクのサーバが違う場合、広告はブロックされても画像が消えないこともあるため、ソースをチェックした方が確実ではある。
Suspectsタブには、GlimmerBlockerが「それらしい」と判断したURLがずらっと並ぶ。
それらしいURLを見つけたら、選択して「Create filter rule…」を押すと、URLが入力された状態でルール設定ダイアログが立ち上がる。
Networkタブでは、プロキシサーバとしての動作を設定する。”Allow iPhones, iPods and other computers to use GlimmerBlocker on this Mac“にチェックを入れ、Proxy port numberに数字を入れると(デフォルトは8228)、同じローカルネットワーク内のマシンからプロキシサーバとして使えるようになる。
また、dolipoやプロバイダ指定のウィルススキャンサーバなどがある場合、下のSite-wide proxyから設定することで
インターネット>他のプロキシ>GlimmerBlocker
という二段構えにもできる。速度的にかなり不利になるが……。
GlimmerBlockerを動作させているMacでは、127.0.0.1で接続する。システム環境設定>ネットワーク設定から「詳細…」ボタンを押し、「プロキシ」タブから設定する。うまく動作しないサイトがあったら、下の「プロキシ設定を使用しないホストとドメイン」にドメインを記入することで直接接続できるようになる。
たとえばiOSの場合、設定>Wi-Fiから、使用するネットワークの横にある「>」を選んで詳細設定に入り、下の方にある「HTTPプロキシ」で設定すれば良い。
プロキシ設定さえできればOSは問わない。ただし、残念ながら2.3 Gingerbread以前のAndroidはroot化しないとプロキシが使えない点だけは要注意。なお、3.2 Honeycombのデバイスは持っていないので分からないが、4.0 Ice Cream Sandwichと4.1 Jelly Beanではプロキシ設定が可能だ。
とりあえず手順をまとめると、
- Filtersタブで「俺ルール」を作る(SuspectタブもしくはブラウザでHTMLソースを表示して細かく調べていく)
- Networkタブでポート番号を決める。他のマシンからも使いたい場合は”Allow iPhones(以下略)”にチェックを入れる
- Setupタブで”Activate GlimmerBlocker”にチェックを入れ、端末側のプロキシ設定を行う
という流れだ。
GlimmerBlockerのメリットは、
- ブロックしたい広告の設定が1台に集約できる
- 広告以外に「アクセスさせたくないサイト」もブロック可能
- iOSやAndroidで脱獄・root化などのリスクを冒す必要がない
- スクリプト次第でより柔軟な運用が可能(実践していないのであくまで予想だが)
といったところ。
デメリットは、
- 速度が落ちる
- プロキシを動かすマシンは常に電源オンでなければならない
- プロキシを通すと使えないサイトがある
- モバイルに弱い
となるだろうか。
ちなみにモバイルをカバーする方法として、VPN越しにこのプロキシサーバを使うことも可能だ。
広告を読み込まないから軽くなる……と言いたいところだが、さすがに安物機材の適当なVPNだと、速度ロスもそれなりに大きい。回線速度しだいではなかなかイケるものの、トータルでは微妙な所だ。
今回はMac専用のGlimmerBlockerを取り上げたが、Windows向けにはProxomitronという強力なローカルプロキシ(広告ブロックではなくサイトカスタマイズに主眼を置いたもの)があり、日本語マニュアルやフィルターデータを配布しているユーザーがいるようだ。
ぼくは使ったことがないので評価はできないが、Windowsでモバイルする方はチェックしてみると良いかもしれない。
第3回は少し間を空けて(冒頭にも書いた通りiPod touchや3DSゲームなどいろいろ来るので)、Androidの広告ブロックツール「AdAway」を取り上げてみたいと思う。