Proxomitron Part3

このエントリーをはてなブックマークに追加
65Proxmine
CGIも設置して動作するようになったので公開。

JavaScript使ってセレクトメニューで開くようになっているものを、
リダイレクタを使ってJSが切ってある状態でも開けるようにするフィルター。


Name = "JavaScript SelectMenu Link to Normal Link (1/2)"
Active = TRUE
Multi = TRUE
Bounds = "<form*</form>"
Limit = 3000
Match = "<form*>\3<select*onChange=*>\9<option*value="(http(s|)\1:// $SET(0=http\1://)|(.+/|) $SET(0=http://\h/)) \2"*>\4</select>\5</form>"
Replace = "<form ACTION="http://proxomitron.netfirms.com/cgi-bin/RDr.cgi" METHOD="get" target=_blank>\3"
"<select NAME="url">\9<option value="\0\2"><!--JSLMtNML-->\4</select>"
" <input TYPE=Submit value="RDr">\5</form>"

Name = "JavaScript SelectMenu Link to Normal Link (2/2)"
Active = TRUE
Multi = TRUE
Limit = 512
Match = "<!--JSLMtNML-->\9<option*value="(http(s|)\1:// $SET(0=http\1://)|(.+/|) $SET(0=http://\h/)) \2"*>"
Replace = "\9<option value="\0\2"><!--JSLMtNML-->"


但し、.../なら問題無いのですが.../.../等となっているところではうまく動作しません。
まぁ、あまり無いと思いますが。
他にも不具合があったら言ってください。


又、自分でCGIを設置して使う場合は此れを使ってください。


#!/usr/local/bin/perl
($input_name, $url) = split(/=/, $ENV{'QUERY_STRING'}, 2);
$url =~ s/\+/ /g;
$url =~ s/%(..)/pack("c", hex($1))/ge;

print "Location: $url\n\n";


このCGIを提供してくださったpart2の893さんに大変な感謝です。
有難う。