Proxomitron フィルター作成スレッド Part6
( ゜σ・・ ゜) ホジホジ
>>602 Content-Encoding: text/html; charset=csiso2022kr
つ SJIS
>602に行ってみたけど、 ヘッダで文字コードを詐称されると、フィルタがまったく効かなくなるね。 これは Proxomitron を無効化させるための手段になる。危険だな。
変なContent-Encodingは消したほうが良いみたいだな gzip, chunk 以外知らんけど
>>602 [HTTP headers]
In = TRUE
Out = FALSE
Key = "Content-Encoding: Kill Content-Encoding (in)"
Match = "*"
[HTTP headers]
In = TRUE
Out = FALSE
Key = "Content-Type: Kill charset (in)"
Match = "text/html; charset="
Replace = "text/html;"
>>606-607 ですね。
Match = "(^gzip|x-gzip)?" とかにしとかなくていいの
文字コード詐称されてフィルターが効かないと言う状態なら ブラウザも正しく認識出来ないのだからどっちにしろ危険は無いんじゃないのか?
オミトロン装備してるとどうも一部の頁が西ヨーロッパ言語になってしまうんだが、どうすればいい?
すまない。スレ違いだった。
>>602 ,615
こちらの環境では、「>609の "Content-Type: Kill charset (in)" を取り入れて、JavaScriptを有効に」すれば、支障なく閲覧できています。
万が一問題があるようでしたら、以下のフィルタを取り込んでみてください。
[HTTP headers]
In = TRUE
Out = FALSE
Key = "Content-Type: Fix g-kaizou charset (in) [2007/03/24]"
URL = "karen.saiin.net/~g-kaizou/"
Match = "text/html; charset=(^shift_jis|euc-jp|iso-2022-jp|utf-(8|16))"
Replace = "text/html; charset=shift_jis"
>616の続き。
Content-Typeヘッダの不正が原因なわけですが、Firefox, Opera9 (IE6, IE7 は [日本語(自動選択)] にチェックONで正常に閲覧可) で閲覧不可では少なからず訪問者を逃がしてしまいます。管理人の運営方針にもよりますが、サイト側の問題と受け取れると思います。
当分は、Proxomitronで凌ぐとしても、サイト運営者に報告しておいた方がお互いの益になるのではないでしょうか。
該当Webサイトのトップページには
-------------
2007年3月18日
なぜか全ページが文字化け(原因不明)
-------------
とあるので、運営者は原因を把握していないと思われます。
おそらく、htaccess に
AddType "text/html; charset=csiso2022kr" .html .htm
の記述があるので、これを
AddType "text/html; charset=shift_jis" .html .htm
に変更すれば、問題は解消されるでしょう。
…ということを運営者に報告してあげてください。
文字化け対策としての.htaccess
ttp://www.shtml.jp/htaccess/mojibake.html @IT:Javaの文字化け対策FAQ(1)
ttp://www.atmarkit.co.jp/fjava/rensai3/mojibake01/mojibake01.html
問題提起されている件は、
Content-Encoding: text/html; charset=csiso2022kr
でProxomitronフィルタが無効になるという現象ですね。
# Content-Typeの方はフィルタの挙動とは無関係のようです。
# 何より、Content-Typeヘッダを意図的に不正にするとWebブラウザでの閲覧の支障が出るので、そういう設定にされる可能性は低いと思います。
で、この
Content-Encoding: text/html; charset=csiso2022kr
という記述は、正しい書式なのでしょうか?
よく解らないなりに、調べてみると以下の文献が見つかり、
-----------------
内容コーディングは、section 3.5 にて定義されている。使用例を見よ。
HTTP/1.1: ヘッダフィールド定義 - 14.11 Content-Encoding
ttp://www.practical-lamp.com/LAMP/PHP/reference/rfc/html/sec14.html#sec14.11 -----------------
最初は、登録機構は以下のトークンを登録している。... gzip, conpress, deflate, identity
HTTP/1.1: プロトコルパラメータ - 3.5 内容コーディング
ttp://www.practical-lamp.com/LAMP/PHP/reference/rfc/html/sec3.html#sec3.5 -----------------
とあるので、少なくとも>602のWebサイトの出力するContent-Encodingヘッダの書式は誤っているような気がします。
>618の説が正しいとすると、Content-Encodingヘッダも運営者側で修正する方が望ましいので、サイト運営者が .htaccess から AddEncoding "text/html; charset=csiso2022kr" .html .htm を削除するという配慮があると有り難いですね。(書式は少し自信がないです…。) あえて、Proxomitron排除のために残すというサイトがあった場合は、以下のフィルタで回避できる…と思います。 [HTTP headers] In = TRUE Out = FALSE Key = "Content-Encoding: Kill faulty value (in) [2007/03/24]" Match = "(^gzip|compress|deflate|identity)"
乙。 httpd.confも疑ったほうがいいですな。
>>619 Content-Encodingヘッダが無い時でもマッチしてしまうようだ。
Match = "(^gzip|compress|deflate|identity)?+"
>>620-621 レス有難う御座います。
>621を取り込ませていただきました。m(_ _)m
[HTTP headers]
In = TRUE
Out = FALSE
Key = "Content-Encoding: Kill faulty value (in) [2007/03/25]"
Match = "(^gzip|compress|deflate|identity)?"
> httpd.confも疑ったほうがいいですな。
>602は自宅サーバじゃないようなので、httpd.conf を編集する権限がないと思います。多分…。
メンテの後文字化けしたんじゃなかったっけ? 運営側が何かやらかしたのでは。
何にしても両方チェックしておくに超したことはないですね。 その辺りも加味して、>602のサイトへ報告しておきました。
ローカルに保存したhtmlをこれを通して閲覧する方法はありますか? 極力改変を加えずに保存し、閲覧時には無駄な広告やflashへのリンクを 殺して動作を軽くしたいです。
628 :
626 :2007/03/25(日) 15:25:33 ID:Dk5Qg+wy0
>>627 そうですか・・
ありがとうございます。
>602のサイト復旧。 結果的に、"Content-Type: text/html", Content-Encodingなし の状態に落ち着いたようです。 # 匿名で報告したので、具体的な対処法(原因)は判りませんでした。 何はともあれ、>602氏の問題は解決しました。
失礼。 >629の件ですが、掲示板に復旧までの経緯が記載されていました。 .htaccess は無関係で、サーバの管理者に報告したのみ…ということです。
すべらない名無し(
ttp://by774.blog73.fc2.com/ )にある、
Brainerのテキスト広告をカットしたいのですが、下記ではうまく仕事をしてくれません。
どなたかご教授願えせんでしょうか。
[Patterns]
Name = "[User] AD @ Brainer"
Active = TRUE
Limit = 1139
Match = "$NEST(<script[^>]+>,</script>)<script[^>]++ad.brainer.jp[^>]+></script>$NEST(<iframe[^>]+>,</iframe>)"
Replace = "<!-- AD @ Brainer - Blocked by Proxomitron -->"
>>626 FirefoxならAdblockが使える。
>>631 該当Webサイトのhtmlソースを拝見しました。
マッチさせたい箇所は以下の部分ですよね?
<script type="text/javascript"><!--
brainer_partner_id = "****";
...
brainer_channel = "****";
//--></script>
<script type="text/javascript" src="
http://ad.brainer.jp/ad.js "></script>
## 引用元:
ttp://by774.blog73.fc2.com/blog-entry-2210.html iframe要素が見あたらないために、マッチしていないと思われます。
更に簡単に書くならば、<script type="text/javascript" src="
http://ad.brainer.jp/ad.js "></script> だけにマッチさせても良いですね。
前述のscript要素の内容コードは、変数の初期化だけですので本元の処理部分をカットするだけでも広告を取り除けます。(script要素の順番に配慮しなくても良いのも利点)
細かいことをいえば、ad.brainer.jp はsrc属性値に限定した方がベターだと思います。
>>632 どうもありがとうがざいます。
火狐の「選択した部分のソースを表示する」を使ってしまい、確認を怠っていましたorz
今までのテストでおkなのに引っ掛からなかったフィルタも確認しなければ(´・ω・`)
前半の$NEST部分は仰るとおり必要ないのですが、
ソースを見たときに痕跡があると何故かヽ(`Д´)ノフォオオオ!となるので、
個人的にくっつけていたりいなかったり。
[Patterns]
Name = "[User] AD @ Brainer"
Active = TRUE
Limit = 640
Match = "$NEST(<script[^>]+>,</script>)<script[^>]++src="
http://ad.brainer.jp/ad.js "[^>]+></script>"
Replace = "<!-- AD @ Brainer - Blocked by Proxomitron -->"
634 :
620 :2007/03/27(火) 21:51:05 ID:WBi+faku0
>>629-630 お疲れ様でした。 運営側のミスでしたか、こういうこともあるんですね。
>>626 ブラウザを起動してるときにProxomitronのメインウインドウに目的のhtmlファイルをD&Dすれば
フィルタリングされたページがブラウザに表示されます。 このときブラウザのアドレスバーに
表示されるURLをお気に入りに入れておくと便利かも知れません。
「URLのマッチ」欄では"http(s|)://"は含めないで下さい。
>>634 の方法だとファイルパスの中の ":" が何故か "%7C" に置換されてしまう。( %7C = "|" 、正しくは %3A。)
このためページが見つからずにエラーになるのでそれを修正するURL Control系のリスト用コード。
--------------------------------------------------------------------------------------------
# ProxomitronウインドウにhtmlファイルをD&Dした時のURLを修正。 "prefix.." は各自のprefixに書き換える。
http://prefix..file//([a-z]+{1,2})\0%7C/\1&$JUMP(http://prefix..file//\0:/\1)
--------------------------------------------------------------------------------------------
この現象はデフォルトの4.5June、4.5 338で確認。
>>636-637 試してみましたが、期待通りに動きませんでした・・・論外って事ですね。
フィルタ自体はテストも動くし、同一内容のhtmlをコピーして別サーバにアップして試したところ
問題なく動いたので、フィルタが間違っているわけでは無いと思うのですが・・・。
ログを見ているとローカルに対しては全くフィルタを適用しようとしていない様に見えます。
設定のチェックは外しているのですが。
諦めます・・・レスありがとうございました。
Sageは使ったことないからよく知らないけど、 広告だったら何か規則性があるんでないの? <div class="ad"> の中に入っているとか、 <a href="広告サイトのURL"> とか。 スタイルシートで消すことが可能かもしれない。
ありがとうございます。 おっしゃるとおりで、普段はIEとFirefoxを使い分けているので、どちらかのブラウザに 依存する方法で広告削除はしたくなかったのですが、今回はFirefoxに依存した 問題なのだから、FirefoxのCSSで消してしまえば良かったのですよね。 Proxomitronで消す事ばかりを考えてしまって、そこに考えが至りませんでした。 件の広告はCSSを用いて無事に削除出来ました。 フィルタがローカルに適用されないというのが未だに解決していないのが 気持ちの悪いところではあるのですが、ともあれレスをくれた皆さん、 ありがとうございました。
>>639 Ctrl+F5で強制リロードしてもダメ?
>>642 キャッシュを読まずにリロードって事ですよね?
ダメでした・・・。
検索表現で改行コードを"\n"にしている。 WebにASCIIモードでアップ → 改行コードが 0Ah となり、マッチ ローカルでフィルタリング → 改行コード 0Dh 0Ah でマッチせず とか。(苦しいか...)
>643 chrome://sage/content/feedsummary.html?uri=[URL] URLがこういう感じの形式だからじゃないの?
>>644 検索条件に改行コードは含んでいないです。
>>645 ロケーションバーに表示されるsageのURLは、
file:///C:/Documents%20and%20Settings/UserName/(省略)/chrome/sage.html
です。省略部分は一般のプロファイルの場所です。
レスが頂けるのは大変嬉しく勉強にもなるのですが、
流石にスレ違いな気がしてきたので、スルーしていただいて結構です・・・。
すみません、ありがとうございます。
FXがローカルのファイルを直接開いてるんじゃないの? そうだとしたら対処不能
>>648 特に問題は見あたりませんでした。
マッチしないフィルタを開示できるのであれば、アドバイスできるかもしれません。
<font style="cursor:url(mailto:kuso.ani)">feffeffe</font>
TOK2広告、4月1日現在、Limit = 13640 確実に増え続けている。 Proxomitronを意識しているとしか思えないんだが。
↑馬鹿
やっつけ Match = "(c|\c)(u|\u)(r|\r)(s|\s)(o|\o)(r|\r) (:|=) [^;}>]+"
ぐは これでどうだ Match = "(c|\c)(u|\u)(r|\r)(s|\s)(o|\o)(r|\r) (:|=) [^;}>]+"
これ、10進とかにも対応とか考えると重くなるだけな気がするな $UESCの検索側版って無いのかな?
CSS内の数値文字参照を本来の文字に戻してから、 他のフィルタで処理したほうが良いような
>>650 ユーザースタイルシートで
*{cursor:auto!important;}
とやったらどうかな
IE6じゃ!important使えなかった希ガス
>>653 >>658 うん、TOPではなくUNDERのほうだよ。
TOPは増えないから通常通りで大丈夫。
>>659 なるほど、その方法は良さそうだな
考えつけなかった
>>659 ,663
それ、ちゃんと機能する?
IE6では駄目だった。
>>650 ,655の10,16進大文字小文字対応…重いかな?
実体参照の区切り文字 ; が無くても有効だ!
Match = "(c|\&#(x63|x43|67|99)(;|))"
"(u|\&#(x75|x55|85|117)(;|))"
"(r|\&#(x72|x52|82|114)(;|))"
"(s|\&#(x73|x53|83|115)(;|))"
"(o|\&#(x6F|x4F|79|111)(;|))"
"(r|\&#(x72|x52|82|114)(;|)) (:|=)[^;}>"]+"
実体参照が有効なのはインラインでのスタイル定義(
>>651 )だけで
.cssファイルと<style>ブロック内では無効みたいだね。
アニメーションカーソルはfaviconにも使えるそうだし拡張子偽装も出来るそうだから 弾くの難しいだろうね
IEを使わない。これで>665も解決できると思われ。 MIME-Type もろくに見ないようなブラウザを使うのが悪いと言わざるをえない。 favicon は、*.ico か image/x-icon を\kすればいいのかな。
うは、数字前部複数の 0 、文字間に %00 があっても有効だった。
キリがない…orz もう、これで終わりにしますぅ。
>>664 でした。
Match = "(c|\&#(x[0]+{0,*}(63|43)|[0]+{0,*}(67|99)) (;|)) "
"(u|\&#(x[0]+{0,*}(75|55)|[0]+{0,*}(85|117)) (;|)) "
"(r|\&#(x[0]+{0,*}(72|52)|[0]+{0,*}(82|114)) (;|)) "
"(s|\&#(x[0]+{0,*}(73|53)|[0]+{0,*}(83|115)) (;|)) "
"(o|\&#(x[0]+{0,*}(6F|4F)|[0]+{0,*}(79|111)) (;|)) "
"(r|\&#(x[0]+{0,*}(72|52)|[0]+{0,*}(82|114)) (;|)) (:|=) [^;}>"]+"
>>664 ちょいとcとかにすりゃもうすり抜けられちゃうし。
こういうのってそうやってゴチャゴチャ書いててもやっつけ解決にすらならんよ。
669 :
668 :2007/04/03(火) 02:52:16 ID:O0ftgExI0
入れ違いになってしまった。
ちなみにキミの書いているのは(文字)実体参照ではなくて数値文字参照だ。 どうでもいいけど。
>>667 補足です。
>・・・文字間に %00 があっても有効だった。
& # x 0 0 6 3 ; u r s o r :
↑半角スペースを %00 と読み替えて下さい。
当然ながら
>>667 ではマッチしませんから…中途半端でスマソでした。
>>669-670 了解です。
仮に理想的なフィルタができたとしても、 よほど処理が軽くない限りは使いたくないものだな。 そこまで悪意を持ったサイトなんてあるんだかというのが知りたい。 まあ、精神的ブラクラを集めたような物好きサイトがあるのも確かだが。
この手の物をおみとろんで全部弾くには相当な手間になると言う事か
>>672 半分は思考実験かと
今回だけでなく、今後にも役に立つ可能性が残るし
プロファイル結果...
サンプルテキスト : 30000 バイト(このスレのhtmlソース)
成功マッチ数 : 1
(5回試行した平均値)
>>650 平均時間 : 0.37 (ミリ秒)
>>655 平均時間 : 0.72 (ミリ秒)
>>664 平均時間 : 0.73 (ミリ秒)
>>667 平均時間 : 0.73 (ミリ秒)
↓平均時間 : 0.73 (ミリ秒)
Match = "(c|\& # (x (0 )+{0,*}(6 3|4 3)|(0 )+{0,*}(6 7|9 9)) (;|)) "
"(u|\& # (x (0 )+{0,*}(7 5|5 5)|(0 )+{0,*}(8 5|1 1 7)) (;|)) "
"(r|\& # (x (0 )+{0,*}(7 2|5 2)|(0 )+{0,*}(8 2|1 1 4)) (;|)) "
"(s|\& # (x (0 )+{0,*}(7 3|5 3)|(0 )+{0,*}(8 3|1 1 5)) (;|)) "
"(o|\& # (x (0 )+{0,*}(6 F|4 F)|(0 )+{0,*}(7 9|1 1 1)) (;|)) "
"(r|\& # (x (0 )+{0,*}(7 2|5 2)|(0 )+{0,*}(8 2|1 1 4)) (;|)) (:|=) [^;}>"]+"
興味本位の改変なので、突っ込まんで下され。
>>672-673 同意。
>>675 おお!
他にどんなパターンが考えられますか?
nico動画のID表示フィルタってありませんか?
URLをリストで管理する際に、ずっと感じている疑問。
href=$AV((
http://| https://|//| )$LST(リストの名前)*)\1
まず最初に使い方を書いておくと、このような感じ。
疑問1。
「~」と「%7E」のどちらにもマッチさせるには (~|%7E) と書くしかないのかな。
href="http://somehost.jp/~anyname/"
href="http://somehost.jp/%7Eanyname/"
このような例はリンク先が同じになるけれども、両方にマッチさせるには、
somehost.jp/(~|%7E)anyname/
このように書いているのが現状。なんとなくメンテナンスしにくい。
$UESC が使えないかと思うものの、いい方法はないのかな。
疑問2。
href="http://www.yahoo.co.jp/"
href="http://www.yahoo.co.jp"
href="http://www.yahoo.co.jp/index.html"
など、トップページへのリンクのみにマッチさせたいときは、
www.yahoo.co.jp(/|/index.html|)(^?)
こう書いているんだけれど、これもメンテナンスが面倒。
上記は yahoo の例だけど、google に対しても同じことをしたければ、
www.google..co.jp(/|/index.html|)(^?)
やはり(各サイトごとに)このように書かなければならない。
上記2点のようなことがあると、リスト(URL)の内容が煩雑に見えるので、
もっと見やすい(煩雑に見えない)書き方があれば教えてください。
(/|/index.html|)(^?) の部分をフィルタ側に書くなど、何か工夫できるといいんだけど。
>>679 %7Eの件はURLを$UESCしたものをグローバル変数に入れて
そのグローバル変数を$TSTでテストする。 (リストを$TSTの中に置く)
ただし速度的にかなり遅くなるので遅いマシンではもっさりしてしまうかも。
(/|/index.html|)(^?)の件はこれだけを記述したリストを別に用意して
www.google.co.jp$LST(ROOT) のように使う。
>>679 > (/|/index.html|)(^?) の部分をフィルタ側に書くなど、何か工夫できるといいんだけど。
未検証の上、効率が下がりますが。
href=$AV((^(^[_0-9a-z-]+{2,*}(.[_0-9a-z-]+{2,*})+{1,*}(:[0-9]+|(^:))((^?)|/index.(html+|php|cgi)(^?))))
\0(index.(html+|php|cgi)(^?)$SET(Temp=\0)|(^?)$SET(Temp=\0/)))
$TST(Temp=$LST(リストの名前)*)
あるいは、煩雑なコードに目をつぶって、テキストエディタの一括置換でメンテナンスするぐらいでしょうか。
パッチも出たことだし用済みとなりましたが…
>>650 ,655,664,667,674
>>651 ,671,675
Match = "cursor[^:=}]+(:|=) url\([^)}]+\)(;|) \1}$SET(0=\1})|"
"style=$AVQ(\1"
" (c|\& # (x (0 )+{0,*}(6 3|4 3)|(0 )+{0,*}(6 7|9 9)) (;|))"
" (u|\& # (x (0 )+{0,*}(7 5|5 5)|(0 )+{0,*}(8 5|1 1 7)) (;|))"
" (r|\& # (x (0 )+{0,*}(7 2|5 2)|(0 )+{0,*}(8 2|1 1 4)) (;|))"
" (s|\& # (x (0 )+{0,*}(7 3|5 3)|(0 )+{0,*}(8 3|1 1 5)) (;|))"
" (o|\& # (x (0 )+{0,*}(6 F|4 F)|(0 )+{0,*}(7 9|1 1 1)) (;|))"
" (r|\& # (x (0 )+{0,*}(7 2|5 2)|(0 )+{0,*}(8 2|1 1 4)) (;|))[^;"]+ \2"
")$SET(0=style=\1\2)"
Replace = "\0"
サンプルテキスト : 30000 バイト
平均時間 : 0.511000 (ミリ秒)
一行目を {} で括って {\1cursor[^:=}]+(:|=)[^;}]+(;|) \2}$SET(0={\1\2}) のようにすると
平均時間 : 0.881000 (ミリ秒)
a{ cursor アXXXイ ウYYYエ: url( mailto: kuso.ani オZZZ ) } ←こんなのも有効でした。
半角スペースの部分は[%00]から[%20]までマッチさせた方が望ましい。
684 :
679 :2007/04/07(土) 06:24:57 ID:xLSZD1g90
どうもありがとうございます。 遅くなる上に誤動作の可能性ありですか。パワーのないマシンでは厳しい。 $LST(ROOT) を使う場合、中身は以下のようになるのかな。 (/|/index.html|)(^?) (/|/index.php|)(^?) index.php などになっているサイトもあるので。 wƾw.google.co.jp$LST(ROOT) のような場合、 ドメイン名の後に$LST(など、何かしらの文字)を書かねばならないので、 見やすくはなるものの、(/|/index.html|)(^?) を書くのとあまり変わりないかもしれない。 軽さを重視して、何より誤動作させたくないのであれば>679のままでよさそう。 余談だけど>679を書いたのは、 \kの対象などになる URL のリストが長くなったのがきっかけ。 一度登録すると削除することがなかなかないものだから、 ドメインなどのリンク切れチェックや誤爆チェックをするため、 URL を最初から書き直すことにした。 個人サイトのウェブリングや、中小規模のショップなどはリンク切れがけっこうありそう。 1年から2年に1回くらいはリストを書き直すといいかもしれない。
685 :
680 :2007/04/07(土) 08:35:42 ID:8xuLEh/P0
>>684 すみません、質問の内容を勘違いしてました。
$LST(ROOT) はサイトのトップだけでなくその他のURLもリストに登録するような場合に使うと便利ですが、
サイトのトップだけをリストにまとめる場合には無駄になります。
この場合はthink氏のようにフィルター側で対応するべきでした。
>$LST(ROOT)の誤動作
私の知る限りは誤動作する心配はいらないと思います。 むしろ(/|/index.html|)(^?)を書く際の
記述ミスの心配が無くなり確認もラクになるので二者択一の場面があれば私なら積極的に使います。
>>682 実際にフィルターを書く場合にはURLの一部を取り出し、そこだけ変換するような書き方になると思います。
しかしURLの一部を改変してしまうことには変わりはないので何らかの不具合は覚悟の上で使うことになります。
この方法は (~|%7E) と比べると余計に面倒なことになるのであまり現実的ではありませんね。
>>683 流れを追い切れてませんが、お疲れ様です。
>>684 誤動作に関しては、しっかりとテストを行えば、クリアできる課題だと思います。
しかし、遅くなるのはどうしようもありませんね…。
(/|/index.html|)(^?) の書き方をする場面は限られてくると思うので、速度も気になるのでしたら、テキストエディタの「一括置換」で管理する方が用途に合うと思います。
>>685 > しかしURLの一部を改変してしまうことには変わりはないので何らかの不具合は覚悟の上で使うことになります。
>682の他に、マルチバイト文字をデコードしたときにも誤爆する可能性があることに気がつきました。
ASCII文字のみに絞ってURLエンコードされた文字列を指定すれば、誤爆を回避できそうですが、面倒なことには変わりなく。
以下の表現からの派生を考えてみましたが、思いの外、時間がかかりそうだったので中断しました。
(
http://[_0-9a-z-]+{2,*} (.[_0-9a-z-]+{2,*})+{1,*}(:[0-9]+|(^:))/)\#
(([^#?/%]++)\#(((%([0-7][0-f]))+)\0$SET(#=$UESC(\0))((%[0-f]+)+[^#?/%]+)\#)+(/)\#)+\#
チラシの裏。 リストの拡張子を.cfgに変更して、.cfgをメモ帳よりもちょっと高機能なエディタに関連付けした。 .txtはいまだにメモ帳を使っているけど、 リストを編集するときにはアンドゥくらいは楽にできるとよいので 拡張子変更という手段をとってみた。 タスクトレイのアイコン右クリックからでも、指定したエディタが起動してなかなかよさげ。
妙な関連付けを一般化するよりは エデター+パラメターでショーツカッツ作った方が利口そうに思えるのだが
>688 1. 使用したいエディタのショートカットをSendToフォルダに入れる。 2. リストがあるフォルダを開いてから右クリック→送る こういうやり方でもいいかなーと思ったけど、 タスクトレイのアイコン右クリックから開けるのが便利なので関連付けすることにした。 .cfgなんて拡張子はProxomitron以外だとあまり見かけないし、 .cfg専用にアイコンを設定しておいたので、開きたくない.cfgを誤って開くこともないかなと。
いずれにせよ 100歩遅れてるぞ
それなりのエディタ持っててメモ帳使う意味が分からん。
cfgはOTBEditに関連付けしてる。 関連付けして不都合でもない限りしたほうが利口だと思う。
>>693 [Patterns]
Name = "nicovideo randomgif to static"
Active = TRUE
URL = "www.nicovideo.jp/random $TYPE(htm)"
Limit = 256
Match = "<script type="text/javascript" src="js/illust.js"></script></a><noscript><img src="img/tpl/head/illust/000.gif" alt=""></noscript>"
Replace = "</a><img src="img/tpl/head/illust/030.gif" alt="">"
>>695 きまぐれ検索ページ限定じゃなかったんだな。
ごめんな。
こちらこそごめんなさい。
>>683 修正
Match = "$NEST({,\1cursor[^:=]+(:|=)[^;]+(;|) \2,})$SET(0={\1\2})|"
"style=$AV(\1"
" (c|\& # (x (0 )+{0,*}(6 3|4 3)|(0 )+{0,*}(6 7|9 9)) (;|))"
" (u|\& # (x (0 )+{0,*}(7 5|5 5)|(0 )+{0,*}(8 5|1 1 7)) (;|))"
" (r|\& # (x (0 )+{0,*}(7 2|5 2)|(0 )+{0,*}(8 2|1 1 4)) (;|))"
" (s|\& # (x (0 )+{0,*}(7 3|5 3)|(0 )+{0,*}(8 3|1 1 5)) (;|))"
" (o|\& # (x (0 )+{0,*}(6 F|4 F)|(0 )+{0,*}(7 9|1 1 1)) (;|))"
" (r|\& # (x (0 )+{0,*}(7 2|5 2)|(0 )+{0,*}(8 2|1 1 4)) (;|))[^;]+(;|) \2"
")$SET(0=style="\1\2")"
Replace = "\0"
<font style = ' cursor feffeffe : url( " mailto: kuso.ani " ) '>nmooi</font> ←に対応
1行目比較
サンプルテキスト : 30000 バイト
平均時間 : 0.571000 (ミリ秒) ← cursor[^:=}]+(:|=) url\([^)}]+\)[^;}]+(;|) \1}$SET(0=\1})
平均時間 : 0.821000 (ミリ秒) ← {\1cursor[^:=}]+(:|=)[^;}]+(;|) \2}$SET(0={\1\2})
平均時間 : 0.701000 (ミリ秒) ← $NEST({,\1cursor[^:=]+(:|=)[^;]+(;|) \2,})$SET(0={\1\2})
特定のサイトだけUAをIEに変えるフィルターありませんか? 具体的に言うとDELL・・
そのくらい自分で
>>701 自分でやって覚えようってことで、テンプレを示してみるってのはどうかと思ったが
[HTTP headers]
In = FALSE
Out = TRUE
Key = "User-Agent: Template (out) "
URL = ""
Match = "*"
Replace = ""
ほとんど空白になったのでまぁ自分でがんばれ。
URL MatchにDELLのURLを入れて、Replaceに任意のUAを入れるんだよ。
ワイルドカードいらない
Vectorでダウンロードのたびに、Vアップ通知画面見させられるの回避するフィルター教えてください。 JUMPとか使いそうなんですけどさっぱりわかりません。
>>705 Vector ってゲームとソフトとで別の構成なのよね。
Vアップ通知画面を回避するという意味で、こんなのはどう?
Leeyes(WindowsNT/2000/XP / 画像&サウンド)
http://www.vector.co.jp/soft/dl/winnt/art/se381425.html とかの、ダウンロード画面でいきなりリダイレクトするWEBページフィルタ。
[Patterns]
Name = "Vector Soft DL Redirect"
Active = TRUE
URL = "*vector.co.jp/soft/dl/"
Limit = 200
Match = "<META NAME="download" CONTENT="\0">"
"$STOP()"
Replace = "<meta http-equiv="refresh" content="0;url=\0">"
"\k"
[Patterns] Name = "Vector download add link- (2007/04/15)" Active = TRUE URL = "www.vector.co.jp/soft/(dl/|)win" Limit = 256 Match = "(<META NAME="download" CONTENT="http://download.\8">)\0$SET(_link=\8)|" "(<META NAME="ve_@title" CONTENT="\8">)\0$SET(_title=\8)|" "(<!-- soft data -->\s<table id="soft_data">)\8" "$SET(\0=\8\n" "<tr>\n" " <td class="celltitle">Download : </td>\n" " <td> <a href="ftp://ftp.$GET(_link)">FTP</a> <a href="http://download.$GET(_link)">HTTP</a> $GET(_title)</td>\n" "</tr>\n" ")$STOP()" Replace = "\0" ダウンロードのリンク追加するフィルタ
漏れもメタタグを置換してリンクにしてる
>>706 助かります!事前にリンク持ってくるって手もあるんですね、なるほど。
似たような例探していじってるだけだから全然応用力ない('A`)
>>707 さらに便利そうだと思って試したら何故かうちの環境じゃCPU100%で固まる・・・
うちでも固まった どこで暴走しているんだろう
うちでは使えてるんだけどなぁ…
他のフィルタ全部切って
>>707 だけにしても固まるなあ
一応環境書いておくか
Win2kSP4 IE6SP1 Naoko4.5+日本語化
開こうとしたURLは
>>706
713 :
名無しさん@お腹いっぱい。 :2007/04/15(日) 16:04:18 ID:BZwh9YcC0
全部切っても動作した
XPSP2 Firefox2.0.3 4.5June+6
開いたURLは
>>706 なにが駄目なのかはわからん
みんなVectorをそんなに利用しているのか。 自分はゲームの新作チェックを週1回と、 よく使うソフトの一部がたまにバージョンアップするときくらいかな。 (こっちは不定期チェック) 広告消しなら作ったけど、リダイレクトのフィルタは使ってないなあ。
Vectorのなにもかも削ぎ落として、
直接ファイルへのリンクを張るWEBページフィルタ。
Treasure Search
http://www.vector.co.jp/soft/win95/game/se422845.html 動いたり動かなかったりだけど、とりあえず ↑みたいなソフト紹介のページ用。
[Patterns]
Name = "Vector Soft All cut"
Active = TRUE
URL = "*vector.co.jp"
Limit = 20000
Match = "<HTML>*"
"<META NAME="download" CONTENT="*/pack/\9">*"
"<META NAME="ve_@title" CONTENT="\1">*"
"<META NAME="ve_@description" CONTENT="\2">*"
""
"treeOnOff'*</script>"
"\0<div class="fr">*<!-- left -->*<!-- /left -->"
"*<!-- soft data -->*<!-- soft data -->\6 <BR clear="ALL">"
"$STOP()"
Replace = "<HTML><head><TITLE>\1</TITLE></head><BODY>"
"<table border="0" width="700" align=center><tr>"
""
"\0 <!-- directory navi -->"
"<hr noshade="noshade" />"
"<font size=6><a href ="
http://my.vector.co.jp/servlet/System.FileDownload/download/http/0/407081/pack/\9 ">\1</a> </font> <!-- title -->"
"\6 <!-- explanation -->"
"\k"
>>717 おおっ。確かに、ラスト三行のとこははこれで十分だった。
すっきりしてよかった。ありがとう。
"<font size=6><a href ="
http://ftp.vector.co.jp/pack/\9 ">\1</a> </font> <!-- title -->"
"\6 <!-- explanation -->"
"\k"
メタタグに書かれてないアドレスは、拾うのがめんどくさいよなー。
ttp://vird2002.s8.xrea.com/download/#filter_web の汎用Webフィルタ集内のReplace vlink colorフィルタなのですが
background-colorにも誤爆してしまいます
どうすれば誤爆しないように出来るのでしょう?
以下コピペ
Name = "Replace vlink color (html+css) [2005/11/24]"
Active = TRUE
URL = "$TYPE(htm)|$TYPE(css)"
Limit = 256
Match = "(<body(^[^ ]))\#("
"([^>]++\svlink=)\#$AV(\0)([^>]+>)\1&"
"[^>]++\slink=$AV($TST(\0))"
"$SET(#="purple"))|"
"(a:visited {[^}]++color : )\#([0-9a-z#]+)\0"
"([^>]++a:link {[^}]++color : $TST(\0))\1"
"$SET(#=purple)|"
"(a:link {[^}]++color : ([0-9a-z#]+)\0"
"[^>]++a:visited {[^}]++color : )\#$TST(\0)"
"$SET(#=purple)"
Replace = "\@\1$STOP()"
>>719 懐かしいフィルタですねー。
CSSの表現はスマートな書き方ができなくて苦慮した覚えがあります。
> background-colorにも誤爆してしまいます
[^}]++color を ([^}]++[\t\n\r ;]|)color に変更してやれば、回避できると思います。
ご報告ありがとうございました。
[Patterns]
Name = "Replace vlink color (html+css) [2007/04/23]"
Active = TRUE
URL = "$TYPE(htm)|$TYPE(css)"
Limit = 256
Match = "(<body(^[^ ]))\#("
"([^>]++\svlink=)\#$AV(\0)([^>]+>)\1&"
"[^>]++\slink=$AV($TST(\0))"
"$SET(#="purple"))|"
"(a:visited {([^}]++[\t\n\r ;]|)color : )\#([0-9a-z#]+)\0"
"([^>]++a:link {([^}]++[\t\n\r ;]|)color : $TST(\0))\1"
"$SET(#=purple)|"
"(a:link {([^}]++[\t\n\r ;]|)color : ([0-9a-z#]+)\0"
"[^>]++a:visited {([^}]++[\t\n\r ;]|)color : )\#$TST(\0)"
"$SET(#=purple)"
Replace = "\@\1$STOP()"
mixiの広告が書き込み後にまで出てくるのでばっさりしたいのですが どなたかお願いできませんでしょうか
ごめんなさいとか負けましたとか、相手に言わさないと気が済まないタイプだな
ごめんくさい
禿げました
725 :
名無しさん@お腹いっぱい。 :2007/04/24(火) 21:37:27 ID:dm3t6qtQ0
このスレ開く度に JS.WindowBomb.G 検出する
Multiを有効にしたフィルタAが動作(マッチ)した際にフラグを立て、 フラグが立っているときのみフィルタBをバイパスすることはできませんか? $TSTを使えばよいのかと思うものの、 $TSTの使い方はいつまで経ってもよくわからない……。
慣れれば簡単 以下はテキストエリア以外のスクリプトタグを全てテキストエリアに代えるサンプル [Patterns] Name = "$in_textarea = true (1/2)" Active = TRUE Multi = TRUE Limit = 256 Match = "<textarea" Replace = "$SET(in_textarea=1)<textarea" Name = "$in_textarea = false (2/2)" Active = TRUE Multi = TRUE Limit = 256 Match = "</textarea*>" Replace = "$SET(in_textarea=0)</textarea>" Name = "if (not $in_textarea) <scripit> to <textarea>" Active = TRUE Limit = 256 Match = "<(/|)\0script\1>" "(^$TST(in_textarea=1))" Replace = "<\0textarea rows=5 cols=100><\0script\1>"
729 :
名無しさん@お腹いっぱい。 :2007/05/01(火) 15:13:54 ID:XSGQ9HTn0
ニコニコ動画の広告を削除するフィルタきぼん
ニコ動のID表示のために導入したけど なんか面白そうだなw
>>731 どうでもいいけど、今現在時間限定開放ユーザはいませんよ
60万までのIDは全て24時間開放。
>>729 頻繁に書式変わってるから自分でメンテできないと無駄だ
む…、>732をよく見ると「今現在時間限定開放ユーザはいません」ですね。 文章は良く読もう。orz
>>736 とりあえず……どう?
[Patterns]
Name = "nicovideo.jp UPPER AD cut"
Active = TRUE
URL = "*www.nicovideo.jp"
Limit = 250
Match = "<DIV*"
""
http://ad.nicovideo.jp/* "*"
"</DIV>"
"$STOP()"
Replace = "<!-- CUTTED -->"
まあ頻繁に書式変わってるからすぐに使えなくなるけどな
やっべ、寝ぼけて同じ内容書いちまったorz
知らない間にニコニコ絡みで話題になってたのね。 どうせそのうちニコニコ側でIDあぼーん実装するんだろうけど、 Greasemonkey全盛の時代にこんなイベントが発生するとは。
[Patterns]
Name = "Kill NicoNico Ad"
Active = TRUE
URL = "www.nicovideo.jp"
Limit = 256
Match = "<a href="
http://ad.nicovideo.jp/*</a >"
Replace = "<!-- Kill nicovideo ad -->"
[Patterns]
Name = "Kill NicoNico Ad2"
Active = TRUE
URL = "www.nicovideo.jp"
Limit = 1024
Match = "<tr><td*<strong>dwango.jp*</td></tr>"
Replace = "<!-- Kill nicovideo ad -->"
適当に書いたんだけど一応いまは消えた
743 :
名無しさん@お腹いっぱい。 :2007/05/02(水) 15:58:03 ID:s+ecP+200
おまえらFlash広告どうやって消してるの?
>728 遅くなりましたが、どうもありがとうございます。懲りずに練習します……。 >743 見えなくするだけだったら、 ヘッダフィルタでapplication/x-shockwave-flashを\kするとか。 CSSだったらobject[data$=".swf"], embed[src$=".swf"] { display: none !important; }とか。
サイトのにあわせて作る
>>736 ,738
今日、いくつかの動画閲覧しましたが、AdListの方法(>731)で広告は消えているように見えました。
キャッシュが残っているか、他のフィルタが先にマッチしているか。
そのあたりを確認してみてはどうでしょうか。
オミトロンでニコニコ動画のNGIDじゃなくてNGワードって出来ないですかね・・・
とっくに出来てる
自分のID偽装は?
>>752 うっかりしてました。ご指摘ありがとうございます。
>>753 広告はまず、AdListを試してみてくださいな。
www.bb-chat.tv/ で消えます。
「Kill href/src ad」なら bb-chat.tv/
AdListってスラッシュ入れないと機能しないの?
ハッシュ化というのは前から気になっているんだけど、 リストの用途によっては「/」で終わらせることができなくて悩む。 href="*click.*" こういうものにマッチさせようとするときとか。 ドメイン名にマッチさせるときはだいたい問題ないようだけど、 ファイル名や特定の文字列にマッチさせるときは諦めるしかないのかな。
>>759 ファイル名や文字列にマッチさせるときには、「固定プレフィックス スタイル」のハッシュ化を利用するぐらいしかないです。
条件は「行頭から7文字目までにワイルドカードを含まない」という緩いものなので、何とか頑張って条件を満たすしか。
Last-Modifiedの値をSaved from URLみたいにページ内にコメント出来ますか? できるならフィルターの作成をお願いしたのです。
>>743 とりあえずソースを見て、script、object、embed などで検索して該当箇所を探す。
proxomitronをつかって、Adsense、Amazon広告とか消せますか?
消せます
2ちゃんのレス内容の「w」を「・」に変えるフィルターって作れますか? もし作れるなら作ってくれると嬉しいです。
>>767 利用するブラウザは「Jane Doe Style」です。
ReplaceStr.txtはJane Doe Styleだと使えないみたいなんですよね・・・
postするデータを書き換えたいんですが <div len="-10" ver=5 />のlen=を必ず-500にするにはどうすれば良いのでしょうか ヘッダでオウトをonにして [HTTP headers] In = FALSE Out = TRUE Key = "New-HTTP-header" Match = "<div\slen=$AV(-[0-9]+) Replace = "<div len="-500" にしてるんですが、作動していないみたいです
間違えた。必要な”も削ってしまった [HTTP headers] In = FALSE Out = TRUE Key = "New-HTTP-header" Match = "<div\slen=$AV(-[0-9]+)" Replace = "<div len="-500"" です
最近のHTTPヘッダはHTMLタグを含むのか、すごいな
RFC2616始まったな
のちのHTTP/2.0である
>>775 某スレッドでコメント取得の話題が出たばかりですからw
ttp://yp.peercast.org/ このサイトの下のほうにあるPage: 1, 2, 3, 4, 5, 6 >>>をページの
上のほうにも表示させるフィルタ作ってくれる人はいませんでしょうか。
出来れば1から8までのリンクが常に表示されるようにして頂けるととてもありがたいです。
>>768 ごめんなさい。レスし忘れていました(汗)
「Jane Doe Style」では「2ch-BBS: Replace BlockList character」のフィルタで置換できるということしかわかりません…。(>767)
解決しましたので、このスレは削除依頼出しておきます。 答えてくださった方々、本当にありがとうございました。
>>778 ありがとうございます。
とりあえず「2ch-BBS: Replace BlockList character」を試してみます。
変数の比較についてどうしてもうまくいかないので質問です。 \1と\2を比較して一致しているかで分岐したいのですが、 $TST(\1=\2) と記述すると比較ではなく代入になってしまうのですが仕様なんでしょうか。 $TST(1=\2) でもうまくいきません。今度は常にヒットしなくなります。 文字変数に代入して比較したりいろいろと工夫してみてもやっぱり駄目。 どう記述するのが正しいんでしょう?
$TST(\1=$TST(\2))
786 :
名無しさん@お腹いっぱい。 :2007/05/11(金) 18:34:01 ID:rADFD0Jg0
>sageでオミトロン使いに なんていうか・・・卑屈だな そんなに仲悪いの?
何か嫌われてるみたいだな
789 :
名無しさん@お腹いっぱい。 :2007/05/11(金) 19:30:19 ID:fHP/rSL30
Arneだろ
そりゃこのフィルタスレ見てたってまともに自分で使えない厨房がいっぱいだし うざいってことじゃないのかな
791 :
777 :2007/05/12(土) 11:36:19 ID:u1eBPKNo0
どうもすみませんorz
792 :
777 :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/
2ch見ててウイルスコード書く奴が居てアンチウイルスが過剰反応するので、 このウイルスコードを読み込まない様にするフィルターが欲しいんですが。<(_ _)>
アンチのほうで除外できんのか
datファイルの場所を検査除外するようにすればいいだけ
>>794-795 レスドウモデス
出来るとか出来ないとか話がありますが、これからそう言う書き込みが増えそうな予感がするのでオミトロンで出来れば遣りたいな、と思いまして。
ウィルスコードに共通する部分が無いと駄目かと
増えそうならますます795の方が良いと思うけどなあ。 その度にフィルタ増やすより。
>>796 いまさら誰もそんな予感はしてない
自分の希望を他人のせいにすんな
>>795 datファイルの除外では無く、そのレスだけ除外してアンチウイルス補助(と言うか2ch対策?)
みたいな感じに使えたらと思ったんだけど。
>>797 の言う通り共通コードとか考えるとちょっと使い方違うかなとは思った。
でもフィルターだけ作っておけば後は除外コードを追加していけば・・・、
何て素人考えでいたんだけど。(^o^;; とりあえづ、除外とか対策があるのでありがとう。
ニコ厨
>>800 申し訳ないが仰っている意味が全くわからない
無理しなくていいよ
ウイルス対策ソフトなんて使ったことないが、オミトロンだけあれば十分でないか? よほど凝ったしかけでもされなければ、ウイルスを入れられることはないと思うが。 (使っているフィルタにもよるけど) あとはIEを使わないとか、ブラウザを選択するだけでもある程度の効果はあるだろう。
ウイルスは油断してる奴ほど引っかかりやすい。
>>800 そういうフィルタを作ることは出来るよ。 2chブラウザのNG処理みたいなことをオミトロンで
やればいいだけだから簡単。 もしかしたら既成のNGフィルタで出来るかも。
ただし、登録の仕方を工夫しないとフィルタ内のウイルスコードがアンチウイルスソフトに
ウイルス認識されてしまい、その結果オミトロンの設定ファイルがまるごと消されたり、
隔離されたりしてしまうことが考えられるので注意されたしw
余談だが、アンチウイルスの設定でdatのある場所を除外するという方法は、
この場所にウイルスが投下された場合に無防備になるという欠点があるので
これをやればいいというレスは正しいとは言えない。
今回はオミトロンで回避するにはどうすればいいかという質問なのでこれは答えになってない。
こういう場合はアンチウイルスの設定でも回避出来ることを示しつつ、
オミトロンで実現するにはどうすればいいかを書くべきだろうと思う。
<#`∀´>ノ よっ
(-@∀@)ノ
定型文から一部当たったらその場所を適当な文字に置き換えればいいが ただし容量が変わると次の読み込み時に読み込み開始位置がずれるので Janeでのdatの置き換えは実用的でない
ウイルスが投下って、テキストなんだから投下されてもええやん。
>>811 ウィルスに感染した際に、datフォルダが作業フォルダになってしまうってことでは?
何かもうチンプンカンチンだな
おまいら日本語を勉強しなおして来い
ニホンゴノ ベンキョウハ トテモ ムズカシイデス。
>>810 Jane系ならWickedStr.txtで解決
全角文字と半角文字を区別しないのが問題悩みの種なんですが、 たとえば検索条件に「@」を指定すると「 」(全角空白)にヒットしたりしますよね。 こういうのは根本的に解決できないんでしょうか。
818 :
名無しさん@お腹いっぱい。 :2007/05/15(火) 01:13:26 ID:bvbbhwzO0
アクセス解析切るフィルタってどう書けばいいの?
アクセス解析のURI切るようにすればいいんじゃない
>>820 過去ログ見ながら作ったらいけました。ありがとうございます。
もう一つ
サーバーのアクセスログに残らないフィルターはどうやって作ればいいんでしょう。
>821 そんなものができたらサーバ攻撃の踏み台になってしまうではないか。 まあ無理だと思うけど。
>>821 そのサーバにアクセスしないようにするといいよ。いやマジで
すみませんorz では、サーバーのアクセスログに自分のホストを残さないためには プロキシを経由するしかないんでしょうか proxomitronで経由させる方法を教えて下さいorz
つか、823で答えが出てるんだけどな
>>824 プロキシと書いてあるボタンを押してプロキシサーバを登録する。
>>824 それが出来るなら串鯖なんてこの世に存在しないわ
おはよ Prox系の悪用はよく聞くが 俺が聞いたのは、プロクシ立てたよ、使ってね->ヘッダログ表示->ベーシック認証キーごっそりいただき Prox系じゃなくてもやろうと思えばできるけど簡単にできるのはまずいね だから外部接続は対応しないほうがいいに賛成 俺がやったいたずらは、「です。」を「でんねん」、「ます。」を「まんねん」に変換するやつ みんな似たようなことやってるな
「おばんです。」を「おばんでんねん」にしたのはお前か!
プロキシ経由でそういう認証する方に問題があると思うよ
流れぶったぎって コメントタグと無関係の”-->”を削除するにはどう表記すれば良い? --\>じゃ消せなかったんだ
>>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))"
Google Imageまた変わった?
835 :
名無しさん@お腹いっぱい。 :2007/05/20(日) 21:09:18 ID:/FLyeVGw0
Kill nest ad で <!-- Bar --><!-- /Bar --> の消す書き方教えて
>>834 Google Image: Image Change (070115)だったら
<a href="\+e\+b.m\+"><imgを
<a href="\+e\+b.n\+"><imgから
<a href="\+e\+b.o\+"><img
にすればいいよ
<a href="http:// foo.bar/"> こんなソースでもリンクとして機能するとは。Firefox/2.0.0.3 で確認した。 リストでURLを管理しているんだけど、普通ならマッチするものがマッチしなかった。 // の直後にある改行を削ったらマッチした。 HTML lint だと改行は禁止されてないと書かれているけど、 この例では改行がなかったことにされてしまっているから危険。
<img src="foo .jpg"> とか普通に可能だよ。クォーテーション内の改行は無視される。 クォーテーション無しなら改行以降は無視。 <img src="bar.gif .jpg"> ↑ bar.gif.jpg が呼び出される <img src=bar.gif .jpg> ↑ bar.gif が呼び出される
じゃあこうすればよくね? [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"
あ、ごめんBoundsおかしいね。 <[^/!][^>]++=("[^">]++|'[^'>]++)\n とかで大丈夫かな。
うへー、クォートの扱いの理解が足りなかった。 出直してくる。
参考資料は HTML4.01 が適当かな?
Basic HTML data types (ja)
http://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 = "\@"
となるのでしょうけれど、仕様書通りに動作しないのが気になりますね…。
altテキスト/titleテキスト は改行を解釈してポップアップするので、改行を取り除いてしまうと改行なしの長文が表示されてしまう可能性があります。 >843のフィルタでは、効果範囲を href属性,src属性に限定しています。
[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/"
>
>>845 属性値の外側の改行は消さなくてもいいのでは?
>>847 あ、なるほど。
Sylera3では改行されるので、Firefoxも同じだと安易に考えていました。
GREのバージョン違いかな?
>>848 属性値の外は空白として処理しないと困るケースがあります。
<a
title="test"
href="
http://www.google. com/">
それに、Proxomitronでマッチさせるだけなら、属性値の外はそれほど気にしなくて良いような気が…。
デフォルトで有効になっているフィルタで、HTML文書先頭にスクリプトが挿入されてしまう不具合を修正しました。
[Patterns]
Name = "Kill pop-up windows [2007/05/21] fixed"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 8
Match = "(^(^</head>))$STOP()"
Replace = "<script src="
http://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」等。
, - ,----、 (U( ) | |∨T∨ <Google image redirectorの対応お願いします (__)_)
>>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は末尾に改行が存在するケースに対応していませんでした。
(^(^["'])) はクォートなしの属性値には改行を含まないため、と捉えました。
>>853 いやすんません、私が寝ぼけたのが悪いんです
ほんとごめんなさい(´;ω;`)ぶわっ
>>333 を参考にAAKiller作ろうと思ってるんだけど参考例の中にある「,」の意味がわからない・・・
どういう用途に使ってるんでしょう
なるほど、入れ子の始まりと中と終わりを「,」で仕切るわけですね ってよく見たらヘルプのNESTの説明中にも「,」が書いてありました 詰まってイライラしてる状態だと理解できるものも理解できなくなりますね・・・ 精進します。ありがとうございました
>>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
もし単純な書き換えじゃまずい場合はご指摘ください。
デフォルトのフィルタって、改善してでも常用に耐えるほどのものなのかね? 自分でフィルタを書くようになってからは、ルールを覚えるにつれてだんだん数が減り、 現在ではヘッダフィルタのみいくつか残っている。
検索やらiframeやら検索パネルには対応してない手抜き版・・・というか誤爆が多そうな・・・
せめて[]内で小文字大文字区別してくれれば誤爆は格段に減るだろうになんでこんな仕様なんですか('A`)
[Patterns]
Name = "Amazon Affiliate Kill"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 512
Match = "$NEST(<a\s,[^>]++href=$AV(
http://www.amazon.co.jp/[^ >]++([0-9A-Z]++{10})\1*)*,>)"
Replace = "<a href="
http://www.amazon.co.jp/dp/\1 " title="AAK" target=_"blank">"
自分は面倒だったのでインストールしたときに真っ先に既定のフィルタを切った。
アフィリエイト用フィルタはURLリストでblogだけに絞れば 誤爆しても問題ないよ
http:// (www.|)amazon.co.jp/
で始まるリンク内の
[^/\&=]++-22
を適当な文字列に書き換えたら?
リンクを書き換えるよりヘッダを書き換えたほうが簡単なんじゃ
[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 = "<\@"
アフィリンクは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"
>>850 Stop status bar scrollersもきぼん
>>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="
http://local.ptron/WindowOpen.js "></script>\r\n"
> 書き換え例をみるとMatchな部分を置き換えReplaceの行頭を少しけづるだけと気づき
Limitも小さくなっています。
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"
フォントがMSゴシックで指定されてるサイトで、その部分をメイリオに変更汁フィルターお願いできませんか? 置き換えのやり方はうまく理解出来なくて、ダメなんですよ私。
正規表現を1から勉強してこよう;_;
>>871 Proxomitronは日本語の書き換えが苦手なので
ブラウザ側でuser.cssを使うとか、
フォントの設定をユーザー設定優先にする方が良いかも。
MSゴシックで表示されるからといって、MSゴシックが指定されているとは限らないよ。
body { font-family: "メイリオ" monospace !important }
メイリオが手元にないから検証してないけど、これでいいでしょ。
body でなければ、該当する要素に書き換えればよし。
あとは必要に応じて monospace を sans-serif あたりに書き換えてもよし。
ttp://d.hatena.ne.jp/jintrick/20070521 ついでに書くと、こんな話がある。
body { font-family: "メイリオ", monospace !important } コンマ入れ忘れ。
>>850 >>870 いつもありがとうございます。
この際勉強しなおそうとFAQなどから読み始めてるのですが
PRXスレFAQより
ttp://web.archive.org/web/20060519105742/ http://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さまのはデフォルトのフィルタを元に修正されてますがどちらを使うのがよろしいのでしょう?
>>870 便乗で質問。 その"ちょっと危ない"とはどういう意味ですか?
>>863 巡回先にblogじゃないところも結構あるのでそれは厳しいです
>>866 ちょっと自分にはまだ理解できないです・・・。すみません
>>867 試しましたが消えるところがあったり消えないところもあったりでまだ慣れず
なので
>>864 の案を元に作っていたけど
$NEST(<(a\s|iframe\s)[^>]++(href=|src=)$AV(
http://[^ >]++amazon.(co.jp|com)/[^>]++([^/?=]++-22)\0*)*,>)\1|
(<input\s[^>]++(src=|value=)$AV([^>]++(([^?=>]++|)-22)\0)*>)\1
というところまで書いた辺りでどうやっても単なる抽出にしかならないっぽいので挫折
$SETでいけるかと思ったけどそもそも用途が違うっぽい罠。マッチングコマンドは難しい・・・
>>878 >>864 に書いてあることをやるだけならコマンドは使う必要ないと思います。
それと、下のようにアフィID以外の部分を抽出すればアフィIDを書き換えられますよ。
Match
(<a\s[^>]++href=)\1$AV((
http:// (www.|)amazon.co.jp/*)\2あふぃあいでぃ\3)
Replace
\1"\2てきとうなもじれつ\3"
あとは「あふぃあいでぃ」の部分を正規表現で書き、inputタグなどにも対応させれば完成です。
追記、
フィルタを書くときに$NESTが本当に必要なケースというのは滅多にないです。
普段フィルタを書き慣れていない方が$NESTを乱用するのはあまり好ましくありません。
>>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>
にマッチさせているわけです。
>>876 それらのフィルタには、いくつか改善すべき点があると思います。
・<start> <end> は先頭/末尾にあるHTMLタグに置き換える
・URLマッチに $TYPE(htm) を加える
理由は、>881-882で説明したとおりです。
最終的にどちらのコードが良いかは、スクリプトが読めない私にはアドバイスできません…。
>>860 > せめて[]内で小文字大文字区別してくれれば誤爆は格段に減るだろうになんでこんな仕様なんですか('A`)
HTML4.01では、タグの 大文字/小文字 を区別しませんから…。
ちなみに、「Far East Patch」を適用済みであれば、大文字/小文字を区別する方法はあります。
[a-z] は [a-zA-Z] に等しく、[%61-%7a] は [a-z] に等しい。
こういうやり方でどうでしょうか?
ただ、ファイル名の「大文字/小文字」の区別を活用しているサイトを見たことがありませんし、そこまで厳密にチェックする必要があるのか疑問に思うところはあります。
【教えて君は】ニコニコ動画専用オミトロン【半年ROMれ】
http://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"
>>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"
今まで使ってた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(
http://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=
http://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="
http://youtube.com/get_video.php?\0 ">[[[ Download ]]]</a>\n</div>\n$STOP()"
>>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コードが肥大化したためにマッチしていませんでした。
>>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";"
機能しなくなってしまいました
お願いします
>>888 のだとこの動画ページでダウソリンクがページ下に隠れてしまったので
動画の直下にリンクを表示させるようにいじりました。
ttp://www.youtube.com/watch?v=5wGMn8fbmQs [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等にバージョンアップしてもマッチするように修正。
>>893 DLするとget_videoってなるのはようつべの仕様なの?
拡張子をflvに自分で直す
>>891 > [HTTP headers]
> In = FALSE
> Out = FALSE
そりゃ機能しないだろ
ワラタ
>>894 そうです。
>>891 を入れてInにチェックすれば動画毎に違うファイル名になるからおすすめ。
>>891 In = TURE にしてみたけど効いてない気がする
&に関する疑問。 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">
> 1. (*http-equiv=$AV(refresh)&*content=$AV(*)\1*) "(*)"の括弧は$AVの引数を括る括弧であって 変数\1に取り込む範囲を指定する括弧ではないぞ。 君の期待しているのは多分こうだ。 (*http-equiv=$AV(refresh)&*content=($AV(*))\1*) 勿論、その場合でも、 > \1の中身が違うのはどうして? \1にクォートが含まれる/含まれない の違いは発生するけどな。 (君の言う「違う」はそういう事ではないだろう)
>>899 俺もきかないなぁと思ったら
キャッシュ残ってた。
キャッシュ消したり別のやつだと動くはず
>>902 キャッシュクリアしてもだめだったんだけど
もう一度クリア、ちゃんと全部読み込んでダウンロードするといけますた。
>>879 bar-22で登録されてたとしてfoobar-22になれば(foobar-22が登録されてなければ)反応しないわけですね
[^>?=/]++-22の部分を消すことに躍起になっててそっちに考えが向かなかったようです
>>880 うーん何故かほぼ機能しません・・・
ログウィンドウでは大半のRefererが消えてるんですけど。ヘッダフィルタはまだよくわからない・・・
下のiframe to dynamic linkで代用しますね
>>884 ありがとうございます
書き直しでなく書き足しでもOKなら
>>879 の方法でやろうかと思います
[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にアフィ仕込んでるサイトも見かけたけど特例だろうしそっちは放置でもいいかなと
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 :2007/05/25(金) 18:14:18 ID:vzSM7iVr0
908 :
900 :2007/05/25(金) 22:31:42 ID:2JakyLnI0
>901 どうもありがとうございます。 ()は階層化のために使うものという考えがくせになってしまったようで……。 (*http-equiv=$AV(refresh)&*content=($AV(*))\1*) だと quot が増えてしまうので、 (*http-equiv=$AV(refresh)&*content=$AV((*)\1)*) だとよさげかもです。
[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"
"_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
>>908 $AV((*)\1)
=
$AV(\1)
>>886 の2で頭じゃなく尻の方の</html>に引っ掛けるってのは何でなんでしょ?
>>912 最後に代入したのが優先されるからでしょ。
でも、</html>が無かったり、2つあるサイトがあるんだよね(ほとんどがアダルトサイト)。
さらに、</html>のあとにスクリプトを自動挿入してるところもある。
914 :
877 :2007/05/26(土) 07:46:47 ID:LJpc5aE+0
>>881-882 遅くなりましたがどうもありがとうございました。
HTMLページの場合でも文書先頭に挿入してはいけない場合もあるのですね。
>>905-906 それだと"-22"を含むドメイン全てにマッチしてしまいます。 amazon以外の所にもです。
$AV()の中の表現を書くのは難しいのでamazonのアフィリエイトURLの全ての種類をここに
貼って頂けたらこちらで最適化しようと思いますがどうでしょうか。
916 :
877 :2007/05/26(土) 08:42:42 ID:LJpc5aE+0
>>914 に書いた
>それだと"-22"を含むドメイン全てにマッチしてしまいます。 amazon以外の所にもです。
は間違いでした、プロトコル部分が無いのでマッチしません。 失礼しました。
>>915 どうもありがとうございます。 そのフィルタは
・ディレクトリ型
・?tag型
の2つ(+URLエンコード)に対応しているようですが、
>>905-906 に書かれている.gifが出てきてませんね。
この.gifとはどういうURLにマッチさせたいのかが分からないままなのでやはりURL一覧を貼って頂けると助かります。
アマゾンのアフィリンクはディレクトリ型と?tag=IDの2つだけだよ。 少し前にアマゾンストアに入店しただけで紹介料が発生したけど、すぐ廃止された。 .gifなんてのは無い。
918 :
877 :2007/05/26(土) 09:30:09 ID:LJpc5aE+0
ニュー速+など一部の板で 2ch Back Ground Changerが効かなくなってしまいました どこを書き換えればよいか教えて下さい
>>913 ああ、単純に頭に置くとその先で上書きされて無効になってしまう事もありえるからですか
>>918 なんというのかわからないけど検索ボックスと言うのかな
自分は使わないしここは意味ないのかもしれないけどソース見ててなんとなく気になったから対応させておきました
ttp://www.golgo31.net/ この中のお勧め商品リンクの上のやつですね
意味ないなら.gif云々の部分削っちゃってもいいんですけど
Icestream のページでいつも文字化けします。
文字コードをShift_JISにしないといけないと駄目なんですけど、
http://203.131.199.131:80**/ のURLのとき、meta タグのcharsetを
Shift_JIS に置き換えればうまくいくのではないかと考えております。
しかし、そのフィルターが完成できません。どなたか作成願えませんでしょうか
923 :
922 :2007/05/27(日) 23:33:43 ID:HD5RdDDu0
お、書き忘れてしまった(;´Д`) ** の部分のポート番号には 8000 〜 8100 の間があります。 どうかよろしくお願いしますm( )m
> ** の部分のポート番号には 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" />" (常時ではないが)本文中に複数の文字コードが混在しているようだし、 どうあれ化けるときは化けると思うけど。
書き換えないで消しちゃえば?
926 :
877 :2007/05/28(月) 19:50:24 ID:CYLPpgkz0
>>921 ありがとうございます。 なるほど、.gifは検索フォームのボタン画像のURLでしたか。
ttp://www.golgo31.net/go-button.gif?tag=golgo31-22 ちなみにこのボタンのGIF画像(GO)はゴルゴ31サイト内にある画像なので
これにアフィIDを付けてもamazonには認識されまぜん。
つまりこの画像にアフィIDを付けてもサイト主さんには何のメリットも・・。
よってフォーム部分で書き換えなければいけないのは
<input name="tag" value="golgo31-22" type="hidden">
のところだけですね。
>>915 さん紹介のフィルタが秀逸なのでそれを利用させてもらって書いてみます。
927 :
922 :2007/05/28(月) 21:08:39 ID:XtYk8PSY0
>>924-925 おーー!すげぇええ!ありがとうございます!
>>924 さまのフィルタと
>>925 さまのアイデアを合成して文字化けが見事
無くなりました。僕はこのページを訪れるたび文字コードを変換する手間
を一年以上続けていた気がします。
>「**の部分」、じゃなくて、ポート番号部分全体が、だよな?
>(ポート番号の有効範囲は 0 〜 65535 だし)
すみませんでした。 ここのページは 8000, 8010, 8020, ... というよう
にプラス10刻みで8100まで、合計10ページ(?)あるのです。
どちらにしても説明が下手糞だな(;´Д`)
ありがとうございました!
その悩んでいた時間をマッチングの学習時間に割り当てた方がしあわせになれる。 文字コードを強制的に変更させるのは別に難しくないしなー。
ニコニコダウンロード追加フィルタきぼんぬ
930 :
877 :2007/05/29(火) 15:50:39 ID:IJXIlbvO0
>>921 試作品が出来たので公開ます。 動作確認が不十分なので人柱版ということで。 効かないページがあればご報告下さい。
メンテのしやすさの面からリンクとinputを別々のフィルタにしました。
それとWEBフィルタでアフィ判定するのには限界があるので
>>915 さん紹介のフィルタを併用することをお勧めします。
WEBフィルタでの判定はサイト主がその気になれば簡単に回避されてしまいますので。
[Patterns]
Name = "Amazon Affiliate Kill - link [2007-05-29]"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 2048
Match = "(<a\s[^>]++href=)\0$AV((http(s|)://([^/]++.|)amazon.(co.jp|jp|com)(:[0-9]+{1,5}|)[?/]"
"(((e|%65)(x|%78)(e|%65)(c|%63)/(o|%6f)(b|%62)(i|%69)(d|%64)(o|%6f)(s|%73)|(o|%6f))/"
"(A|%41)(S|%53)(I|%49)(N|%4e)/[0-9A-Z%]+{10,30}/|*(\?|%26|%3f|\&(amp(;|)|))(t|%74)"
"(a|%61)(g|%67)(\=|%3d)))\1([0-9a-z_%-]++{1,*}(-|%2d)(2|%32)(2|%32)"
"(^[a-z0-9]|%((3[0-9])|[46][1-9a-f]|[57][0-9a]))*)\2)"
Replace = "\0"\1AAK\2""
[Patterns]
Name = "Amazon Affiliate Kill - Form input [2007-05-29]"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 512
Match = "<form\s[^>]++action=$AV(http(s|)://([^/]++.|)amazon.(co.jp|jp|com)(:[0-9]+{1,5}|)/*)$SET(amazonF=on)(^?)"
"|<input\s(([^>]++value=)\0$AV(\1-22)([^>]+)\2(^(^>))&&[^>]++name=$AV(tag)*)$TST(amazonF=on)"
"|</form(\s*|)(^(^>))$SET(amazonF=)(^?)"
Replace = "<input \0"AAK\1-22"\2"
とりあえずみんなフィルタまとめてWikiにあげてよ。
どんどんいろんなフィルターが追加されて何が必要かさっぱりわからん状況・・・ 最近グーグルAD更新された?結果にスポンサーの枠がよくでるようになった
933 :
877 :2007/05/30(水) 12:29:54 ID:gxpyCAit0
おかしな挙動に遭遇したから報告。
[Patterns]
Name = "test ABC\0(^(^E))"
Active = TRUE
Limit = 256
Match = "ABC\0(^(^E))"
Replace = "ABC[\0]"
テスト用文字列: ABCDEF
結果: ABC[DEF]
結果は "ABC[D]" になるものと思っていたら何故か "F" までの文字列が代入されていた。
後ろに "E" があるかどうかの判定は出来ているが、代入時に "\0" が最長一致になっている模様。
>>929 think氏のサイトにありましたよ。
>>1
935 :
877 :2007/05/30(水) 23:22:27 ID:gxpyCAit0
>>934 私がおかしいなと思った点は "(^(^E))" が後ろにあり、かつ "(^(^E))" にマッチしているにも
関わらず最長一致になることです。 ここに違和感を感じるのは自分だけかな。
ポート番号はマッチ判定する上で重要ではないので80に絞る必要は無いです。
httpsの場合は80じゃなく443になったりしますし。 今のところこの2つに絞っても問題無いですけど。
>「amazon.co.jp:000080/」とか「amazon.co.jp:/」
こういう書き方は他にも色々出来ますが対応させてたらキリが無いので・・・。
>ヘッダフィルタだとポート番号は無視される
これは無視されません。 お使いのブラウザがURLからポート番号(80)を消してるだけだと思います。
>
>>915 が少し修正されてる。
あれれ、
>>930 は修正前のフィルタを元に書いたものなのでこちらも修正が必要かも。
>>933 詳しい原理は知りませんが、「アスタリスクの後に肯定先読みor否定先読みを置いても期待通りに動作しない」という印象を持っています。
ですので、
Match = "ABC\0(^(^E))"
は
Match = "ABC\([^E]+)0(^(^E))"
と書くことで、解決するのが妥当な線だと思います。
(解決法ではなく、原理を知りたいのだと思いますが、当座の打開策として書いておきます)
937 :
877 :2007/05/31(木) 00:48:58 ID:/3xElFsc0
>>936 ありがとうございます。 その方法は
>>930 の2つ目のフィルタで使いました。(Match欄の2行目)
3行目にも使うべきところがあったので後で修正しておきます。
原理は不明ですが動作的には下の2つは同じようです。
Match = "ABC\0(^(^E))"
Match = "ABC(\0&*E)"
>Match = "ABC\([^E]+)0(^(^E))"
これは Match = "ABC([^E]+)\0(^(^E))" ですねw
938 :
877 :2007/05/31(木) 00:53:21 ID:/3xElFsc0
>>930 を更新しました。
>>915 のフィルタの修正に対応、その他の微修正。
[Patterns]
Name = "Amazon Affiliate Kill - link [2007-05-31]"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 2048
Match = "(<a\s[^>]++href=)\0$AV((http(s|)://([^/]++.|)amazon.(co.jp|jp|com)(:[0-9]+{1,5}|)[?/]"
"(((e|%65)(x|%78)(e|%65)(c|%63)/(o|%6f)(b|%62)(i|%69)(d|%64)(o|%6f)(s|%73)|(o|%6f))/"
"(A|%41)(S|%53)(I|%49)(N|%4e)/([^?]++/)++|*(\?|%26|%3f|\&(amp(;|)|))(t|%74)"
"(a|%61)(g|%67)(\=|%3d)))\1([0-9a-z_%-]++{1,*}(-|%2d)(2|%32)(2|%32)"
"(^[a-z0-9]|%((3[0-9])|[46][1-9a-f]|[57][0-9a]))*)\2)"
Replace = "\0"\1AAK\2""
[Patterns]
Name = "Amazon Affiliate Kill - Form input [2007-05-31]"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 512
Match = "<form\s[^>]++action=$AV(http(s|)://([^/]++.|)amazon.(co.jp|jp|com)(:[0-9]+{1,5}|)/*)"
"$SET(amazonF=on)(^?)|<input\s(([^>]++value=)\0$AV(\1(-|%2d)(2|%32)(2|%32))"
"([^>]+)\2(^(^>))&&[^>]++name=$AV(*(t|%74)(a|%61)(g|%67))*)$TST(amazonF=on)"
"|</form(\s[^>]+|)(^(^>))$SET(amazonF=)(^?)"
Replace = "<input \0"AAK\1-22"\2"
939 :
877 :2007/05/31(木) 01:02:10 ID:/3xElFsc0
>>937 に追記、これも同じ動作。
Match = "ABC(*E*)\0"
ブラクラ対策フィルタってもうないの? よく張られてる奴は消えちゃってるんだけど
誤爆が多く使い物にはならん 素直にキルURLファイルに登録したほうが安全
tableタグが5個以上あると消すみたいなフィルタ欲しい。 table大量に書いて処理落ちさせるブラクラ怖いよ
どなたか、目欄が空白の書き込みを削除するフィルターを作っていただけないでしょうか? お願いします
>942 table が入れ子で5つ以上ってこと? 単純に、1ページ中に table が5つ以上あったら消すってことになると 多くのサイトが消えてしまいそうだが……。 デフォルトのフィルタだったかに、多重階層の table をどうこうするフィルタがあったと思う。 "Kill Excessively Nested Tables" ってのが検索でかかったけど、これだったっけか?
>>943 とりあえずIEで確認。
Name = "test"
Active = TRUE
URL = "[0-9a-z]+.2ch.net/"
Limit = 100
Match = "<dt>[0-9]+ [%81][%46](^<a href=$AV(mailto:*)>)"
Replace = "<dt style="display: none;">"
>945 サンクス 書き忘れたんだけどfirefox+bbs2chreader新バージョン用でお願いしたいです ↓自分で変えてみたんだけどこれだとだめでした Name = "test" Active = TRUE URL = "localhost:8823/" Limit = 100 Match = "<dt>[0-9]+ [%81][%46](^<a href=$AV(mailto:*)>)" Replace = "<dt style="display: none;">"
目欄が空白の書き込みとか専ブラ使おうぜ
スレ違いになっちゃうけど、専ブラだと空白の書き込みもあぼーんできるんですか?
そもそも専ブラ使わないで2ch見るほうがおかしいと思うけど。
>>944 デフォルトのフィルタじゃ見つからなかった。
よかったらそのフィルタのコードコピペして欲しい。
ある意味専ブラだと思うよ。 bbs2chreader+Foxage2chで専ブラの機能は果たしているだろう。
>949 どうやら toc 氏のブラクラ対策フィルタの中にあったもよう。 サイト閉鎖済だし、Internet Archive にも google のキャッシュにも見つからなかった。 誰かが保存していたら転載してもらうか、新規に書くしかなさそう。
これ? [Patterns] Name = "Kill Excessively Nested Tables (2002/05/14)" Active = TRUE URL = "^$LST(SafeList)" Bounds = "< (/|) table [^>]+>*< (/|) table [^>]+>*< (/|) table [^>]+>*< (/|) table [^>]+>* < (/|) table [^>]+>*< (/|) table [^>]+>*< (/|) table [^>]+>*< (/|) table [^>]+>*< (/|) table [^>]+>*< (/|) table [^>]+>" Limit = 2000 Match = "< table [^>]+>*< table [^>]+>*< table [^>]+>*< table [^>]+>*< table [^>]+>*" "< table [^>]+>*< table [^>]+>*< table [^>]+>*< table [^>]+>*< table [^>]+>" "$SET(#=<font size=1 color=red>[Excessively Nested Tables Found]</font>\k)" Replace = "\@"
toc氏って Replace = "\@" が好きだよな 懐かしい
Wikiのヘッダーなんだよ
>>952 そのフィルタ正常に動作していますか?
<table>
<table><table><table><table><table><table><table><table><table><table>
</table></table></table></table></table></table></table></table></table></table>
</table>
をテストウインドウでテストしても、マッチしないのです。
また、<table> の入れ子をチェックしていないように見えます。
# <table> が入れ子で5つ以上存在するとき、<table> を削除した上で、以降の接続を切断するフィルタをWikiに投稿しておきました。
AntiBrowserCrasher - Proxomitron等に関するWiki
ttp://abc.s65.xrea.com/prox/wiki/AntiBrowserCrasher/#j272fb3d
変数で階層をカウントしないとだめかと思ったものの、こんなやり方があるんだね。 (^</table>)?)++ これは汎用的に使えそうなテクニックだね。
>>961 >958-959のブラクラは防げているので、良いと思います。
厳密には、「Local File Access Killer (2003/05/19)」で
<img title="file:///C:/test/test.html" src="./test.png">
にマッチしてしまう点が望ましくないですが…。
think暇だな。 一体何時間張り付いてるんだよ。
>>963 conという名前のディレクトリは作れないんじゃない?
966 :
名無しさん@お腹いっぱい。 :2007/06/01(金) 22:27:15 ID:+OqPkeGU0
967 :
966 :2007/06/01(金) 22:48:15 ID:+OqPkeGU0
>>965 htmlにパスを書き込めれば、conconバグが誘発されるので、ディレクトリを作る必要はないと思います。
conconクラッシャー対策って必要なのか? NT系OSだと無効だが
物理的ブラクラなんて年単位で遭遇してない気がするけど、今さら対策必要?
googleの検索結果の表示に、日本語とローマ字があった場合 ローマ字のみにクリアタイプが効いてしまって読みづらいんですが 何とかなるフィルタありませんか?
>>972 いえ、ずっとie6です
リンク先見せてもらいましたけどie6だと
その項目すらないんですね
いつ頃かは覚えてないんですけどある日を境に
ローマ字だけクリアタイプかかった状態になったんです
昔、特定の文字コードのページだか、 ブラウザで英語圏の言語を最優先にしてると、 英字部分がTimes New Romanになったことがある。 関係ないか。
975 :
966 :2007/06/02(土) 02:34:09 ID:7UwZaQ1R0
おねがいします
リストに入ってるサーバーの場合セキュリティソフトとかで、 リファラを遮断するような設定でも強制的に リファラを送るフィルタ見たいなのが欲しいんだけどそういうのないかな?
オミトロン→そのソフト→サーバ だとどうしようもないが、 そのソフト→オミトロン→サーバ だと、既にRefererが消えているのでどうしようもない
978 :
965 :2007/06/02(土) 08:10:28 ID:3lmXyOmh0
>>968 ごめんそういう意味じゃない。
> <img src="c:/con/contact.html"> にマッチする意図
こんなパスは存在しないし、パスを指定している時点でそのページを疑った方が良い。
>>969 ブラクラページは1種類だけじゃなくて数十種類も仕掛けてることが多い。
ニュース速報系の板でそういのをよく見かける。
conconは目印にし易いから、その時点で\kすれば、他の未知のブラクラも防げる可能性がある。
ブラクラ発見 p://up.uppple. com/src/up3411.jpg
ソース見てみたらconconとかtelnetとか・・ 古典的すぎてワロタw
フィルターまとめサイト作った方が良くないか?
wkikiでいいじゃん
よろしくお願いします。
無意味に情報を分散させるのは愚者のやること
Wikiのフィルタ、リスト一覧なんて数あるフィルタの極僅かじゃん
>>978 そういうことでしたか。
こちらこそ、早とちりしてすみません。
指摘された件ですが、UNIXでもデバイス名の制約を受けるのでしょうか?
制約がないとしても、Windowsのデバイス名を指定すべきではないということかもしれませんが、少し気になりました。
このスレの過去スレを集めたWebってないかい?
やってみればいいじゃん。 新しいうpろだだって最初はイラネって言われてたけど今ではこっちが主役な感じだし。 ただ、他人まかせにするつもりなら誰もやってくれないだろう。
991 :
名無しさん@お腹いっぱい。 :2007/06/03(日) 17:35:59 ID:RZ6xv2+x0
wkiki age
992 :
名無しさん@お腹いっぱい。 :2007/06/03(日) 17:44:56 ID:K1bYT2tX0
993 :
名無しさん@お腹いっぱい。 :2007/06/03(日) 17:45:15 ID:9vsiz++f0
994 :
名無しさん@お腹いっぱい。 :2007/06/03(日) 17:45:37 ID:+H5gt8nA0
995 :
名無しさん@お腹いっぱい。 :2007/06/03(日) 17:45:51 ID:X3G4Nv+G0
996 :
名無しさん@お腹いっぱい。 :2007/06/03(日) 17:46:05 ID:NTi+Hq7Z0
997 :
名無しさん@お腹いっぱい。 :2007/06/03(日) 17:46:21 ID:RWhASQyL0
998 :
名無しさん@お腹いっぱい。 :2007/06/03(日) 17:46:46 ID:hT7fB/A10
999 :
名無しさん@お腹いっぱい。 :2007/06/03(日) 17:47:23 ID:97JgZM3T0
↓1000取り馬鹿
\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!! ,,、,、,,, /三√ ゚Д゚) / \____________ ,,、,、,,, /三/| ゚U゚|\ ,,、,、,,, ,,、,、,,, ,,、,、,,, U (:::::::::::) ,,、,、,,, \オーーーーーーーッ!!/ //三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧ ∪ ∪ ( ) ( ) ( ) ) ,,、,、,,, ,,、,、,,, ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧ ,,、,、,,, ( ) ( ) ( ) ( )
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。