« 2009年2月 | トップページ | 2009年4月 »

2009年3月

2009年3月26日 (木)

Privoxy 使いどころ

AdBlock Plus に比べると広告ブロックのフィルタを作成する手間は面倒だし正規表現のスキル不足で対応できないことも多々あるけれど Privoxy しばらく使ってみると、思った以上に快適。
複数のPC、複数のブラウザ、で各々のPCの各ブラウザごとに広告ブロックを設定しなくて済む。

PC だけでなく REGZA Z7000 のwebブラウザでも無駄な画像や広告が落とせる、もっとも REGZA Z7000 では試しただけで到底 Web を見る気にはならない...。
実機で試した訳ではないけれど PSP や PS3 、はたまた ニンテンドーDS でも広告ブロックが効けば嬉しいかもしれないし、REGZA と同じかも。


使っていると時々対応も必要で初期導入時のエントリ(2009/03/01)から純粋な広告ブロックのためのフィルタ以外に変更した主な点

  1. IT media で3月20日から3月23日のどこかで何か変更があったらしく Privoxy 経由での表示が軒並み残念な状態に
    • 画像がごっそり抜け落ちる

    リファラがないとまずくなったらしかったので itmedia.co.jp でリファラを参照できるように追加

    user.action


    ただし、気がつくと3月26日には元に戻っていて、この変更は加えなくても良くなっていた。一時的な状態だったのでサイト側の設定ミス?、ポリシーの変更の変更??

  2. GoogleChrome(2.0.169.1) で Google の2回目の検索で文字化けする、これはいつからなのか不明
    • Privoxy の Enabled/Disabled に関わりなく発生
    • Privoxy を経由させなければ問題ない
    • IE8、Firefox3 では問題ない

    リクエストヘッダの違いで一部挙動がうまくいっていないらしい様子
      2回目の検索結果 Accept-Encoding:
    Firefox3(Nightly:3月21日版) OK gzip,deflate
    IE8 OK gzip,deflate
    GoogleChrome(2.0.169.1) NG gzip,deflate,bzip2,sdch
    Privoxy に Accept-Encoding の一部変更用のオプションは無いっぽいので、圧縮 prevent-compression を変更

    user.action

    影響範囲と仕様変更のタイミングも知りたいので、.google. にせず敢えて適用範囲を狭めた状態で設定。
    今日(2009/03/26)現在、Gmail や Googleリーダー の検索でこの対策は不要。
    【2009/04/20:追記】
    PortableGoogleChrome 2.0.172.6 や Chromium 2.0.175.0(13652) 辺りではすでに、この圧縮を無効にさせる対応は無くても正常に表示されるようになっていた

多少なりとも手を掛けて快適な広告ブロック環境を手に入れれば入れるほど

『 一番広告ブロックを使いたい端末は携帯電話なんだよなぁ 』

と思わざるを得ない。

| | コメント (0) | トラックバック (0)

2009年3月18日 (水)

割引少なめ

この電話の通話代 17000円。
そんなものですか。

来月分からが今後の目安。

| | コメント (0) | トラックバック (0)

2009年3月13日 (金)

IT 再び

昨日に続きホラー系?

IT が映画化されるらしい

TV映画のものはレンタルで見た。
途中まではいい感じで来ていたのに、終盤ガッカリな展開、原作は知らない。
実体のないままラストを迎える展開なら良かったのに何故あんなにチープな展開、ラストになるのか。
消化不良な謎が残されたとしても、正体不明のままで押し切ってくれればよかったのにと思わざるを得なかった。

同じホラーでも クリスティーン は個人的に大ヒット。
話の設定はこちらの方が陳腐な話に感じるけれど、そこらへんにあるもの、だけで成り立っている名作。

| | コメント (2) | トラックバック (0)

2009年3月12日 (木)

違う 14歳

今朝、テレビ欄に「14歳」というドラマのタイトルを見つけたので、『アレがドラマ化されたのか?!』と心踊ったら別の話だった。
こちらの「14歳」なら見たのに。

