使い回せそうなパターン、本体/Error.cssのカスタマイズなど(裏技、便利技、知識)
http://Local.ptron/ViewSrc.css = ./html/ViewSrc.css
http://pc5.2ch.net/test/read.cgi/win/1084124599/870-871
870 :名無し~3.EXE :sage :04/07/23 10:06 ID:LypusYek HTML Debug Infoでデバグ情報を表示した時に、 CSSを利用して横スクロールバーを出さない方法 いずれもViewSrc.cssのbody{ }内に挿入 ・IEの場合 line-break:normal; word-break:break-all; word-wrap:break-word; ・Mozilla white-space:-moz-pre-wrap; ・Opera white-space:-pre-wrap; 871 :名無し~3.EXE :sage :04/07/23 10:09 ID:LypusYek 失礼、pre{ }内
http://Local.ptron/Errors.css = ./html/Errors.css
http://pc2.2ch.net/test/read.cgi/win/1054480719/18
18 :名無し~3.EXE :03/06/02 18:09 ID:HK6ulLxC あのホストエラー画面とやっとおさらば出来る・・・ ついでにgoogleキャッシュとWebarchiveへのリンクをつけるスタイルシート。(IE5.5?〜) キャプチャ http://www2.wbs.ne.jp/~go-to/prx/Errors.png Errors.css http://www2.wbs.ne.jp/~go-to/prx/Errors.txt
ttp://web.archive.org/web/20031127230252/www2.wbs.ne.jp/~go-to/prx/Errors.png
http://web.archive.org/web/20031127230252/www2.wbs.ne.jp/~go-to/prx/Errors.txt
上記内容をちょっといじったもの
/* Proxomitron Error Message Style Sheet */ /* IE5~7の場合、Proxomitron の ./html/image/ に置いた bg0.jpg ~ bg9.jpg のどれかがランダムで適用される */ body { background-image: url(http://local.ptron/image/bg0.jpg); } td { font-size: 21pt; color: #eee; font-family: "Times New Roman", "游明朝", YuMincho,"ヒラギノ明朝 Pr6 W6","Hiragino Mincho Pro", "HGS明朝E","メイリオ", "MS P明朝","MS PMincho",Meiryo, serif; background-color: #000; filter: Alpha(opacity=70); -moz-opacity: 0.7; opacity: 0.7; } .err1 { font-size:110%; font-weight:bold; } .err2 { text-decoration:underline; /* IE5-7 */ display:expression( !window.a && ( this.innerHTML = this.innerHTML.link("http://web.archive.org/*/"+document.URL) + " " + "G".link("http://www.google.co.jp/search?q=cache:"+document.URL) + " " + "魚".link("http://megalodon.jp/?url="+encodeURIComponent(document.URL)) , this.children[0].target="_self", this.children[1].target="_self", this.children[2].target="_self", this.children[0].title="Internet Archive", this.children[1].title="Google cache", this.children[2].title="ウェブ魚拓", document.body.style.backgroundImage = "url('http://local.ptron/image/bg" + ( // 0-9 Math.floor(Math.random()*10) ) + ".jpg')" ), a = "inline" ); } a { color: #aaf } a:hover, a:focus, a:active { color: #faa } table { width: 100% } img { display: none }
http://pc2.2ch.net/test/read.cgi/win/1047857088/220
220 :196 :sage :03/04/03 09:31 ID:wBezrTX+ >>196 バイナリエディタ(Stirling等)で直接行う方法として、 00030F3B -> 00030F74 番地を以下に書き換える。 <body text=#00ff00 bgcolor=#330044 background="Gradient.gif"> ↓ <frameset rows="*"><frame src="hostingerror.html"></frameset> (htmlフォルダ内にhostingerror.htmlを作成)
4.5+7の場合は 0002A0D9 -> 0x0002A111 番地を以下に書き換える。
<LINK REL="stylesheet" type="text/css" href="Errors.css"> ↓ <frameset rows="*"><frame src="dnserror.html"></frameset>
(htmlフォルダ内にdnserror.htmlを作成)
<html><head><title>Connection Killed! by Proxomitron</title></head><body style="background-color:rgba(0,0,0,0.1);color:black">\k <script type="text/javascript"> if (/^https?:/i.test(location.protocol) && !/^(0*1(?:0|27)\.\d+\.\d+\.\d+|0*1(?:69\.254|92\.168)\.\d+\.\d+|localhost)$/.test(location.hostname)) { if (/\.onion$/i.exec(location.hostname)) document.write( '<a target="_blank" href="'+location.protocol+'//'+location.hostname+'.city'+location.pathname+location.search+location.hash+ '">onion.city</a>' + ' - <a target="_blank" href="'+location.protocol+'//'+location.hostname+'.cab'+location.pathname+location.search+location.hash+ '">onion.cab</a>' + ' - <a target="_blank" href="'+location.protocol+'//'+location.hostname+'.to'+location.pathname+location.search+location.hash+ '">onion.to</a>' ); else document.write('<a target="_blank" href="http://web.archive.org/*/' +location+ '">WayBack Machine</a>' + ' - <a target="_blank" href="http://www.google.co.jp/search?q=cache:' +encodeURIComponent((''+location).match(/^[^#]+/))+location.hash+ '">Google cache</a>' //+ ' - <a target="_blank" href="http://' +location.hostname+'.nyud.net'+location.port+location.pathname+location.search+location.hash+ '">Coral CDN</a>' + ' - <a target="_blank" href="http://megalodon.jp/?url=' +encodeURIComponent((''+location).match(/^[^#]+/))+location.hash+ '">ウェブ魚拓</a>' // ヒット率が高くなるが関係ないページも表示されやすい版 + ' - <a target="_blank" href="https://archive.is/' +(''+location).match(/^[^#]+/)+ '*" title="※「#」を含むURLと含まないURLは別物と認識されるので、検索時は最後に「*」を付けることを推奨">archive.is</a>' // ヒット率が低くなるが関係ないページは表示されにくい版 //+ ' - <a target="_blank" href="https://archive.is/' +(''+location).replace(/#.*$/, '*')+ '" title="※「#」を含むURLと含まないURLは別物と認識されるので、検索時は最後に「*」を付けることを推奨">archive.is</a>' + ' - <a target="_blank" href="http://www.freezepage.com/">freezepage.com</a>' ); } </script></body></html>
Gallery/KillConnectionList のようなフィルタで、キーボードのKとLを押しながらアクセスすると切断するようにしておくと便利
※漏れて困るURLの場合リンクを開かないこと
http://pc12.2ch.net/test/read.cgi/win/1218905098/169-176
169 : 名無し~3.EXE : sage : 2009/04/11(土) 17:29:01 ID:s7+pSGN7 フィルタ名に日本語使えるようにしたのって既出だった? ttp://toku.xdisc.net/cgi/up/ttt/nm12578.png 176 : 169 : sage : 2009/04/12(日) 00:27:41 ID:e5d0AyBv 興味ある方はどうぞ CreateFont CharSet 0000676D: 00 -> 01 0000B913: 00 -> 01 0000B93F: 00 -> 01 00011FC9: 00 -> 01 00018743: 00 -> 01 0001876F: 00 -> 01 CreateFont Height 00006780: F8 -> F4 0000B92C: F8 -> F4 0000B952: F8 -> F4 00011FE9: F8 -> F4 0001875C: F8 -> F4 00018782: F8 -> F4 フィルタ名の最初の文字が化ける対策(何か弊害あるかも) 0000B38A: 3C 20 7F 08 8A 41 01 41 84 C0 75 F4 -> 90 90 90 90 90 90 90 90 90 90 90 90 00027805: MS UI Gothicとかに
以上の変更をまとめた FireFlower 形式のパッチを用意しました。Naoko-4.5 June 用です。
http://prxbx.com/forums/showthread.php?tid=1115
リンク先にパッチファイルあり ※この変更を行ったことによる弊害は未確認
→ /質問箱/16
※4.5June+7は既に適用されている
http://pc8.2ch.net/test/read.cgi/win/1145863257/903,938
903 :名無し~3.EXE :sage :2006/12/11(月) 10:55:51 ID:xwLq9Wus proxomitronのタスクトレイアイコン上で右クリックしてコンテキストメニューを出す際、エクスプローラのタスクバーのメニューも一緒に出るよな? 必ずそうなるわけじゃなくて、いくつか条件があるんだけどな (1)タスクトレイにフォーカスが無い (2)右クリックを押してから離すまでの時間を素早くやる これは右クリックを*押した*時にメニューが出るプログラムだと、右クリックを*離した*時にエクスプローラのメニューが出る為らしい ttp://forums.belution.com/ja/vc/000/320/07s.shtml WM_RBUTTONDOWN 0x0204 WM_RBUTTONUP 0x0205 つうことで、右クリックを*離した*時にメニューが出るようにパッチ当てようとしたんだが、バイナリエディタで検索かけてもそれらしき場所が見つかんねぇ 誰か、解析してパッチを当てる場所を教えれ 938 :名無し~3.EXE :sage :2006/12/25(月) 11:46:18 ID:PMteNb4u 需要あるか分からんけどせっかくだから書いとくか 通知領域のアイコンの右クリックメニューを、マウス右ボタンを押したときじゃなくて 離したときに表示させてみるテスト for 4.5June系 00013397: 03 04
4.3 | 00011607: 03 04 |
---|---|
4.4 | 000116B7: 03 04 |
4.5may | 00013327: 03 04 |
[HTTP headers] In = TRUE Out = FALSE Key = "Content-Encoding: Kill incorrect Encoding (In) [2007/08/08] test1a" Match = "(^*(gzip|deflate))"
検証:http://prx.dip.jp/test/filtertest/nph-test.cgi
※4.5June+8は修正されている
ただし、FAT ファイルシステム上のファイルは逆にずれるようになる(未確認)らしい
If-Modified-Sinceを見てない?(未検証)ため発生するバグ
(他にも、Last-Modified: が GMTから9時間引いた時間 = JSTから18時間引いた時間になっているというバグがある ※GMT=JSTから9時間引いた時間)
対策
[HTTP headers] In = TRUE Out = TRUE Key = "Pragma: local.ptron bug fix no-cache (both)" URL = "local.ptron/$FILTER(false)" Replace = "no-cache"file// でも発生する様子
http://shinshu.fm/MHz/14.30/archives/0000167355.html
http://local.ptron/killed.gif が読み込めればオミトロンが起動していると見なす と言うもの。
これを利用してアクセスを拒否してくるサイトが出てくるかも知れない。(関連:スラッシュドット ジャパン | Firefoxユーザをブロックするキャンペーン)
案1の方が簡単だが、案2の方が確実
但し、$RDIRを使っているので、レスポンスヘッダを見て更に$RDIRを使うことはできない
ProxomitronはHTTP-Headerの処理順が決まっていないので*2、以下の様な事が起こる。
パターンA) 元々の Referer: は A → Referer: が A なので グローバル変数を設定とか、何か処理 → Referer: を B に書き換え
パターンB) 元々の Referer: は A → Referer: を B に書き換え → Referer: が B なので 何もしない
どっちでも元々のRefererは同じなので、同じ動作をしないとまずい。
Refererの場合、Referer: フィルタ全ての、マッチ部分の頭に、
($TST(default_referer=?)|($OHDR(referer: \0)&$SET(default_referer=\0)))
を置く。 ※この部分は必ずマッチする
後は、元々のRefererを参照したい場合は、$OHDR(referer:) や、Referer: ヘッダフィルタではなく、$TST(default_referer=...) か、$GET(default_referer) を使えば良い。
[HTTP headers] In = TRUE Out = FALSE Key = "Content-Encoding: backup (in)" Match = "?&\0" Replace = "\0$SET(Content_Encoding=\0)"
既に「Set-Cookie: key=value; domain=hoge.com; expires=~;」などがある通信で、path や domain, expires, secure が違う Set-Cookie: を吐き出そうとすると、別に Set-Cookie: ヘッダを出力する必要が出てくる。
これは、以下のような方法で実現できる。
[HTTP headers] In = TRUE Out = FALSE Key = "Set-Cookie: TEST: add new Set-Cookie: (in)" Match = "(?$SET(1=\r\nSet-Cookie: )&\0)|" Replace = "\0\1proxo_new_key=proxo_new_value"
※HTTPヘッダはの区切りは \r\n HTTPヘッダとHTTPボディの区切りは \r\n\r\n
LogWindow では、新しく追加した Set-Cookie: が、元々あった Set-Cookie: の後ろにくっついて表示される(改行が無視されて表示される)が、実際の通信では正常に改行も出力されていて、ブラウザも正しく処理する。
検証: http://prx.dip.jp/test/filtertest/nph-test.cgi
Match の方で $SET(0=出力)$SET(1=したい) のようにして、Replace を \0\1コメント のようにすればおk
他に $FILE を使う方法もある
文字コード表
http://euc.jp/i18n/charcode.ja.html
文字列 → 数値文字参照 ※IEの場合こっち推奨
を使用すれば一応可能(HTMLとして表示した場合限定)
但し、UTF-7(Base64でエンコードされている)やUTF-16,UTF-32(ASCIIに0x00を含む)では使えない
Perlの正規表現で言う「(?#comment)」のような物は無いが、
検索表現に「((^(^?))|(^?)|comment)」としてコメントを書く事は可能。
※「(^(^?))」の部分が、後ろに何か文字がある場合に消費せずにマッチし、「(^?)」の部分が、後ろに何の文字もない場合に消費せずにマッチするので、「comment」の部分は絶対検索されない
また、少々鬱陶しいが、 $LOG(comment) としてコメントを書く事も可能
<start>または<end>が有効である場合は、そのフィルタにおけるBoundsは無視されるので、Boundsにコメントを書くことも可能
但し、どれも Syntax Error が出ないようにしないといけない
## プライベートIPアドレス(ローカルIPアドレス) 0+10.[0-9]+.[0-9]+.[0-9]+[:/] 0+172.0+(1[6-9]|2[0-9]|3[01]).[0-9]+.[0-9]+[:/] 0+192.0+168.[0-9]+.[0-9]+[:/] ## リンクローカルアドレス 0+169.0+254.[0-9]+.[0-9]+[:/] ## ローカルループバックアドレス 0+127.[0-9]+.[0-9]+.[0-9]+[:/] localhost[:/] ## ※変なアドレスも使える http://prx.dip.jp/wiki/%E8%B3%AA%E5%95%8F/%E7%B9%8B%E3%81%8C%E3%82%8B%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E3%83%86%E3%82%B9%E3%83%88/
URL Match の頭に置くと、GoogleCache でもマッチするようになる。/Gallery/CacheSiteList
##↓リスト形式 # GoogleCache ( ([^/]++.|)google.co(m|.jp) | [0-9]+.[0-9]+.[0-9]+.[0-9]+ )/search\?(q|[^#]++\&q)=cache(:|%3A) ((^http)[^:]+:|) (http(s|)(:|%3A)(/|%2F)+|)
概要
<a href="hoge.php?id=aaa">ペポ|+ %bbb</a> 何てのを <a href="http://title.ext/ペポ|+ %25bbb.txt?hoge.php?id=aaa">ペポ|+ %bbb</a> というリンクに書き換える。 その後、http://title.ext/~ へのアクセスをヘッダフィルタで本来のURLに$RDIRで透過的に移動させる。 = Windowsで保存すると、「ペポ|+ %bbb.txt」になる。(駄目文字を全角文字に置き換えている) ダウンロードリンク追加系のフィルタで使えるはず。
使用例は「title.ext」で検索
導入
[Patterns] Name = "title.ext for JIS [2010-03-14]" Match = "<a\s[^>]++href=$AV(\0)[^>]+>(^(^\1</a>))" "(" "(([^#%\\/:*?"<>| &%1B]+((^\"+|\&[lg]t;+)\&|[%1B]([%24][%40%42]|[%26][%40]|[%28][%49%4A])[^%1B]+|[%1B][%28][%42]|))+)\#" "" "(#$SET(#=%23)" "|%$SET(#=%25)" "|\\$SET(#=¥)" "|/$SET(#=/)" "|:$SET(#=:)" "|\*$SET(#=*)" "|\?$SET(#=?)" "|\"$SET(#=”)" "|\"(;|)$SET(#=”)" "|(^</a>)<$SET(#=<)" "|\<(;|)$SET(#=<)" "|>$SET(#=>)" "|\>(;|)$SET(#=>)" "|\|$SET(#=|)" "|\s$SET(#= )" "|)" "" ")+</a>" Replace = "<a href="http://title.ext/\@.txt?\0">\1</a>" Name = "title.ext for Shift_JIS [2010-03-14]" Match = "<a\s[^>]++href=$AV(\0)[^>]+>(^(^\1</a>))" "(" "(([^#%\\/:*?"<>| &%81-%9F%E0-%EF]+((^\"+|\&[lg]t;+)\&|[%81-%9F%E0-%EF][%40-%FC]|))+)\#" "" "(#$SET(#=%23)" "|%$SET(#=%25)" "|\\$SET(#=¥)" "|/$SET(#=/)" "|:$SET(#=:)" "|\*$SET(#=*)" "|\?$SET(#=?)" "|\"$SET(#=”)" "|\"(;|)$SET(#=”)" "|(^</a>)<$SET(#=<)" "|\<(;|)$SET(#=<)" "|>$SET(#=>)" "|\>(;|)$SET(#=>)" "|\|$SET(#=|)" "|\s$SET(#= )" "|)" "" ")+</a>" Replace = "<a href="http://title.ext/\@.txt?\0">\1</a>" Name = "title.ext for EUC-JP, UTF-8 [2009-05-03]" Match = "<a\s[^>]++href=$AV(\0)[^>]+>(^(^\1</a>))" "(" "(([^#%\\/:*?"<>| &]+((^\"+|\&[lg]t;+)\&|))+)\#" "" "(#$SET(#=%23)" "|%$SET(#=%25)" "|\\$SET(#=¥)" "|/$SET(#=/)" "|:$SET(#=:)" "|\*$SET(#=*)" "|\?$SET(#=?)" "|\"$SET(#=”)" "|\"(;|)$SET(#=”)" "|(^</a>)<$SET(#=<)" "|\<(;|)$SET(#=<)" "|>$SET(#=>)" "|\>(;|)$SET(#=>)" "|\|$SET(#=|)" "|\s$SET(#= )" "|)" "" ")+</a>" Replace = "<a href="http://title.ext/\@.txt?\0">\1</a>"上のフィルタのリスト版
テスト用ファイル
title.ext-jis.htm
title.ext-sjis.htm
title.ext-eucjp.htm
title.ext-utf8.htm
問題点
NTFSで利用できない文字 \/:*?"<>| NTFSの文字数制限 「名前.拡張子」全部含めて、UNICODEで255文字まで(UTF-16LEらしい) FAT16, VFAT, FAT32 で利用できない文字(らしい) . " / \ [ ] : ; | = , http://ja.wikipedia.org/wiki/File_Allocation_Table には特に何も書いていない FAT12, FAT16, VFAT, FAT32 の文字数制限 8.3形式、または255文字
※` はInternetExplorerのみ Shift_JISの文字が 0x81〜9F + 0x40〜FC 0xA0〜DF(半角カナ) 0xE0〜EF + 0x40〜FC なので、 ` (0x60)が、Shift_JISの2Byte目に含まれる可能性がある。 例:? (0x8760) 他にも、Aチ汁柿港形 など これはちょっとした問題を起こす。 例えば、IMGタグからALT属性値を抜き出す場合、 Match = "<img [^>]++alt=(\"\1\"|'\1'|`\1`)*>" の様にすると思われるが、 ※$AV, $AVQは ` に対応していない上にエスケープされている場合閉じ文字として処理されない=スクリプト用 <img alt=`イ? と書いてある看板` src="hogehoge"> を処理した場合、 \1 = イ? となってしまう。 理由は勿論?の2Byte目を閉じる文字として処理した為。 この様な誤爆を回避する場合、 Match = "<img [^>]++alt=(\"\1\"|'\1'|`(([%81-%9F%E0-%EF]`|[^`])+)\1`)*>" の様にすると良い。
文字実体参照(実体参照)は最後の「;」が無くても有効.htm
IE9, IE8, Firefox, Chrome, Opera で確認
導入方法は、各ファイルをエディタで開いて確認してください。
色づけ (*.col, *.rkw)、省入力 (*.kwd)、ポップアップヘルプ (*.khp)、アウトライン表示 (*.rl) が可能になる。
SakuraEditor_Proxomitron.zip