1 名前:ミスターオミトロン [2006/11/13(月) 17:00:32 ID:oCAoIukD0] このスレは作成依頼されたフィルタを有志により作るスレッドPart4です アップローダー wind.prohosting.com/proxmine/cgi-bin/uploader/ proxo.hp.infoseek.co.jp/cgi-bin/sn_uploader/upload.html Proxomitron等に関するWiki abc.s65.xrea.com/prox/wiki/ Thinking Archive(仮) vird2002.s8.xrea.com/ CastleCops Proxomitron Filters www.castlecops.com/f65-Proxomitron_Filters.html >>2-10 にいろいろと
792 名前:777 mailto:sage [2007/05/12(土) 13:24:28 ID:u1eBPKNo0] 見よう見まねで作ってみました。 上下に2列ずつページリンクが出て変だけどこれで妥協しよう。 [Patterns] Name = "YP Link 070512" Active = TRUE URL = "yp.peercast.org/(\?|(^?))" Limit = 512 Match = "(<hr\ssize="1">)\0|(Page:(([^<]|<<<)+<(/|)[ab](^[a-z])[^>]+>)+[^<]+)\3" "$SET(4=<br><br>)$STOP()$SET(5=\r\n<style type="text/css">\r\n" "<!--\r\nspan#pagelink { position: absolute; top: 140px; left: 340px;" " font-size:16px; font-weight:bold; }\r\n-->\r\n</style>\r\n\r\n" "<span id="pagelink">\r\n\3\r\n</span>\r\n\r\n)" Replace = "$SET(6=  <a href="?from=)\0\r\n<div style="font-size: 16px;" " font-weight:bold;">\r\n\3\4\r\nPage:\61">1</a>\r\n\621">2</a>\r\n\641">" "3</a>\r\n\661">4</a>\r\n\681">5</a>\r\n\6101">6</a>\r\n\6121">7</a>\r\n" "\6141">8</a>\r\n\6161">9</a>\r\n\6181">10</a>\r\n</div>\r\n\5" ttp://yp.peercast.org/
793 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/12(土) 20:35:12 ID:hAIBizt30] 2ch見ててウイルスコード書く奴が居てアンチウイルスが過剰反応するので、 このウイルスコードを読み込まない様にするフィルターが欲しいんですが。<(_ _)>
794 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/12(土) 20:56:03 ID:50Uhoets0] アンチのほうで除外できんのか
795 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/12(土) 20:56:14 ID:1OsLhWl60] datファイルの場所を検査除外するようにすればいいだけ
796 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/12(土) 21:23:41 ID:hAIBizt30] >>794-795 レスドウモデス 出来るとか出来ないとか話がありますが、これからそう言う書き込みが増えそうな予感がするのでオミトロンで出来れば遣りたいな、と思いまして。
797 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/12(土) 21:34:47 ID:1OsLhWl60] ウィルスコードに共通する部分が無いと駄目かと
798 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/12(土) 21:36:20 ID:vD81c/Ks0] 増えそうならますます795の方が良いと思うけどなあ。 その度にフィルタ増やすより。
799 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/12(土) 23:40:32 ID:QLoGUdha0] >>796 いまさら誰もそんな予感はしてない 自分の希望を他人のせいにすんな
800 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/12(土) 23:45:22 ID:hAIBizt30] >>795 datファイルの除外では無く、そのレスだけ除外してアンチウイルス補助(と言うか2ch対策?) みたいな感じに使えたらと思ったんだけど。 >>797 の言う通り共通コードとか考えるとちょっと使い方違うかなとは思った。 でもフィルターだけ作っておけば後は除外コードを追加していけば・・・、 何て素人考えでいたんだけど。(^o^;; とりあえづ、除外とか対策があるのでありがとう。
801 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/12(土) 23:46:23 ID:2BPV17nj0] ニコ厨
802 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/13(日) 00:30:44 ID:9GHFhxcy0] >>800 申し訳ないが仰っている意味が全くわからない
803 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/13(日) 02:07:48 ID:4aDa1u7g0] 無理しなくていいよ
804 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/13(日) 02:44:46 ID:8nmUBfmr0] ウイルス対策ソフトなんて使ったことないが、オミトロンだけあれば十分でないか? よほど凝ったしかけでもされなければ、ウイルスを入れられることはないと思うが。 (使っているフィルタにもよるけど) あとはIEを使わないとか、ブラウザを選択するだけでもある程度の効果はあるだろう。
805 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/13(日) 02:47:22 ID:gLrYIWfD0] ウイルスは油断してる奴ほど引っかかりやすい。
806 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/13(日) 03:24:17 ID:gLrYIWfD0] >>800 そういうフィルタを作ることは出来るよ。 2chブラウザのNG処理みたいなことをオミトロンで やればいいだけだから簡単。 もしかしたら既成のNGフィルタで出来るかも。 ただし、登録の仕方を工夫しないとフィルタ内のウイルスコードがアンチウイルスソフトに ウイルス認識されてしまい、その結果オミトロンの設定ファイルがまるごと消されたり、 隔離されたりしてしまうことが考えられるので注意されたしw 余談だが、アンチウイルスの設定でdatのある場所を除外するという方法は、 この場所にウイルスが投下された場合に無防備になるという欠点があるので これをやればいいというレスは正しいとは言えない。 今回はオミトロンで回避するにはどうすればいいかという質問なのでこれは答えになってない。 こういう場合はアンチウイルスの設定でも回避出来ることを示しつつ、 オミトロンで実現するにはどうすればいいかを書くべきだろうと思う。
807 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/13(日) 03:45:48 ID:No4VdHhW0] <#`∀´>ノ よっ
808 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/13(日) 06:26:16 ID:Y7joxdUo0] (-@∀@)ノ
809 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/13(日) 10:51:54 ID:jtfDIeTY0] >>806 その通りだな。
810 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/13(日) 11:05:52 ID:5QE9Ptp+0] 定型文から一部当たったらその場所を適当な文字に置き換えればいいが ただし容量が変わると次の読み込み時に読み込み開始位置がずれるので Janeでのdatの置き換えは実用的でない
811 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/13(日) 11:21:20 ID:bUgHmLCf0] ウイルスが投下って、テキストなんだから投下されてもええやん。
812 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/13(日) 11:56:48 ID:j4dYgaDi0] >>811 ウィルスに感染した際に、datフォルダが作業フォルダになってしまうってことでは?
813 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/13(日) 12:21:35 ID:OxtBhJpp0] 何かもうチンプンカンチンだな
814 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/13(日) 14:04:52 ID:DlZ/oUSV0] おまいら日本語を勉強しなおして来い
815 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/13(日) 14:06:57 ID:lJbqJQb50] ニホンゴノ ベンキョウハ トテモ ムズカシイデス。
816 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/13(日) 15:53:48 ID:ZlFJMo5X0] >>810 Jane系ならWickedStr.txtで解決
817 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/14(月) 04:45:34 ID:ypZMCifm0] 全角文字と半角文字を区別しないのが問題悩みの種なんですが、 たとえば検索条件に「@」を指定すると「 」(全角空白)にヒットしたりしますよね。 こういうのは根本的に解決できないんでしょうか。
818 名前:名無しさん@お腹いっぱい。 [2007/05/15(火) 01:13:26 ID:bvbbhwzO0] プロ櫛rgx pc11.2ch.net/test/read.cgi/software/1179148749/ 2 :名無しさん@お腹いっぱい。:2007/05/14(月) 23:05:44 ID:WKifu00Y0 元は↓から始まったソフトproxrgxのスレ pc11.2ch.net/test/read.cgi/software/1110563904/366 366 :名無しさん@お腹いっぱい。:2007/05/10(木) 01:28:26 ID:LPeEjSkM0 正規表現でフィルタ作れるプロクシ作ったけどいる? gzip/deflate圧縮対応、utf-8変換機能有り
819 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/15(火) 14:38:26 ID:0ysFFwet0] アクセス解析切るフィルタってどう書けばいいの?
820 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/15(火) 15:22:31 ID:rrlf/Jmg0] アクセス解析のURI切るようにすればいいんじゃない
821 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/15(火) 16:39:25 ID:0ysFFwet0] >>820 過去ログ見ながら作ったらいけました。ありがとうございます。 もう一つ サーバーのアクセスログに残らないフィルターはどうやって作ればいいんでしょう。
822 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/15(火) 16:52:17 ID:p9IB4x3f0] >821 そんなものができたらサーバ攻撃の踏み台になってしまうではないか。 まあ無理だと思うけど。
823 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/15(火) 17:08:37 ID:rrlf/Jmg0] >>821 そのサーバにアクセスしないようにするといいよ。いやマジで
824 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/15(火) 17:17:05 ID:0ysFFwet0] すみませんorz では、サーバーのアクセスログに自分のホストを残さないためには プロキシを経由するしかないんでしょうか proxomitronで経由させる方法を教えて下さいorz
825 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/15(火) 17:31:47 ID:ECj21nuz0] >>824 根本から間違ってる
826 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/15(火) 17:44:37 ID:t+ahuucv0] つか、823で答えが出てるんだけどな
827 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/15(火) 17:47:48 ID:WnjvKKRs0] >>824 プロキシと書いてあるボタンを押してプロキシサーバを登録する。
828 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/15(火) 20:07:35 ID:K8JcRcrz0] >>824 それが出来るなら串鯖なんてこの世に存在しないわ
829 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/17(木) 07:40:06 ID:TQkWKBT60] おはよ Prox系の悪用はよく聞くが 俺が聞いたのは、プロクシ立てたよ、使ってね->ヘッダログ表示->ベーシック認証キーごっそりいただき Prox系じゃなくてもやろうと思えばできるけど簡単にできるのはまずいね だから外部接続は対応しないほうがいいに賛成 俺がやったいたずらは、「です。」を「でんねん」、「ます。」を「まんねん」に変換するやつ みんな似たようなことやってるな
830 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/17(木) 08:31:57 ID:xA2KL2ne0] 「おばんです。」を「おばんでんねん」にしたのはお前か!
831 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/17(木) 14:24:22 ID:qKc8vEqj0] プロキシ経由でそういう認証する方に問題があると思うよ
832 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 12:32:26 ID:/NeMvw7F0] 流れぶったぎって コメントタグと無関係の”-->”を削除するにはどう表記すれば良い? --\>じゃ消せなかったんだ
833 名前:think ◆MM0nnAOCiQ mailto:sage [2007/05/20(日) 12:56:14 ID:LeZXT6Rw0] >>832 こうかな? [Patterns] Name = "Kill incorrect comment end [2007/05/20] test1" Active = TRUE URL = "$TYPE(htm)" Limit = 4 Match = "(^(^<!--))(^$TST(Comment=start))$SET(Comment=start)|" "(^(^-->))($TST(Comment=start)$SET(Comment=)|" "-->$SET(Comment=incorrect end))"
834 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 18:31:12 ID:GdzKbKKA0] Google Imageまた変わった?
835 名前:名無しさん@お腹いっぱい。 [2007/05/20(日) 21:09:18 ID:/FLyeVGw0] Kill nest ad で <!-- Bar --><!-- /Bar --> の消す書き方教えて
836 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 21:46:45 ID:0yJbN/ID0] >>834 Google Image: Image Change (070115)だったら <a href="\+e\+b.m\+"><imgを <a href="\+e\+b.n\+"><imgから <a href="\+e\+b.o\+"><img にすればいいよ
837 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 22:07:03 ID:PMhlTke70] <a href="http:// foo.bar/"> こんなソースでもリンクとして機能するとは。Firefox/2.0.0.3 で確認した。 リストでURLを管理しているんだけど、普通ならマッチするものがマッチしなかった。 // の直後にある改行を削ったらマッチした。 HTML lint だと改行は禁止されてないと書かれているけど、 この例では改行がなかったことにされてしまっているから危険。
838 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 22:57:01 ID:Cnpp6wc80] <img src="foo .jpg"> とか普通に可能だよ。クォーテーション内の改行は無視される。 クォーテーション無しなら改行以降は無視。 <img src="bar.gif .jpg"> ↑ bar.gif.jpg が呼び出される <img src=bar.gif .jpg> ↑ bar.gif が呼び出される
839 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 23:03:03 ID:GdzKbKKA0] >>836 ありがとう
840 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/21(月) 01:09:27 ID:SUsR8ePu0] じゃあこうすればよくね? [Patterns] Name = "delete break inside tag attribute value 20070521-4" Active = TRUE Multi = TRUE URL = "$TYPE(htm)" Bounds = "<[^/][^>]++=("[^"]++|'[^']++)\n" Limit = 1024 Match = "\1\n" Replace = "\n\1"
841 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/21(月) 02:09:59 ID:SUsR8ePu0] あ、ごめんBoundsおかしいね。 <[^/!][^>]++=("[^">]++|'[^'>]++)\n とかで大丈夫かな。
842 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/21(月) 02:29:41 ID:SUsR8ePu0] うへー、クォートの扱いの理解が足りなかった。 出直してくる。
843 名前:think ◆MM0nnAOCiQ mailto:sage [2007/05/21(月) 03:11:04 ID:2zo606qG0] 参考資料は HTML4.01 が適当かな? Basic HTML data types (ja) www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/types.html#h-6.2 上の資料によると、 ・a要素のhref属性値は「CDATA」に分類される。 ・「CDATA」は改行文字LFを無視し、改行文字CRは1つの空白文字で置き換える。 となっています。 ところが、実際には CRLF (\r\n) がhref属性値に存在しても無視されています。 Webブラウザの挙動に合わせるなら、 [Patterns] Name = "Delete break inside tag attribute value [2007/05/21] type1" Active = TRUE Multi = TRUE URL = "$TYPE(htm)" Limit = 1024 Match = "(<[^>]++\s(href=|src=))\#" "$AVQ((\#[\r\n]+{1,*})+{1,*}\#)(^(^[ >]))" Replace = "\@" となるのでしょうけれど、仕様書通りに動作しないのが気になりますね…。
844 名前:think ◆MM0nnAOCiQ mailto:sage [2007/05/21(月) 03:14:14 ID:2zo606qG0] altテキスト/titleテキスト は改行を解釈してポップアップするので、改行を取り除いてしまうと改行なしの長文が表示されてしまう可能性があります。 >843のフィルタでは、効果範囲を href属性,src属性に限定しています。
845 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/21(月) 10:53:39 ID:dCdyGNqN0] [Patterns] Name = "Delete break inside tag attribute value [2007/05/21] type ex1" Active = TRUE Multi = TRUE URL = "$TYPE(htm)" Limit = 1024 Match = "(<[a-z][^>]++\s(href=|src=)(^(^["'])))\#" "$AVQ((\#[\r\n]+{1,*})+{1,*}\#)" Replace = "\@" <a href="http:// foo.bar/" >
846 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/21(月) 13:22:22 ID:SUsR8ePu0] >>845 属性値の外側の改行は消さなくてもいいのでは?
847 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/21(月) 13:27:57 ID:bJ0cz1h70] >844 Firefox だと title 属性値の改行は無視されるよ。(1行で表示される) ttp://www.google.com/search?q=cache:RSRKW3BM9MYJ:www.eris.ais.ne.jp/~hiro/html/ あと、ここに改行の数値文字参照について書いてあった。
848 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/21(月) 16:29:11 ID:dCdyGNqN0] >>846 >>843 と>>845 を使い比べてみれば分かるかも。
849 名前:think ◆MM0nnAOCiQ mailto:sage [2007/05/21(月) 17:08:04 ID:ptycSbTw0] >>847 あ、なるほど。 Sylera3では改行されるので、Firefoxも同じだと安易に考えていました。 GREのバージョン違いかな? >>848 属性値の外は空白として処理しないと困るケースがあります。 <a title="test" href="www.google. com/"> それに、Proxomitronでマッチさせるだけなら、属性値の外はそれほど気にしなくて良いような気が…。
850 名前:think ◆MM0nnAOCiQ mailto:sage [2007/05/21(月) 17:08:45 ID:ptycSbTw0] デフォルトで有効になっているフィルタで、HTML文書先頭にスクリプトが挿入されてしまう不具合を修正しました。 [Patterns] Name = "Kill pop-up windows [2007/05/21] fixed" Active = TRUE URL = "$TYPE(htm)" Limit = 8 Match = "(^(^</head>))$STOP()" Replace = "<script src="local.ptron/WindowOpen.js"></script>\r\n" Name = "Suppress all JavaScript errors [2007/05/21] fixed" Active = TRUE URL = "$TYPE(htm)" Limit = 8 Match = "(^(^</head>))$STOP()" Replace = "<script> function NoError(){return(true);} onerror=NoError; </script>\r\n" Name = "Stop browser window resizing [2007/05/21] fixed" Active = TRUE URL = "$TYPE(htm)" Limit = 8 Match = "(^(^</head>))$STOP()" Replace = "<script> function moveTo(){return true;} function resizeTo(){return true;} </script>\r\n" 他にも同様の不具合を抱えているフィルタがありますが、面倒なのでそっちは書きません。 (例) 「Stop status bar scrollers」「Kill Dynamic HTML JavaScripts」「Stop JavaScript Timers」等。
851 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/21(月) 17:12:56 ID:Q7evb4+C0] , - ,----、 (U( ) | |∨T∨ <Google image redirectorの対応お願いします (__)_)
852 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/21(月) 17:22:00 ID:dCdyGNqN0] >>849 >>845 のフィルタに属性値の外側の改行を消す機能はありません。
853 名前:think ◆MM0nnAOCiQ mailto:sage [2007/05/21(月) 17:48:56 ID:ptycSbTw0] >>852 完全に私の勘違いでした。 申し訳ありません。m(_ _)m >848で指摘された違いはこういうことですね。 [Patterns] Name = "Delete break inside tag attribute value [2007/05/21] type1.1" Active = TRUE Multi = TRUE URL = "$TYPE(htm)" Limit = 1024 Match = "(<[^>]++\s(href=|src=))\#(^(^["']))" "$AVQ((\#[\r\n]+{1,*})+{1,*}\#)(^(^[\r\n\t >]))" Replace = "\@" >843は末尾に改行が存在するケースに対応していませんでした。 (^(^["'])) はクォートなしの属性値には改行を含まないため、と捉えました。
854 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/21(月) 21:13:09 ID:SUsR8ePu0] >>853 いやすんません、私が寝ぼけたのが悪いんです ほんとごめんなさい(´;ω;`)ぶわっ
855 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/21(月) 23:57:57 ID:M/0UeIOj0] >>333 を参考にAAKiller作ろうと思ってるんだけど参考例の中にある「,」の意味がわからない・・・ どういう用途に使ってるんでしょう
856 名前:think ◆MM0nnAOCiQ mailto:sage [2007/05/22(火) 00:35:19 ID:nSN/o3BF0] >>855 以下を参考に。 タグを「タグの始まり」「タグの終わり」「その間のタグ」に分割する役割を持つ「区切り文字」が , です。 (便宜上、タグという言葉を用います) マッチングコマンド - $NEST vird2002.s8.xrea.com/proxomitron/matching_command/m-cmd_nest.html マッチングコマンド www.pluto.dti.ne.jp/~tengu/proxomitron/help/Matching_Commands.html#NEST 以下の2つはほぼ等価。(厳密には違うが、HTML文法規則に準拠したHTML文書ならば同じようにマッチする) $NEST(<a\s,*href=$AV(www.amazon.co.jp/ )*,>) <a\s[^>]++href=$AV(www.amazon.co.jp/ )[^>]+> $NEST は入れ子を解釈するので、上の例は以下のHTML全てにマッチします。 <a href="www.amazon.co.jp/" <a href="www.amazon.co.jp/">> <a\s で始まり、> で終わるタグの入れ子構造をチェックしていることになります。 上の書き方は通常使わないので、入れ子チェックする意味はありませんが、原理はこういう事です。
857 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/22(火) 00:43:51 ID:6h7yiVj00] なるほど、入れ子の始まりと中と終わりを「,」で仕切るわけですね ってよく見たらヘルプのNESTの説明中にも「,」が書いてありました 詰まってイライラしてる状態だと理解できるものも理解できなくなりますね・・・ 精進します。ありがとうございました
858 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/22(火) 03:26:06 ID:5UV72l090] >>850 ありがとうございます ttp://pc11.2ch.net/test/read.cgi/streaming/1177645673/743 にてお願いしたものです。 >他にも同様の不具合を抱えているフィルタがありますが、面倒なのでそっち >は書きません。 >(例) 「Stop status bar scrollers」「Kill Dynamic HTML JavaScripts」 >「Stop JavaScript Timers」等。 書き換え例をみるとMatchな部分を置き換えReplaceの行頭を少しけづるだけと気づき同じように書き換えてみました。 列挙されてない残りは下記の3つなんだろうか〜? Force pop-ups to have browser controls Kill alert/confirm boxes Frame Exploder もし単純な書き換えじゃまずい場合はご指摘ください。
859 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/22(火) 04:17:48 ID:UUQ4ssVh0] デフォルトのフィルタって、改善してでも常用に耐えるほどのものなのかね? 自分でフィルタを書くようになってからは、ルールを覚えるにつれてだんだん数が減り、 現在ではヘッダフィルタのみいくつか残っている。
860 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/22(火) 05:34:47 ID:6h7yiVj00] 検索やらiframeやら検索パネルには対応してない手抜き版・・・というか誤爆が多そうな・・・ せめて[]内で小文字大文字区別してくれれば誤爆は格段に減るだろうになんでこんな仕様なんですか('A`) [Patterns] Name = "Amazon Affiliate Kill" Active = TRUE URL = "$TYPE(htm)" Limit = 512 Match = "$NEST(<a\s,[^>]++href=$AV(www.amazon.co.jp/[^>]++ ([0-9A-Z]++{10})\1*)*,>)" Replace = "<a href="www.amazon.co.jp/dp/\1" title="AAK" target=_"blank">"
861 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/22(火) 05:55:08 ID:6h7yiVj00] Match = "$NEST(<a\s,[^>]++href=$AV(www.amazon.co.jp/[^>]++ ([0-9A-Z]++{10})\1*)*,>)" ↓ Match = "$NEST(<a\s,[^>]++href=$AV(www.amazon.co.jp/[^>]++ ([0-9A-Z]++{10})\1[^-]*)*,>)" とりあえずこれで誤爆率少しは減るだろうけど根本から変えなきゃダメかな・・・
862 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/22(火) 07:48:53 ID:611BnxQc0] 自分は面倒だったのでインストールしたときに真っ先に既定のフィルタを切った。
863 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/22(火) 09:57:46 ID:s/TORTFf0] アフィリエイト用フィルタはURLリストでblogだけに絞れば 誤爆しても問題ないよ
864 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/22(火) 14:09:12 ID:oSSD77tm0] http://(www.|)amazon.co.jp/ で始まるリンク内の [^/\&=]++-22 を適当な文字列に書き換えたら?
865 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/22(火) 14:54:28 ID:Bg46BaNI0] リンクを書き換えるよりヘッダを書き換えたほうが簡単なんじゃ
866 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/22(火) 15:41:38 ID:Bg46BaNI0] [Patterns] Name = "Delete break inside tag attribute value [2007/05/22] SuperLite" Active = TRUE Multi = TRUE URL = "$TYPE(htm)" Limit = 1024 Match = "<([a-z][^>]++\s(href=|src=)(^(^["'])))\#" "$AVQ((\#[\r\n]+{1,*})+{1,*}\#)" Replace = "<\@"
867 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/22(火) 18:24:42 ID:4H5GdfAR0] アフィリンクはIDを無効にすることよりも、 見えなくしたり読込まないようにすることを考えた方が有意義だと思う。 アキバブログの両サイドとかiframeをOFFにすると綺麗さっぱりするよ。 アマゾン以外でアマゾンの画像表示禁止 [HTTP headers] In = FALSE Out = TRUE Key = "Referer: Amazon images kill (out)" URL = "([^/]++.|)images-amazon.com/" Match = "http(s|)://(^((www.|)amazon.(co.jp|jp|com)/))*" Replace = "\k"
868 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/22(火) 18:37:00 ID:PZ+Hh1SN0] >>850 Stop status bar scrollersもきぼん
869 名前:think ◆MM0nnAOCiQ mailto:sage [2007/05/22(火) 20:11:09 ID:oFNWk6Hw0] >>858 Match="(<!DOCTYPE*> |)\1" で <script> を挿入するフィルタは全て同様の改変で問題ないと思います。 ただ、 <head> ... <script src="hogehoge.js"></script> </head> のHTMLに対しては、<script> の前に置換テキストを挿入した方が良いかも? 外部JSは読み込み順が関係しているかもしれないので、JavaScriptの識者にフォローを頂きたいところ。 [Patterns] Name = "Kill pop-up windows [2007/05/22] fixed2" Active = TRUE URL = "$TYPE(htm)" Limit = 8 Match = "(^(^<script[ >]|</head>))$STOP()" Replace = "<script src="local.ptron/WindowOpen.js"></script>\r\n" > 書き換え例をみるとMatchな部分を置き換えReplaceの行頭を少しけづるだけと気づき Limitも小さくなっています。
870 名前:think ◆MM0nnAOCiQ mailto:sage [2007/05/22(火) 20:13:56 ID:oFNWk6Hw0] HTML文書の最下部に <script> を挿入するフィルタもちょっと危ないですね。 [Patterns] Name = "Restore pop-ups after a page loads [2007/05/22] fixed" Active = TRUE URL = "$TYPE(htm)" Limit = 8 Match = "(^(^</html>))$STOP()" Replace = "<script>PrxRST();</script>\r\n"
871 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/22(火) 21:02:07 ID:lcJ3UX/O0] フォントがMSゴシックで指定されてるサイトで、その部分をメイリオに変更汁フィルターお願いできませんか? 置き換えのやり方はうまく理解出来なくて、ダメなんですよ私。
872 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/22(火) 21:06:29 ID:5UV72l090] 正規表現を1から勉強してこよう;_;
873 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/23(水) 02:37:50 ID:mFoFLFRo0] >>871 Proxomitronは日本語の書き換えが苦手なので ブラウザ側でuser.cssを使うとか、 フォントの設定をユーザー設定優先にする方が良いかも。
874 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/23(水) 02:52:58 ID:bXLMNBZc0] MSゴシックで表示されるからといって、MSゴシックが指定されているとは限らないよ。 body { font-family: "メイリオ" monospace !important } メイリオが手元にないから検証してないけど、これでいいでしょ。 body でなければ、該当する要素に書き換えればよし。 あとは必要に応じて monospace を sans-serif あたりに書き換えてもよし。 ttp://d.hatena.ne.jp/jintrick/20070521 ついでに書くと、こんな話がある。
875 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/23(水) 02:54:14 ID:bXLMNBZc0] body { font-family: "メイリオ", monospace !important } コンマ入れ忘れ。
876 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/23(水) 03:38:25 ID:/Pn/o+7n0] >>850 >>870 いつもありがとうございます。 この際勉強しなおそうとFAQなどから読み始めてるのですが PRXスレFAQより ttp://web.archive.org/web/20060519105742/www2.wbs.ne.jp/~go-to/prx/faq.html Name = "Kill pop-up windows(04/07/29)" Active = TRUE Limit = 40 Match = "<start>" Replace = "<!-- --><script type=text/javascript>" "function PrxKillOpen(){return(this.window);}" "if(!window.PrxRealOpen)PrxRealOpen=window.open," "window.open=PrxKillOpen;" "</script>\r\n" Name = "Restore pop-ups after a page loads(04/07/29)" Active = TRUE Limit = 40 Match = "<end>" Replace = "<!-- --><script type=text/javascript>" "function PrxOpen(url,nam,atr){" " if(!event||!event.type.match(/load/i))" " return(PrxRealOpen(url,nam,atr));" " else" " return this.window;" "}" "window.open=PrxOpen;" "</script>\r\n" で修正版があがってるのに気づきました。thinkさまのはデフォルトのフィルタを元に修正されてますがどちらを使うのがよろしいのでしょう?
877 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/23(水) 07:38:19 ID:Uj4jCnWm0] >>870 便乗で質問。 その"ちょっと危ない"とはどういう意味ですか?
878 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/23(水) 08:53:44 ID:TrgnaLDa0] >>863 巡回先にblogじゃないところも結構あるのでそれは厳しいです >>866 ちょっと自分にはまだ理解できないです・・・。すみません >>867 試しましたが消えるところがあったり消えないところもあったりでまだ慣れず なので>>864 の案を元に作っていたけど $NEST(<(a\s|iframe\s)[^>]++(href=|src=)$AV([^>]++amazon. (co.jp|com)/[^>]++([^/?=]++-22)\0*)*,>)\1| (<input\s[^>]++(src=|value=)$AV([^>]++(([^?=>]++|)-22)\0)*>)\1 というところまで書いた辺りでどうやっても単なる抽出にしかならないっぽいので挫折 $SETでいけるかと思ったけどそもそも用途が違うっぽい罠。マッチングコマンドは難しい・・・
879 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/23(水) 11:14:28 ID:Lhjw9B2V0] >>878 >>864 に書いてあることをやるだけならコマンドは使う必要ないと思います。 それと、下のようにアフィID以外の部分を抽出すればアフィIDを書き換えられますよ。 Match (<a\s[^>]++href=)\1$AV((http://(www.|)amazon.co.jp/*)\2あふぃあいでぃ\3) Replace \1"\2てきとうなもじれつ\3" あとは「あふぃあいでぃ」の部分を正規表現で書き、inputタグなどにも対応させれば完成です。 追記、 フィルタを書くときに$NESTが本当に必要なケースというのは滅多にないです。 普段フィルタを書き慣れていない方が$NESTを乱用するのはあまり好ましくありません。
880 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/23(水) 17:08:54 ID:ByNRJFuF0] >>878 >>867 はこれでどう? [HTTP headers] In = FALSE Out = TRUE Key = "Referer: Amazon images kill (out)" URL = "(images.amazon.|([^/]++.|)images-amazon.)(co.jp|jp|com)/" Match = "http(s|)://(^(([^/]++.|)amazon.(co.jp|jp|com)/))*" Replace = "\k" あとここのiFrame to dynamic linkが効果あるよ ttp://confetto.s31.xrea.com/misc/proxomitron#IFRAME-TO-DYNAMIC-LINK
881 名前:think ◆MM0nnAOCiQ mailto:sage [2007/05/23(水) 20:02:33 ID:nCXqeKDR0] >>877 > "ちょっと危ない"とはどういう意味ですか? デフォルトの「Restore pop-ups after a page loads」はProxomitronでフィルタを適用可能な全てのリソースの最後にスクリプトを挿入します。 しかし、<script> は HTML文書 だけで有効なので、CSSや外部JSに <script> を挿入すると誤動作を引き起こす可能性があります。 なので、URLマッチに $TYPE(htm) を追加するわけですが、これでもまだ不十分なケースがあります。 サーバから返されるContent-Typeヘッダが text/html でも、実際の中身はHTML文書ではないことがあり、このままではそれにマッチしてしまいます。 これを回避するため、「HTML文書に必ずあるタグ」にマッチさせます。 >750 は </head> >869 は <script[ >] or </head> >870 は </html> にマッチさせているわけです。
882 名前:think ◆MM0nnAOCiQ mailto:sage [2007/05/23(水) 20:03:15 ID:nCXqeKDR0] >881の続き。 次に、誤動作を引き起こす例を考えてみます。 ・<start> <end> タグを確認せずにマッチさせるので誤動作する可能性があります。 # <start> <end> は特別な理由がない限り、使わない方がよいと私は思います。 # HTMLはDOCTYPE宣言、XHTMLはXML宣言を先頭に記述しなければならないルールがありますし、CSSも@charsetから始まらなければなりません。 ・「Kill pop-up windows」の (<!DOCTYPE*> |) 後半の分岐は「何もないところにマッチ」しますが、これは文書の先頭にマッチするのと同義です。タグを確認していないので、誤動作する可能性があります。 ・サーバから受信したContent-Typeヘッダの値が正しくない サーバの設定がいい加減なために、中身はJavaScriptであるにも関わらず、「Content-Type: text/html」が送られてくるような場合です。 「Content-Type: Fix MIME types」というフィルタで正しいContent-Typeヘッダに直すと、改善されます。 デフォルトで入っている「Content-Type: Fix MIME types」は良いフィルタとはいえないので、関連サイトで配布されているフィルタに変更してあげる必要があります。(私のサイトでも配布しています) Content-Typeエンティティヘッダフィールドは適切なものを指定してください - Web標準普及プロジェクト www.mozilla.gr.jp/standards/webtips/webtips0033.html 情報センター/MIME Content-Type 表 www.kyoto-su.ac.jp/ccinfo/network_service/web/mine_contenttype/index.html コマンド一覧 - Proxomitron等に関するWiki abc.s65.xrea.com/prox/wiki/%A5%B3%A5%DE%A5%F3%A5%C9%B0%EC%CD%F7/#type Thinking Archive(仮) - Download vird2002.s8.xrea.com/download/#filter_header
883 名前:think ◆MM0nnAOCiQ mailto:sage [2007/05/23(水) 20:07:06 ID:nCXqeKDR0] >>876 それらのフィルタには、いくつか改善すべき点があると思います。 ・<start> <end> は先頭/末尾にあるHTMLタグに置き換える ・URLマッチに $TYPE(htm) を加える 理由は、>881-882で説明したとおりです。 最終的にどちらのコードが良いかは、スクリプトが読めない私にはアドバイスできません…。
884 名前:think ◆MM0nnAOCiQ mailto:sage [2007/05/23(水) 21:26:10 ID:nCXqeKDR0] >>860 > せめて[]内で小文字大文字区別してくれれば誤爆は格段に減るだろうになんでこんな仕様なんですか('A`) HTML4.01では、タグの 大文字/小文字 を区別しませんから…。 ちなみに、「Far East Patch」を適用済みであれば、大文字/小文字を区別する方法はあります。 [a-z] は [a-zA-Z] に等しく、[%61-%7a] は [a-z] に等しい。 こういうやり方でどうでしょうか? ただ、ファイル名の「大文字/小文字」の区別を活用しているサイトを見たことがありませんし、そこまで厳密にチェックする必要があるのか疑問に思うところはあります。
885 名前:think ◆MM0nnAOCiQ mailto:sage [2007/05/23(水) 21:47:44 ID:nCXqeKDR0] 【教えて君は】ニコニコ動画専用オミトロン【半年ROMれ】 pc11.2ch.net/test/read.cgi/streaming/1177645673/775+794+808 からの流れで、「Proxomitron-J」で配布されている「Allow right mouse click 3種セット」で誤動作を引き起こしそうな箇所を修正しました。 変更点 - URLマッチに $TYPE(htm) を追加 - <end> を (^(^</html>))$STOP() に変更した - Limitの調整 - 微調整 [Patterns] Name = "Allow right mouse click [2007/05/23] fixed" Active = TRUE URL = "$TYPE(htm)" Limit = 16 Match = ".(onmousedown=|captureEvents\()\1" Replace = ".PrxOff_\1"
886 名前:think ◆MM0nnAOCiQ mailto:sage [2007/05/23(水) 21:48:25 ID:nCXqeKDR0] >>885 の続き。 [Patterns] Name = "Allow right mouse click 2 [2007/05/23] fixed" Active = TRUE URL = "$TYPE(htm)" Limit = 8 Match = "(^(^</html>))$STOP()" Replace = "<script> document.onmousedown=null; </script>\r\n" Name = "Allow right mouse click plus [2007/05/23] fixed" Active = TRUE Multi = TRUE URL = "$TYPE(htm)" Limit = 512 Match = "(<[^>]++\s)\0oncontextmenu(^(^=))" Replace = "\0ProxAllow"
887 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/24(木) 01:29:08 ID:7AkQSz8s0] 今まで使ってたYoutubeにDownloadリンクを追加するフィルター効かなくなった [HTTP headers] In = FALSE Out = TRUE Key = "URL: YouTube - Always jump to the permanent URI (Out)" Match = "http://(www.|)youtube.com/watch\?v=([^&]+)\0\&*" Replace = "$JUMP(www.youtube.com/watch?v=\0 )" Name = "YouTube Add Download Link [060505]" Active = TRUE URL = "$TYPE(htm)(www.|)youtube.com/watch\?(|*\&)v=" Bounds = "$NEST(<script,</script>)" Limit = 512 Match = "(*new\sSWFObject\(\"/player[0-9]+.swf\?(video_id=[^"]+)\0\"*)\1($KEYCHK(Y)" "$SET(2=<meta http-equiv="Refresh" content="0;URL=youtube.com/get_video.php?\0">\k )|$SET(2=\1))" Replace = "\2\n<div style="font-size: 20px; font-weight: bold; text-align: center;padding-bottom: 10px;">\n" "<a href="youtube.com/get_video.php?\0">[[[ Download ]]]</a>\n</div>\n$STOP()"
888 名前:think ◆MM0nnAOCiQ mailto:sage [2007/05/24(木) 02:18:13 ID:PqkdgH8d0] >>887 どうぞ。 更新履歴 - script要素のチェックを外した [Patterns] Name = "YouTube: add download link [2007/05/24] test1" Active = TRUE URL = "$TYPE(htm)(www.|)youtube.com/watch\?v\=" Limit = 256 Match = "(^(^SWFObject\($AV(/player2.swf(\?video_id=*)\0)[ +,]))" "$SET(YTube=\0)(^$TST(YTube=?*))|" "(^(^<div\sclass=$AV(actionsDiv)))$STOP()" Replace = "<div class="actionRow"><a href="./get_video$GET(YTube)">Download link</a></div>" "$SET(YTube=)" 基本的なコードは元のままですが、scriptコードが肥大化したためにマッチしていませんでした。
889 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/24(木) 10:31:10 ID:jjwUMEiY0] >>888 ありがとう!!!!!!!
890 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/24(木) 10:47:36 ID:xJv4oJ0l0] >>888 のダウソリンクを>>887 のように目立たせてみた。 Replaceだけ書き換え。 Replace = "<div class="actionRow" style="font-size:25px;"><a href="./get_video$GET(YTube)">[[[ Download ]]]</a></div>" "$SET(YTube=)" >>888 お疲れ様です。
891 名前:名無しさん@お腹いっぱい。 [2007/05/24(木) 17:59:33 ID:Eq/iCgpl0] [HTTP headers] In = FALSE Out = FALSE Key = "Content-Disposition: YouTube File ReNamer [060521] (In)" Match = "$URL(http://(^www)[^/]++.youtube.com/get_video\?video_id=\0)" Replace = "attachment; filename="\0.flv";" 機能しなくなってしまいました お願いします
892 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/24(木) 19:11:16 ID:xJv4oJ0l0] >>891 ちゃんと効いてるような気がする。