| | コメント (0) | トラックバック (0)

2009年3月 1日 (日)

GoogleChrome にてメイリオと広告ブロックをプロキシ(Privoxy)で何とかしてみる

かねてから GoogleChrome にあるいくつかの大きな不満点のうち二つ

  • フォントを Firefox や IE のように強制できない
    ClearType の効くフォントを使いたい、MS Pゴシック 強制が嫌
  • 広告だらけの状態

をなんとかしたかったので httpフィルタリングなプロキシ Privoxy(ver 3.0.11) を導入。
ニコニコ動画のつながりで オミトロン も候補に考えたものの Privoxy をなんとなくチョイス。
httpフィルタリングプロキシで遊んでみたかったのも理由の一つ。

【2010/01/30 追記】
GoogleChrome でフォント強制だけを行いたい方は、オフィシャルのGoogle Chrome 拡張機能 などでスタイルを指定できる拡張機能を利用するのがお手軽です。個人的には完全解決ではないもののその辺の顛末というか現状の結果の話はこちら(2010/01/24)
Privoxy の個人的には多少進化した用途とフィルタのサンプルはこちら(2010/01/20)、進化してもなお稚拙なのは仕様……。

【2010/03/19: 追記】
GoogleChrome の開発版(5.0.356.0)でも起動オプションの追加によりユーザースタイルが .css ファイルで指定可能になったので補足
--enable-user-stylesheet
この起動オプションを有効にして実行すると
<user-data-dir>/<profile>/User StyleSheet/Custom.css
が生成されるので Custom.css を好みに合わせて適当に編集して UTF-8 BOM無し で保存

例1)
単純に全て メイリオ 強制 (全角文字を含むので必ず UTF-8 BOM無し で保存)


例2)
単純に全て Meiryo UI 強制 (全角文字を含まないので Shift_JIS でも一応効く)


※ @charset "Shift_JIS"; 等は効かないっぽい (dev 5.0.356.0) ので UTF-8 BOM無し で保存するのが無難

【2010/09/02: 追記】
ようやく GoogleChrome の安定版も ver.6 になり起動オプションは不要に
<user-data-dir>/<profile>/User StyleSheet/Custom.css
は特に何もしなくても生成されているはずなので Custom.css を適当に編集

お世話になったサイト

この手のノウハウ系では先駆者の方々にはいつも感謝です。

 

GoogleChrome の起動オプション

HDD から起動しても良いと思えるレベルになったのと、ディスクキャッシュの指定が可能になったので起動オプションを一部変更。 GoogleChrome を丸ごとRAMディスクにコピーして起動していたのをやめたのが以前との大きな違い。GoogleChrome (PortableGoogleChrome 2.0.167.0) の現在の起動オプション。

  • --user-data-dir=../Profil
    GoogleChrome 本体の chrome.exe の一つ上の階層に Profile を (PortableGoogleChrome のデフォ)
  • --enable-user-scripts
    user data ディレクトリを指定しているのでその中 Profil\Default\User Scripts として「User Scripts」フォルダを作成
  • --disk-cache-dir=z:/GoogleChrome
    ディスクキャッシュをRAMディスク(z:)に指定
  • --proxy-server=192.168.0.1:8118
    プロキシ(Privoxy) を指定

以上を踏まえてショートカットのリンク先には次のようなものを幾つか作成して適当に使い分け。

プロキシ有り、ユーザーデータディレクトリを指定、ユーザースクリプト有効、ディスクキャッシュをRAMディスク(z:)へ指定

プロキシ無し、ユーザーデータディレクトリを指定、ユーザースクリプト有効、ディスクキャッシュをRAMディスク(z:)へ指定

 

Privoxy の設定

Privoxy の変更点だけメモ。
基本的に GoogleChrome でWebをあちこち見ることはない(メインブラウザはFirefox)ので、自分の行きそうな場所のみ設定。
あまり真面目に消していない(正規表現ムズカシイ・・・)ので一部見苦しいのはご愛敬。

config.txt

