年々派手になってくるWEB広告をシャットアウトするべく、調べたところ、Proxomitron とPrivoxyが候補になる。どちらも、 Windowsに常駐して、ローカルなproxyとしてフィルタリングを行う。ブラウザ 側ではproxyにlocalhostを指定することになる。
どちらを使うかは趣味みたいなものだが、自分としてはPrivoxyが性に合って いるようだ。Privoxyでは、config.txtで使用するファイル名などの大枠を設 定し、組み込みアクション以外のフィルタリング動作はフィルタファイルに追 加していく。中身は、フィルタ名の定義とperl風のs///表現のセット。
デフォルトで多数のフィルタが定義されているので、あまり追加の必要はない だろうが、以下は私家版追加例。my-webbugsは、デフォルトで記述されている webbugs(1x1ドットのユーザ追跡用擬似イメージ)フィルタでは、副作用が出 るサイトがあるので、banners-by-sizeフィルタにならって、修正したもの。 js-fake-msie6は、IE以外のブラウザだと警告されたりハナから動かなかった りするような某銀行系サイトで、javascript上でIEにフェイクしてしまうフィ ルタ。user-agentでフェイクするには、専用の組み込みアクションを使う。
FILTER: my-webbugs # 1x1 s@<img(?: src="([^"]*)")??[^>]*(width=(['"]?)1(?=\D)\3)[^>]*(height=(['"]?)1(?=\D)\5)[^>]*>@<img src=http://config.privoxy.org/send-banner?type=auto alt=Killed-$1-by-1x1 $2 $4>@sigU FILTER: js-fake-msie6 s|navigator\.userAgent|"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; T312461; .NET CLR 1.0.3705)"|ig s|navigator\.appName|"Microsoft Internet Explorer".toLowerCase()|ig s|navigator\.appVersion|"4.0 (compatible; MSIE 6.0; Windows NT 5.0; T312461; .NET CLR 1.0.3705)".charAt(0)|ig
アクションファイルは、あるアクションあるいはフィルタを有効にするか無効 にするかを、どのサイト(URL)に対して適用するかを列挙したもの。デフォ ルトのアクションファイルは変更せずに、ユーザ用のアクションファイルに書 く方がよさそう。ここではデフォルトとしてバージョン1.7を使っているが、 どれを使うかによって微妙に違うので注意が必要。
というわけで、Privoxyを入れてから、広告が相当減って、ストレスも減った ように思えるが、たまにフィルタをすりぬけてくるポップアップ広告とか、フ ラッシュ広告とかがあると、それをブロックするルールを探すのがめんどう。
それにしても、多くの無料サイトは広告収入をあてにして運営しているわけで、 本来はこんな広告を見てくれない客には来てもらいたくないんじゃないかと思 われる。とはいえ、フィルタを探してインストールしてチューニングまでする ような敷居の高い作業は誰も好きでやったりしないんだから、もうちょっと品 のあるおとなしい広告および広告主を選択しなかったサイトにも非があるはず だ。