YouTubeを見ていると広告が表示されて鬱陶しくなってきたので、一度きちんと対処してみることにしました。
以前書きましたが、FirefoxのAdblockで広告をブロックしてしまうとYouTubeが正常に再生できなくなります。YouTube.comをAdblockのホワイトリストに追加すると正常に再生できるようになるのですが、また広告が表示されるようになってしまいます。(当たり前)
YouTubeは広告を表示するのに”pagead2.googlesyndication.com”へアクセスしているので、squidのblacklistなどで上記サイトのアクセスを完全にブロック(HTTPのステータスコードの403, Forbiddenを返す)してしまうとAdblockと同じ現象が起きます。
そこで、対処方法ですが、要するに403を返さないようにすればいいわけです。
一番簡単なのは、以下にあるように、hostsファイルでpagead2.googlesyndication.comのアドレスを127.0.0.1に設定する方法です。
pagead2.googlesyndication.com へのアクセス回避 – BitWalker
127.0.0.1 pagead2.googlesyndication.com
ただこの方法にはセキュリティ的に問題があって、もし127.0.0.1でhttpサーバが動いているとWebブラウザ経由で思いもよらないURLにアクセスされてしまう恐れがあります。
JavaScriptなどを使って不正アクセスされるようなことがあるとまずいので対策を考える必要があります。
ブロックしたいホストが少なければ、PC上でApacheかlighttpdのバーチャルホストでpagead2.googlesyndication.comを設定すれば、外部からアクセスされたくないローカルなhttpサーバと分離することができるので安心です。
ブロックしたいホストが多くなってくるとその都度バーチャルホストを設定を追加するのは大変なので、Squidを立てて返すhttpのステータスコードがカスタマイズできるフィルタリングソフトを導入します。
今回は、SquidGuardというフィルタリングソフトを使いましたが、Ubuntu9.0.4のSquidGuardのバージョンが1.2と古く、ホスト名でのブロックは問題なく行えるようなのですが、URLで指定した場合は、一部のURLがブロックされずにbypassしてしまう(すり抜けてしまう)不具合があるようです。
ii squidguard 1.2.0-8.4ubuntu1
SquidGuardの最新版は1.4ですが、ソースコードからビルドしてインストールするのは大変なのと、あまり融通が利きませんがホスト名でブロックできれば一応、事足りるので、しばらく1.2で使ってみようと思います。
ということで、今回は細かな手順を書くのはやめました。
<これまでの記事>
YouTubeが重い(2010/02/14) « 突然消失するかもしれないブログ
YouTube 1080p対応でPentium-M死亡 « 突然消失するかもしれないブログ
YouTubeを高速化する « 突然消失するかもしれないブログ
YouTubeが絶不調!? 特定ブラウザで見ようとするとまるでニコニコ動画状態に « 突然消失するかもしれないブログ
YouTube HD品質の動画再生がちょくちょく止まる « 突然消失するかもしれないブログ
最近のコメント