Proxomitron フィルタ ..
809:名無しさん@お腹いっぱい。
07/05/13 10:51:54 jtfDIeTY0
>>806 その通りだな。
810:名無しさん@お腹いっぱい。
07/05/13 11:05:52 5QE9Ptp+0
定型文から一部当たったらその場所を適当な文字に置き換えればいいが
ただし容量が変わると次の読み込み時に読み込み開始位置がずれるので
Janeでのdatの置き換えは実用的でない
811:名無しさん@お腹いっぱい。
07/05/13 11:21:20 bUgHmLCf0
ウイルスが投下って、テキストなんだから投下されてもええやん。
812:名無しさん@お腹いっぱい。
07/05/13 11:56:48 j4dYgaDi0
>>811
ウィルスに感染した際に、datフォルダが作業フォルダになってしまうってことでは?
813:名無しさん@お腹いっぱい。
07/05/13 12:21:35 OxtBhJpp0
何かもうチンプンカンチンだな
814:名無しさん@お腹いっぱい。
07/05/13 14:04:52 DlZ/oUSV0
おまいら日本語を勉強しなおして来い
815:名無しさん@お腹いっぱい。
07/05/13 14:06:57 lJbqJQb50
ニホンゴノ ベンキョウハ トテモ ムズカシイデス。
816:名無しさん@お腹いっぱい。
07/05/13 15:53:48 ZlFJMo5X0
>>810
Jane系ならWickedStr.txtで解決
817:名無しさん@お腹いっぱい。
07/05/14 04:45:34 ypZMCifm0
全角文字と半角文字を区別しないのが問題悩みの種なんですが、
たとえば検索条件に「@」を指定すると「 」(全角空白)にヒットしたりしますよね。
こういうのは根本的に解決できないんでしょうか。
818:名無しさん@お腹いっぱい。
07/05/15 01:13:26 bvbbhwzO0
プロ櫛rgx
スレリンク(software板)
2 :名無しさん@お腹いっぱい。:2007/05/14(月) 23:05:44 ID:WKifu00Y0
元は↓から始まったソフトproxrgxのスレ
スレリンク(software板:366番)
366 :名無しさん@お腹いっぱい。:2007/05/10(木) 01:28:26 ID:LPeEjSkM0
正規表現でフィルタ作れるプロクシ作ったけどいる?
gzip/deflate圧縮対応、utf-8変換機能有り
819:名無しさん@お腹いっぱい。
07/05/15 14:38:26 0ysFFwet0
アクセス解析切るフィルタってどう書けばいいの?
820:名無しさん@お腹いっぱい。
07/05/15 15:22:31 rrlf/Jmg0
アクセス解析のURI切るようにすればいいんじゃない
821:名無しさん@お腹いっぱい。
07/05/15 16:39:25 0ysFFwet0
>>820
過去ログ見ながら作ったらいけました。ありがとうございます。
もう一つ
サーバーのアクセスログに残らないフィルターはどうやって作ればいいんでしょう。
822:名無しさん@お腹いっぱい。
07/05/15 16:52:17 p9IB4x3f0
>821
そんなものができたらサーバ攻撃の踏み台になってしまうではないか。
まあ無理だと思うけど。
823:名無しさん@お腹いっぱい。
07/05/15 17:08:37 rrlf/Jmg0
>>821
そのサーバにアクセスしないようにするといいよ。いやマジで
824:名無しさん@お腹いっぱい。
07/05/15 17:17:05 0ysFFwet0
すみませんorz
では、サーバーのアクセスログに自分のホストを残さないためには
プロキシを経由するしかないんでしょうか
proxomitronで経由させる方法を教えて下さいorz
825:名無しさん@お腹いっぱい。
07/05/15 17:31:47 ECj21nuz0
>>824
根本から間違ってる
826:名無しさん@お腹いっぱい。
07/05/15 17:44:37 t+ahuucv0
つか、823で答えが出てるんだけどな
827:名無しさん@お腹いっぱい。
07/05/15 17:47:48 WnjvKKRs0
>>824
プロキシと書いてあるボタンを押してプロキシサーバを登録する。
828:名無しさん@お腹いっぱい。
07/05/15 20:07:35 K8JcRcrz0
>>824
それが出来るなら串鯖なんてこの世に存在しないわ
829:名無しさん@お腹いっぱい。
07/05/17 07:40:06 TQkWKBT60
おはよ
Prox系の悪用はよく聞くが
俺が聞いたのは、プロクシ立てたよ、使ってね->ヘッダログ表示->ベーシック認証キーごっそりいただき
Prox系じゃなくてもやろうと思えばできるけど簡単にできるのはまずいね
だから外部接続は対応しないほうがいいに賛成
俺がやったいたずらは、「です。」を「でんねん」、「ます。」を「まんねん」に変換するやつ
みんな似たようなことやってるな
830:名無しさん@お腹いっぱい。
07/05/17 08:31:57 xA2KL2ne0
「おばんです。」を「おばんでんねん」にしたのはお前か!
831:名無しさん@お腹いっぱい。
07/05/17 14:24:22 qKc8vEqj0
プロキシ経由でそういう認証する方に問題があると思うよ
832:名無しさん@お腹いっぱい。
07/05/20 12:32:26 /NeMvw7F0
流れぶったぎって
コメントタグと無関係の”-->”を削除するにはどう表記すれば良い?
--\>じゃ消せなかったんだ
833:think ◆MM0nnAOCiQ
07/05/20 12:56:14 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:名無しさん@お腹いっぱい。
07/05/20 18:31:12 GdzKbKKA0
Google Imageまた変わった?
835:名無しさん@お腹いっぱい。
07/05/20 21:09:18 /FLyeVGw0
Kill nest ad
で
<!-- Bar --><!-- /Bar -->
の消す書き方教えて
836:名無しさん@お腹いっぱい。
07/05/20 21:46:45 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:名無しさん@お腹いっぱい。
07/05/20 22:07:03 PMhlTke70
<a href="http://
foo.bar/">
こんなソースでもリンクとして機能するとは。Firefox/2.0.0.3 で確認した。
リストでURLを管理しているんだけど、普通ならマッチするものがマッチしなかった。
// の直後にある改行を削ったらマッチした。
HTML lint だと改行は禁止されてないと書かれているけど、
この例では改行がなかったことにされてしまっているから危険。
838:名無しさん@お腹いっぱい。
07/05/20 22:57:01 Cnpp6wc80
<img src="foo
.jpg">
とか普通に可能だよ。クォーテーション内の改行は無視される。
クォーテーション無しなら改行以降は無視。
<img src="bar.gif
.jpg">
↑ bar.gif.jpg が呼び出される
<img src=bar.gif
.jpg>
↑ bar.gif が呼び出される
839:名無しさん@お腹いっぱい。
07/05/20 23:03:03 GdzKbKKA0
>>836
ありがとう
840:名無しさん@お腹いっぱい。
07/05/21 01:09:27 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:名無しさん@お腹いっぱい。
07/05/21 02:09:59 SUsR8ePu0
あ、ごめんBoundsおかしいね。
<[^/!][^>]++=("[^">]++|'[^'>]++)\n
とかで大丈夫かな。
842:名無しさん@お腹いっぱい。
07/05/21 02:29:41 SUsR8ePu0
うへー、クォートの扱いの理解が足りなかった。
出直してくる。
843:think ◆MM0nnAOCiQ
07/05/21 03:11:04 2zo606qG0
参考資料は HTML4.01 が適当かな?
Basic HTML data types (ja)
URLリンク(www.asahi-net.or.jp)
上の資料によると、
・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
07/05/21 03:14:14 2zo606qG0
altテキスト/titleテキスト は改行を解釈してポップアップするので、改行を取り除いてしまうと改行なしの長文が表示されてしまう可能性があります。
>843のフィルタでは、効果範囲を href属性,src属性に限定しています。
845:名無しさん@お腹いっぱい。
07/05/21 10:53:39 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:名無しさん@お腹いっぱい。
07/05/21 13:22:22 SUsR8ePu0
>>845
属性値の外側の改行は消さなくてもいいのでは?
847:名無しさん@お腹いっぱい。
07/05/21 13:27:57 bJ0cz1h70
>844
Firefox だと title 属性値の改行は無視されるよ。(1行で表示される)
URLリンク(www.google.com)
あと、ここに改行の数値文字参照について書いてあった。
848:名無しさん@お腹いっぱい。
07/05/21 16:29:11 dCdyGNqN0
>>846
>>843と>>845を使い比べてみれば分かるかも。
849:think ◆MM0nnAOCiQ
07/05/21 17:08:04 ptycSbTw0
>>847
あ、なるほど。
Sylera3では改行されるので、Firefoxも同じだと安易に考えていました。
GREのバージョン違いかな?
>>848
属性値の外は空白として処理しないと困るケースがあります。
<a
title="test"
href="URLリンク(www.google.)
com/">
それに、Proxomitronでマッチさせるだけなら、属性値の外はそれほど気にしなくて良いような気が…。
850:think ◆MM0nnAOCiQ
07/05/21 17:08:45 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="URLリンク(local.ptron)
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:名無しさん@お腹いっぱい。
07/05/21 17:12:56 Q7evb4+C0
, - ,----、
(U( )
| |∨T∨ <Google image redirectorの対応お願いします
(__)_)
852:名無しさん@お腹いっぱい。
07/05/21 17:22:00 dCdyGNqN0
>>849
>>845のフィルタに属性値の外側の改行を消す機能はありません。
853:think ◆MM0nnAOCiQ
07/05/21 17:48:56 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:名無しさん@お腹いっぱい。
07/05/21 21:13:09 SUsR8ePu0
>>853
いやすんません、私が寝ぼけたのが悪いんです
ほんとごめんなさい(´;ω;`)ぶわっ
855:名無しさん@お腹いっぱい。
07/05/21 23:57:57 M/0UeIOj0
>>333を参考にAAKiller作ろうと思ってるんだけど参考例の中にある「,」の意味がわからない・・・
どういう用途に使ってるんでしょう
856:think ◆MM0nnAOCiQ
07/05/22 00:35:19 nSN/o3BF0
>>855
以下を参考に。
タグを「タグの始まり」「タグの終わり」「その間のタグ」に分割する役割を持つ「区切り文字」が , です。
(便宜上、タグという言葉を用います)
マッチングコマンド - $NEST
URLリンク(vird2002.s8.xrea.com)
マッチングコマンド
URLリンク(www.pluto.dti.ne.jp)
以下の2つはほぼ等価。(厳密には違うが、HTML文法規則に準拠したHTML文書ならば同じようにマッチする)
$NEST(<a\s,*href=$AV(URLリンク(www.amazon.co.jp))*,>)
<a\s[^>]++href=$AV(URLリンク(www.amazon.co.jp))[^>]+>
$NEST は入れ子を解釈するので、上の例は以下のHTML全てにマッチします。
<a href="URLリンク(www.amazon.co.jp) <a href="URLリンク(www.amazon.co.jp)
<a\s で始まり、> で終わるタグの入れ子構造をチェックしていることになります。
上の書き方は通常使わないので、入れ子チェックする意味はありませんが、原理はこういう事です。
857:名無しさん@お腹いっぱい。
07/05/22 00:43:51 6h7yiVj00
なるほど、入れ子の始まりと中と終わりを「,」で仕切るわけですね
ってよく見たらヘルプのNESTの説明中にも「,」が書いてありました
詰まってイライラしてる状態だと理解できるものも理解できなくなりますね・・・
精進します。ありがとうございました
858:名無しさん@お腹いっぱい。
07/05/22 03:26:06 5UV72l090
>>850
ありがとうございます
スレリンク(streaming板: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:名無しさん@お腹いっぱい。
07/05/22 04:17:48 UUQ4ssVh0
デフォルトのフィルタって、改善してでも常用に耐えるほどのものなのかね?
自分でフィルタを書くようになってからは、ルールを覚えるにつれてだんだん数が減り、
現在ではヘッダフィルタのみいくつか残っている。
860:名無しさん@お腹いっぱい。
07/05/22 05:34:47 6h7yiVj00
検索やらiframeやら検索パネルには対応してない手抜き版・・・というか誤爆が多そうな・・・
せめて[]内で小文字大文字区別してくれれば誤爆は格段に減るだろうになんでこんな仕様なんですか('A`)
[Patterns]
Name = "Amazon Affiliate Kill"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 512
Match = "$NEST(<a\s,[^>]++href=$AV(URLリンク(www.amazon.co.jp)([0-9A-Z]++{10})\1*)*,>)"
Replace = "<a href="URLリンク(www.amazon.co.jp) title="AAK" target=_"blank">"
861:名無しさん@お腹いっぱい。
07/05/22 05:55:08 6h7yiVj00
Match = "$NEST(<a\s,[^>]++href=$AV(URLリンク(www.amazon.co.jp)([0-9A-Z]++{10})\1*)*,>)"
↓
Match = "$NEST(<a\s,[^>]++href=$AV(URLリンク(www.amazon.co.jp)([0-9A-Z]++{10})\1[^-]*)*,>)"
とりあえずこれで誤爆率少しは減るだろうけど根本から変えなきゃダメかな・・・
862:名無しさん@お腹いっぱい。
07/05/22 07:48:53 611BnxQc0
自分は面倒だったのでインストールしたときに真っ先に既定のフィルタを切った。
863:名無しさん@お腹いっぱい。
07/05/22 09:57:46 s/TORTFf0
アフィリエイト用フィルタはURLリストでblogだけに絞れば
誤爆しても問題ないよ
864:名無しさん@お腹いっぱい。
07/05/22 14:09:12 oSSD77tm0
http://(www.|)amazon.co.jp/
で始まるリンク内の
[^/\&=]++-22
を適当な文字列に書き換えたら?
865:名無しさん@お腹いっぱい。
07/05/22 14:54:28 Bg46BaNI0
リンクを書き換えるよりヘッダを書き換えたほうが簡単なんじゃ
866:名無しさん@お腹いっぱい。
07/05/22 15:41:38 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:名無しさん@お腹いっぱい。
07/05/22 18:24:42 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:名無しさん@お腹いっぱい。
07/05/22 18:37:00 PZ+Hh1SN0
>>850
Stop status bar scrollersもきぼん
869:think ◆MM0nnAOCiQ
07/05/22 20:11:09 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="URLリンク(local.ptron)
> 書き換え例をみるとMatchな部分を置き換えReplaceの行頭を少しけづるだけと気づき
Limitも小さくなっています。
870:think ◆MM0nnAOCiQ
07/05/22 20:13:56 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:名無しさん@お腹いっぱい。
07/05/22 21:02:07 lcJ3UX/O0
フォントがMSゴシックで指定されてるサイトで、その部分をメイリオに変更汁フィルターお願いできませんか?
置き換えのやり方はうまく理解出来なくて、ダメなんですよ私。
872:名無しさん@お腹いっぱい。
07/05/22 21:06:29 5UV72l090
正規表現を1から勉強してこよう;_;
873:名無しさん@お腹いっぱい。
07/05/23 02:37:50 mFoFLFRo0
>>871
Proxomitronは日本語の書き換えが苦手なので
ブラウザ側でuser.cssを使うとか、
フォントの設定をユーザー設定優先にする方が良いかも。
874:名無しさん@お腹いっぱい。
07/05/23 02:52:58 bXLMNBZc0
MSゴシックで表示されるからといって、MSゴシックが指定されているとは限らないよ。
body { font-family: "メイリオ" monospace !important }
メイリオが手元にないから検証してないけど、これでいいでしょ。
body でなければ、該当する要素に書き換えればよし。
あとは必要に応じて monospace を sans-serif あたりに書き換えてもよし。
URLリンク(d.hatena.ne.jp)
ついでに書くと、こんな話がある。
875:名無しさん@お腹いっぱい。
07/05/23 02:54:14 bXLMNBZc0
body { font-family: "メイリオ", monospace !important }
コンマ入れ忘れ。
876:名無しさん@お腹いっぱい。
07/05/23 03:38:25 /Pn/o+7n0
>>850
>>870
いつもありがとうございます。
この際勉強しなおそうとFAQなどから読み始めてるのですが
PRXスレFAQより
URLリンク(web.archive.org)
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:名無しさん@お腹いっぱい。
07/05/23 07:38:19 Uj4jCnWm0
>>870
便乗で質問。 その"ちょっと危ない"とはどういう意味ですか?
878:名無しさん@お腹いっぱい。
07/05/23 08:53:44 TrgnaLDa0
>>863
巡回先にblogじゃないところも結構あるのでそれは厳しいです
>>866
ちょっと自分にはまだ理解できないです・・・。すみません
>>867
試しましたが消えるところがあったり消えないところもあったりでまだ慣れず
なので>>864の案を元に作っていたけど
$NEST(<(a\s|iframe\s)[^>]++(href=|src=)$AV(URLリンク([^>]++amazon.)(co.jp|com)/[^>]++([^/?=]++-22)\0*)*,>)\1|
(<input\s[^>]++(src=|value=)$AV([^>]++(([^?=>]++|)-22)\0)*>)\1
というところまで書いた辺りでどうやっても単なる抽出にしかならないっぽいので挫折
$SETでいけるかと思ったけどそもそも用途が違うっぽい罠。マッチングコマンドは難しい・・・
879:名無しさん@お腹いっぱい。
07/05/23 11:14:28 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:名無しさん@お腹いっぱい。
07/05/23 17:08:54 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が効果あるよ
URLリンク(confetto.s31.xrea.com)
881:think ◆MM0nnAOCiQ
07/05/23 20:02:33 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
07/05/23 20:03:15 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標準普及プロジェクト
URLリンク(www.mozilla.gr.jp)
情報センター/MIME Content-Type 表
URLリンク(www.kyoto-su.ac.jp)
コマンド一覧 - Proxomitron等に関するWiki
URLリンク(abc.s65.xrea.com)
Thinking Archive(仮) - Download
URLリンク(vird2002.s8.xrea.com)
883:think ◆MM0nnAOCiQ
07/05/23 20:07:06 nCXqeKDR0
>>876
それらのフィルタには、いくつか改善すべき点があると思います。
・<start> <end> は先頭/末尾にあるHTMLタグに置き換える
・URLマッチに $TYPE(htm) を加える
理由は、>881-882で説明したとおりです。
最終的にどちらのコードが良いかは、スクリプトが読めない私にはアドバイスできません…。
884:think ◆MM0nnAOCiQ
07/05/23 21:26:10 nCXqeKDR0
>>860
> せめて[]内で小文字大文字区別してくれれば誤爆は格段に減るだろうになんでこんな仕様なんですか('A`)
HTML4.01では、タグの 大文字/小文字 を区別しませんから…。
ちなみに、「Far East Patch」を適用済みであれば、大文字/小文字を区別する方法はあります。
[a-z] は [a-zA-Z] に等しく、[%61-%7a] は [a-z] に等しい。
こういうやり方でどうでしょうか?
ただ、ファイル名の「大文字/小文字」の区別を活用しているサイトを見たことがありませんし、そこまで厳密にチェックする必要があるのか疑問に思うところはあります。
885:think ◆MM0nnAOCiQ
07/05/23 21:47:44 nCXqeKDR0
【教えて君は】ニコニコ動画専用オミトロン【半年ROMれ】
スレリンク(streaming板: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
07/05/23 21:48:25 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:名無しさん@お腹いっぱい。
07/05/24 01:29:08 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(URLリンク(www.youtube.com))"
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=URLリンク(youtube.com))|$SET(2=\1))"
Replace = "\2\n<div style="font-size: 20px; font-weight: bold; text-align: center;padding-bottom: 10px;">\n"
"<a href="URLリンク(youtube.com) Download ]]]</a>\n</div>\n$STOP()"
888:think ◆MM0nnAOCiQ
07/05/24 02:18:13 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:名無しさん@お腹いっぱい。
07/05/24 10:31:10 jjwUMEiY0
>>888
ありがとう!!!!!!!
890:名無しさん@お腹いっぱい。
07/05/24 10:47:36 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:名無しさん@お腹いっぱい。
07/05/24 17:59:33 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:名無しさん@お腹いっぱい。
07/05/24 19:11:16 xJv4oJ0l0
>>891
ちゃんと効いてるような気がする。
893:名無しさん@お腹いっぱい。
07/05/24 19:34:55 xJv4oJ0l0
>>888のだとこの動画ページでダウソリンクがページ下に隠れてしまったので
動画の直下にリンクを表示させるようにいじりました。
URLリンク(www.youtube.com)
[Patterns]
Name = "YouTube: add download link [2007/05/24] big link"
Active = TRUE
URL = "(www.|)youtube.com/watch\?v\= $TYPE(htm)"
Limit = 256
Match = "(^(^SWFObject\($AV(/player[0-9]+.swf(\?video_id=*)\0)[ +,]))"
"$SET(YTube=\0)(^$TST(YTube=?*))|// ]]> </script>$STOP()"
Replace = "// ]]>\r\n</script>\r\n<div style="font-size:25px; text-align:center;">\r\n"
"<a href="./get_video$GET(YTube)">[[[ Download ]]]</a>\r\n</div>$SET(YTube=)"
あとplayer2.swfがplayer3.swf等にバージョンアップしてもマッチするように修正。
894:名無しさん@お腹いっぱい。
07/05/24 20:05:26 qYAvn6TG0
>>893
DLするとget_videoってなるのはようつべの仕様なの?
895:名無しさん@お腹いっぱい。
07/05/24 20:07:20 T2loM5Q20
拡張子をflvに自分で直す
896:名無しさん@お腹いっぱい。
07/05/24 20:45:32 ou7przB80
>>891
> [HTTP headers]
> In = FALSE
> Out = FALSE
そりゃ機能しないだろ
897:名無しさん@お腹いっぱい。
07/05/24 21:58:06 Ia8ewfIm0
ワラタ
898:名無しさん@お腹いっぱい。
07/05/24 23:32:09 xJv4oJ0l0
>>894
そうです。 >>891を入れてInにチェックすれば動画毎に違うファイル名になるからおすすめ。
899:名無しさん@お腹いっぱい。
07/05/24 23:37:26 6ShX0m+B0
>>891
In = TURE にしてみたけど効いてない気がする
900:名無しさん@お腹いっぱい。
07/05/24 23:43:33 Wfha+YaG0
&に関する疑問。
Bounds は <meta\s*> で、
Match を以下のようにしたとき、\1の中身が違うのはどうして?
1. (*http-equiv=$AV(refresh)&*content=$AV(*)\1*)
2. (*http-equiv=$AV(refresh)&*content=$AV(\1)*)
マッチさせる対象のサンプル
<meta http-equiv="refresh" content="0;URL=index.php">
<meta content="0;URL=index.php" http-equiv="refresh">
<meta http-equiv="refresh" content="index.php">
<meta content="index.php" http-equiv="refresh">
901:名無しさん@お腹いっぱい。
07/05/25 00:36:49 58XVN4Mx0
> 1. (*http-equiv=$AV(refresh)&*content=$AV(*)\1*)
"(*)"の括弧は$AVの引数を括る括弧であって
変数\1に取り込む範囲を指定する括弧ではないぞ。
君の期待しているのは多分こうだ。
(*http-equiv=$AV(refresh)&*content=($AV(*))\1*)
勿論、その場合でも、
> \1の中身が違うのはどうして?
\1にクォートが含まれる/含まれない の違いは発生するけどな。
(君の言う「違う」はそういう事ではないだろう)
902:名無しさん@お腹いっぱい。
07/05/25 01:21:06 UqYo66iH0
>>899
俺もきかないなぁと思ったら
キャッシュ残ってた。
キャッシュ消したり別のやつだと動くはず
903:名無しさん@お腹いっぱい。
07/05/25 01:55:24 xk9M9HKF0
>>902
キャッシュクリアしてもだめだったんだけど
もう一度クリア、ちゃんと全部読み込んでダウンロードするといけますた。
904:名無しさん@お腹いっぱい。
07/05/25 03:16:34 r4Jtcvd20
>>879
bar-22で登録されてたとしてfoobar-22になれば(foobar-22が登録されてなければ)反応しないわけですね
[^>?=/]++-22の部分を消すことに躍起になっててそっちに考えが向かなかったようです
>>880
うーん何故かほぼ機能しません・・・
ログウィンドウでは大半のRefererが消えてるんですけど。ヘッダフィルタはまだよくわからない・・・
下のiframe to dynamic linkで代用しますね
>>884
ありがとうございます
書き直しでなく書き足しでもOKなら>>879の方法でやろうかと思います
905:名無しさん@お腹いっぱい。
07/05/25 03:22:44 r4Jtcvd20
[Patterns]
Name = "Amazon Affiliate Kill"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 512
Match = "((<a\s|input\s)[^>]++(href=|src=|value=))\1$AV((http://(www.|)amazon.co.jp/*|[^>]++.gif[^>]++|)\2([^?/>=]++-22)\3*)"
Replace = "\1"\2AAK\3""
これでいいのかな?JSにアフィ仕込んでるサイトも見かけたけど特例だろうしそっちは放置でもいいかなと
906:名無しさん@お腹いっぱい。
07/05/25 03:29:24 r4Jtcvd20
iframeのみのケース忘れてた
Match = "((<a\s|input\s|iframe\s)[^>]++(href=|src=|value=))\1$AV((http://(www.|rcm-jp.|)amazon.co.jp/*|[^>]++.gif[^>]++|)\2([^?/>=]++-22)\3*)"
907:891
07/05/25 18:14:18 vzSM7iVr0
>>892 >>893
有難うございました。
またユーチューブを楽しめるようになりました。
908:900
07/05/25 22:31:42 2JakyLnI0
>901
どうもありがとうございます。
()は階層化のために使うものという考えがくせになってしまったようで……。
(*http-equiv=$AV(refresh)&*content=($AV(*))\1*)
だと quot が増えてしまうので、
(*http-equiv=$AV(refresh)&*content=$AV((*)\1)*)
だとよさげかもです。
909:名無しさん@お腹いっぱい。
07/05/25 22:32:00 ggSWIwPQ0
[Patterns]
Name = "kill _blank to _top +"
Active = TRUE
URL = "$TYPE(htm)"
Bounds = "<(a|base|form|link|area)\s*[^>]+>"
Limit = 256
Match = "\1((target=|window.open)(|\())\4(*|)\2_blank\3"
Replace = "\1\4\2_top\3"
Name = "js: kill blank to top"
Active = TRUE
URL = "$TYPE(htm)"
Bounds = "<(a|base|form|link|area)\s*[^>]+>"
Limit = 256
Match = "\1window.open[(](*|)\2_blank\3"
Replace = "\1window.open(\2_top\3"
Name = "kill blank to top"
Active = TRUE
URL = "$TYPE(htm)"
Bounds = "<(a|base|form)\s*>"
Limit = 256
Match = "\1\starget=("|)\2_blank\3"
Replace = "\1 target=\2_top\3"
910:名無しさん@お腹いっぱい。
07/05/25 22:32:49 ggSWIwPQ0
"_blank"の書き換えについて
filter>>909
真ん中はJSのターゲット指定で効くように下をまねて書き換えたものです。
上は真ん中と下を無理やり1つにしてみました。
<a href="〜" onclick="window.open(this.href, '_blank'); return false;">
は_topにできましたが、マッチルールとかパーで適当にひっかかるようにしただけなので問題あるところの指摘、修正お願いします。
下は数年前から入れっぱなしなのでどこのかさっぱり忘れてしまいました…。Uploader?
「\1\starget」は「<a href=".html""_blank"」がアウトなので \s 消去してあります。
$AV(_blank)は "・' 等、引用符のつけ分け方法が分からないので使ってません。
というか通常リンクに書き換えてしまった方がいいのでしょうか?orz
911:名無しさん@お腹いっぱい。
07/05/26 02:49:39 jxjZUNDj0
>>908
$AV((*)\1)
=
$AV(\1)
912:名無しさん@お腹いっぱい。
07/05/26 06:43:40 6r0R6OvF0
>>886の2で頭じゃなく尻の方の</html>に引っ掛けるってのは何でなんでしょ?
913:名無しさん@お腹いっぱい。
07/05/26 07:28:41 M4chxe6v0
>>912
最後に代入したのが優先されるからでしょ。
でも、</html>が無かったり、2つあるサイトがあるんだよね(ほとんどがアダルトサイト)。
さらに、</html>のあとにスクリプトを自動挿入してるところもある。
914:877
07/05/26 07:46:47 LJpc5aE+0
>>881-882
遅くなりましたがどうもありがとうございました。
HTMLページの場合でも文書先頭に挿入してはいけない場合もあるのですね。
>>905-906
それだと"-22"を含むドメイン全てにマッチしてしまいます。 amazon以外の所にもです。
$AV()の中の表現を書くのは難しいのでamazonのアフィリエイトURLの全ての種類をここに
貼って頂けたらこちらで最適化しようと思いますがどうでしょうか。
915:名無しさん@お腹いっぱい。
07/05/26 08:16:47 M4chxe6v0
ここにある「アマゾン強制アフィリエイト検出フィルター」が役に立つと思うよ
URLリンク(shinshu.fm)
916:877
07/05/26 08:42:42 LJpc5aE+0
>>914に書いた
>それだと"-22"を含むドメイン全てにマッチしてしまいます。 amazon以外の所にもです。
は間違いでした、プロトコル部分が無いのでマッチしません。 失礼しました。
>>915
どうもありがとうございます。 そのフィルタは
・ディレクトリ型
・?tag型
の2つ(+URLエンコード)に対応しているようですが、>>905-906に書かれている.gifが出てきてませんね。
この.gifとはどういうURLにマッチさせたいのかが分からないままなのでやはりURL一覧を貼って頂けると助かります。
917:名無しさん@お腹いっぱい。
07/05/26 09:02:21 M4chxe6v0
アマゾンのアフィリンクはディレクトリ型と?tag=IDの2つだけだよ。
少し前にアマゾンストアに入店しただけで紹介料が発生したけど、すぐ廃止された。
.gifなんてのは無い。
918:877
07/05/26 09:30:09 LJpc5aE+0
>>917
そうなんですか、とすると、>>905さんはgifで何を書き換えたかったんだろう。
919:名無しさん@お腹いっぱい。
07/05/26 13:31:49 ObhYsORF0
ニュー速+など一部の板で
2ch Back Ground Changerが効かなくなってしまいました
どこを書き換えればよいか教えて下さい
920:名無しさん@お腹いっぱい。
07/05/26 21:46:35 6r0R6OvF0
>>913
ああ、単純に頭に置くとその先で上書きされて無効になってしまう事もありえるからですか
921:名無しさん@お腹いっぱい。
07/05/27 01:29:51 YCzAtXSu0
>>918
なんというのかわからないけど検索ボックスと言うのかな
自分は使わないしここは意味ないのかもしれないけどソース見ててなんとなく気になったから対応させておきました
URLリンク(www.golgo31.net)
この中のお勧め商品リンクの上のやつですね
意味ないなら.gif云々の部分削っちゃってもいいんですけど
922:名無しさん@お腹いっぱい。
07/05/27 23:20:28 HD5RdDDu0
Icestream のページでいつも文字化けします。
文字コードをShift_JISにしないといけないと駄目なんですけど、
URLリンク(203.131.199.131:80**) のURLのとき、meta タグのcharsetを
Shift_JIS に置き換えればうまくいくのではないかと考えております。
しかし、そのフィルターが完成できません。どなたか作成願えませんでしょうか
923:922
07/05/27 23:33:43 HD5RdDDu0
お、書き忘れてしまった(;´Д`)
** の部分のポート番号には 8000 〜 8100 の間があります。
どうかよろしくお願いしますm( )m
924:名無しさん@お腹いっぱい。
07/05/28 01:00:16 OtpZuF8u0
> ** の部分のポート番号には 8000 〜 8100 の間があります。
「**の部分」、じゃなくて、ポート番号部分全体が、だよな?
(ポート番号の有効範囲は 0 〜 65535 だし)
正確に書くように。
よう分からんがXMLの文字コード宣言も書き換えんといかんのでは?
[Patterns]
Name = "(No Name)"
Active = TRUE
URL = "203.131.199.131:[#8000:8100]/"
Limit = 512
Match = "encoding="UTF-8"\?>\0charset=UTF-8" />$STOP()"
Replace = "encoding="Shift_JIS"?>\0charset=Shift_JIS" />"
(常時ではないが)本文中に複数の文字コードが混在しているようだし、
どうあれ化けるときは化けると思うけど。
925:名無しさん@お腹いっぱい。
07/05/28 01:05:22 POU0zOby0
書き換えないで消しちゃえば?
926:877
07/05/28 19:50:24 CYLPpgkz0
>>921
ありがとうございます。 なるほど、.gifは検索フォームのボタン画像のURLでしたか。
URLリンク(www.golgo31.net)
ちなみにこのボタンのGIF画像(GO)はゴルゴ31サイト内にある画像なので
これにアフィIDを付けてもamazonには認識されまぜん。
つまりこの画像にアフィIDを付けてもサイト主さんには何のメリットも・・。
よってフォーム部分で書き換えなければいけないのは
<input name="tag" value="golgo31-22" type="hidden">
のところだけですね。 >>915さん紹介のフィルタが秀逸なのでそれを利用させてもらって書いてみます。
927:922
07/05/28 21:08:39 XtYk8PSY0
>>924-925
おーー!すげぇええ!ありがとうございます!
>>924さまのフィルタと>>925さまのアイデアを合成して文字化けが見事
無くなりました。僕はこのページを訪れるたび文字コードを変換する手間
を一年以上続けていた気がします。
>「**の部分」、じゃなくて、ポート番号部分全体が、だよな?
>(ポート番号の有効範囲は 0 〜 65535 だし)
すみませんでした。 ここのページは 8000, 8010, 8020, ... というよう
にプラス10刻みで8100まで、合計10ページ(?)あるのです。
どちらにしても説明が下手糞だな(;´Д`)
ありがとうございました!
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4312日前に更新/385 KB
担当:undef