フィルターファイルが多いのは文字コード違いを吸収する方法が分からなかったので苦肉の策

  • ファイル名の文字コードの通りにフィルターファイルを使い分ける
  • LAN 内での利用
  • Privoxy のオン/オフをショートカットやブックマークレットから利用可能にする
  • ニコニコ動画は NicoCache_nl を通す

user.action

  • 一部の広告、スクリプトはバッサリ落とす
  • 汎用フィルタは断念して各サイトごとにフィルタリング

user-SJIS.filer

SJIS で保存。このフィルターファイルは基本の共通設定となるものも記述。
ここに ClearType なフォント『 MeiryoM(※注1) 』を body への style で無理矢理指定。

user-UTF8.filer

UTF-8 で保存。UTF-8 なサイト用の記述。

user-EUC.filer

EUC で保存。EUC なサイト用の記述。

  • Yahoo! JAPAN 関係は収拾つかなくなったので「どれかヒットするハズ、誤爆やむなし」で放置

 

試行錯誤の過程

そもそも広告ブロックより、フォントを何とか強制したい、が念頭に。

  1. フォント名を『メイリオC(※注2)』で指定しようとした時、UTF-8、SJISなどコードページの違いで2バイト文字を含むフォント名入れ込みに失敗
    • 初めは無いフォントをデタラメに指定すればブラウザ指定のフォントになると思ったら、忌むべき MS Pゴシック が勝つ場合が
    • UTF-8 でフィルターファイルを保存すると、SJIS のサイトでアウトになったりならなかったり
  2. 複数のフィルターファイルを指定できることに気がついたので、各文字コードごと「分離」して複数のフィルターファイルそれぞれへフォント指定
    【!】試行錯誤中の設定の一部抜粋
    (結果的に失敗、フォント名に2バイト文字を含む時にこうやってバラで指定するしか無いんだろうか、という疑問が残る)
    • user.action
    • user-SJIS.filer
    • user-UTF8.filer
  3. で、うまくいったと思ったら Yahoo! JAPAN の微妙な文字コード混在サイトの存在により一部で不細工な結果に
  4. フォント名に2バイト文字を含めないようにしたフォント『MeiryoM(※注1)』を別途作成して指定する方向に路線変更
    • フォント MeiryoM(※注1) を body への style として指定
  5. フォントまわりの指定をしてみるテスト
    • フォント MeiryoM(※注1) を body への style として指定、ついでにリンクの下線を通常時は無しで下境界線破線、マウスオーバー時に下線表示

      やりすぎ
    • ユニバーサルセレクタでフォント MeiryoM(※注1) を指定

      やる前から分かっていたものの、かなり悲しい結果に
    リンクの下線消し程度ならともかくこれらはやり過ぎたのでテストのみでボツ

フォント関連以外では汎用フィルターを作ろうとするも挫折、結局サイトごとに記述することに。
div の id="Ad" や noscript 部分の削除とかで結果的に誤爆するサイトは嫌がらせにしか思えないし、document.write で逐一広告を書き込んでくるサイトの努力は買うけど・・・。

文字コードを意識せずにすむ、もっとスマートな方法をご存じの方教えてくださいませ。

 

雑感

それにしても、サイトの中で文字コードを混在させる Yahoo! JAPAN のツギハギっぷりには笑った。

GoogleChrome がメインブラウザになるための条件として本質的には、自分の表示したいフォントで固定、Firefox の AdBlock+ のようなスマートな広告ブロック、が必須な事に昔も今も変わりない。
『ブラウザでのフォント指定』+『Privoxyによる書き換え』、 で 100% のWebサイトでの対応はありえなくても 90% 以上でフォントの強制が有効になったはず、 Web サイトで ClearType なメイリオ系 で表示できるようになったので良しとすることにする。
広告ブロックよりもこの点が満足度が高い。

 

【補足】

  • 【※注1】 MeiryoM はメイリオを改造した自前のフォント
  • 【※注2】 メイリオC はメイリオを改造した自前のフォント

| | コメント (0) | トラックバック (0)

« 2009年2月 | トップページ | 2009年4月 »