Proxomitron の ヘッダフィルタ


MSN検索を Google検索に転送

※ ブラウザのアドレス欄に語句を入力してEnterを押すと MSNで検索される場合に、Googleで検索するように転送する
※ Windows 2000 でしか効果なし?環境によるのかも

[HTTP headers]
In = FALSE
Out = TRUE
Key = "URL: MSN Search to Google (out) [2005/11/04 dokas_mg]"
Match = "http://auto.search.msn.com/response.asp\?*MT\=([^&]+)\0"
Replace = "$JUMP(http://www.google.co.jp/search?hl=ja&lr=lang_ja&q=\0)"

日本語の場合、デフォルトのフィルタ URL: Enable Keyword search (Out) が効かず、
MSNで検索されてしまうようなので作成


Proxomitron の ウェブページフィルタ


Googleイメージ検索を直接リンクに

※ Googleイメージ検索結果で、サムネイル画像をクリックした時に、直接その画像を新たに開くようにする
※ サムネイル画像横の ? をクリックすると、元々のリンク先(その画像があるページ)を新たに開く

Googleイメージ検索は、JavaScriptが使用可能な場合、JavaScriptを使ってページを構成するようだが、 このフィルタは JavaScriptを使用しないように(scriptタグと script本体と noscriptタグを消去)しつつ、リンク先を変更する

[Patterns]
Name = "Directly Link Google-Images [2006/07/06 dokas_mg]"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)images.google.co(.jp|m)/"
Bounds = "$NEST(<script,</script>)|<(/|)noscript>|<a\s*</a>"
Limit = 4096
Match = "<script*</script>|"
        "<(/|)noscript>|"
        "("
        "<a\shref\=$AV(/imgres\?imgurl\=(http(s|)://[^&]+)\1\&imgrefurl\=(http(s|)://[^&]+)\2\&*) \3"
        "$SET(\0=<a href="$UESC(\1)" target="_blank"\3<a href="$UESC(\2)" target="_blank">?</a>)"
        ")"
Replace = "\0"

全てのページを白黒化して表示させる

※ CSSの filterに対応してるブラウザで効果があるだろう(IE系のみ?)
※ 画像ファイル単体とかフラッシュとかには効かない

[Patterns]
Name = "Monochrome Color [2006/06/30 dokas_mg]"
Active = TRUE
URL = "$TYPE(css)|$TYPE(htm)"
Limit = 8
Match = "("
        "$TYPE(css)(^(^?))$SET(\0=body { filter: Gray\(\); })"
        "|"
        "<body$SET(\0=<body style="filter: Gray\(\);")"
        ")"
Replace = "\0$STOP()"

HTMLタグまでをスキップする(<start>などの代わり)

※ ページ先頭から、
XML宣言タグ(無くても可)、DOCTYPE宣言タグ(無くても可)、<html>タグの順番なら
無視して通過させる

※ <html>タグが無かったり、順番が違ったり、間に別のタグがあったりする場合には適用されない

[Patterns]
Name = "BeforeStart: Ignore before <html> [2005/11/04 dokas_mg]"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 1024
Match = "( [^<]++{0,3}( <\?xml[^>]+>|)( <!DOCTYPE[^>]+>|) <html[^>]+>)\0"
Replace = "\0$STOP()"

ページの最初に語句を挿入する系統のフィルタで、
"<start>" や " (<!DOCTYPE*> |)\1" を使うと、
<html>タグの前に挿入されてしまうのが気になったので、作成

このフィルタを使用した場合、ページの最初に語句を挿入する系統のフィルタは、
Matchを "$STOP()" とするだけで<html>タグの後に挿入するようになる
ただし、順番がこのフィルタより後になるようにすること

[^<]++{0,3} はユニコードのBOMゴミ対策(これでいいのか自信無し)