[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 07/13 16:46 / Filesize : 334 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Proxomitron フィルター作成スレッド Part8



1 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/02(日) 03:02:52 ID:1l6Tk/UJ0]
このスレは作成依頼されたフィルタを有志により作るスレッドPart8です

Proxmine - Uploader
wind.prohosting.com/proxmine/cgi-bin/uploader/
Proxomitron専用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/

>>2-10にいろいろと

528 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 18:58:56 ID:JVJTtG3g0]
>>525
> その他のフィルタと何らかの干渉があるのかもしれないです。
検証時に少し気になったのですが、>524はフィルタ適用後のソースですよね?
(私が作成したフィルタが出力したと思われるHTMLが混じっていたので)

HTMLソースをテストにかけるときには、Proxomitronを通さないバイパス状態のHTMLでテストするのが一番いいです。
フィルタリング後のソースに対してテストするということは、干渉すること前提の検証になってしまいます。
Web制作者が作ったそのままのHTMLでテストした後に「フィルタが干渉しないようにするにはどうしたらいいか」を考える方が無駄が少ないと思います。

# 私の環境では>523のフィルタで ttp://202.212.88.55/psp/chabo.cgi の広告を削除できているので、
# 問題があったとしても原因がどこにあるのかが判断できないでいます。

次にまた問題が発生したら、バイパス時のソースで試してみてはどうでしょうか。
自分で考えてわからなければ、また一緒に考えてみましょう。

529 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 19:29:52 ID:2dXZFCkK0]
>>527
ありがとうございますっ。
今回のフィルタで完全にフィルタが見えなくなってましたっ(≧▽≦)
Boundsのほうがなんとなく安心して使えるような気がします。

ただ、掲示板群全部を対象にしたいので、URLのマッチについては
$TYPE(htm)202.212.88.55/|techside.in.arena.ne.jp/ に変更してみましたっ。

 この掲示板群で、唯一改行が完全に入ってる202.212.88.55/ch/chabo.cgiだと、もとのフィルタで問題がなかったのですが、全てが一行になってるほかの掲示板では機能しなかったのです。
それから、アマゾン部分を抜き出しただけでは機能するのですが、このソースの最後に、一つ以上「'」をつけると、いきなり機能しなくなります。
このことが、「'」が原因じゃないかと自分が考えた理由です。
>>526のソースも、全ての改行を削除して、最後に「'」の一文字だけを追加するだけで、Proxomitron側のテストでも、合致なしとなってしまいます。(バージョンはNaoko 4.5(2003-6-1)+6です。


あと、デフォルトのソースだとIPアドレスがそのまんまソースに乗ってしまうので、ついフィルター後のをアップしてしまいました。
一応、全て一行になっている、Proxomitronを通さないソースもアップしときます。(undonuts使ってるので切り替えは楽なので。)
IPアドレスだけはIPアドレスと書き換えておきました。こっちのソースで試しても、もとのフィルタではもちろん駄目でした。上記条件でも全く一緒でした。

www.uploda.org/uporg1245745.zip.html


それにしても、掲示板にアクセスしただけで自分のIPがソースに載るってことは、投稿時か何かに使われるってことですかね?


530 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 19:36:01 ID:2dXZFCkK0]
>>528
あっと、>>523のフィルタの場合、私の環境でもほとんどの場合問題がないです。大体削除できています。
でも、何度もクリックしていると、「'」のあるリストだけは削除されずに表示されるのです。

初見の場合はもちろん気づかないのですが、このサイトのユーザー的には一日に何度も見るので気にかかってたのでした。
この掲示板群のあるサイトについてですが、この一言形式の掲示板はこのサイトの主催者が自分でソースを改造したりして作ってて、URLとかも独自なものとなってます。

531 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 19:54:16 ID:2dXZFCkK0]
>>530
違った。

>あっと、>>523のフィルタの場合、
ではなくて、>>522のフィルタの場合。でした。
>>523の場合はこっちで試して結果は同じです。(アフィリエイトIDなので、アフィ内のhの文字を抜いておきましたが、抜く前でも抜いたあとでも結果は同じでした)
(改行は全て削除して試した場合です。最後に「'」を入れてます。外すと合致します。)

<table width="600" border="0" align="center" cellspacing="2"
cellpadding="4"><tr><td><small>■ おもちゃ&ホビー−トップセラー(Amazonアソシエイト)
○<a href=www.amazon.co.jp/exec/obidos/ASIN/B000S0H06O/tecside-22 target="_blank">Figma 涼宮ハルヒの憂鬱 長門有希 制服ve</a>
○<a href=www.amazon.co.jp/exec/obidos/ASIN/B000K7UO5O/tecside-22 target="_blank">アクションフィギュアコレクション+ToHea</a>
○<a href=www.amazon.co.jp/exec/obidos/ASIN/B000YDWH4K/tecside-22 target="_blank">HG グラハム専用ユニオンフラッグカスタ</a>
○<a href=www.amazon.co.jp/exec/obidos/ASIN/B000GQ3PB4/tecside-22 target="_blank">魔法少女リリカルなのはA's フェイト・テ</a>
○<a href=www.amazon.co.jp/exec/obidos/ASIN/B0013DCFRO/tecside-22 target="_blank">P:キャラ 涼宮ハルヒの憂鬱 涼宮ハルヒ</a>
○<a href=www.amazon.co.jp/exec/obidos/ASIN/B000XA45M6/tecside-22 target="_blank">デスノート ねんどろいど L トナカイVer.</a>
○<a href=www.amazon.co.jp/exec/obidos/ASIN/B000XA76AO/tecside-22 target="_blank">デスノート ねんどろいど 夜神月 サンタV</a>
○<a href=www.amazon.co.jp/exec/obidos/ASIN/B000K7UO5Y/tecside-22 target="_blank">アクションフィギュアコレクション 機動戦</a>
○<a href=www.amazon.co.jp/exec/obidos/ASIN/B000VI34SQ/tecside-22 target="_blank">マビノギ ねんどろいど ナオ (ノンスケー</a>
</small></td></tr></table>'

532 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 19:58:48 ID:IsgBG2QX0]
>>529
ソースにリモホ出してる意味はわからないけど、それとそのIPを使うかどうかは別問題というか
そもそもTCP/IPで通信するならこちらのIPを通知しないと通信が成立しないから。
(初対面の人にこちらの住所書かないで「必ず返信ください」って葉書出してもムリなのと同じ)
リモホを公開ページ上で利用するかしないかは管理人次第だけど、まぁ、要するに全く別問題。

このリモホを表示するってのはこの『ChaBo』っていう掲示板CGI自体の初期仕様だね。
TECHSIDEの中の人が意図的に表示してるわけではないみたいよ。

>>530
> URLとかも独自なものとなってます。
なんのこっちゃ?
ぶっちゃけTECHさんは何も改造してないみたいだぞ。
ていうか改造してるとかしてないとかオリジナルかどうかとか、フィルタ書くのに関係ないよね?
必死に何かを伝えたいようだが、何を伝えたいのか理解に苦しむ。
わけわからなくなってるのは俺だけかもしれないけど…。そうなら、ごめん。
ちょっと一度落ち着いてからにした方がいいんじゃないかな。

533 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 20:07:45 ID:2dXZFCkK0]
>>532
そかぁ。
門外漢なので、テンションあげないとなかなか新しい試みをするのが大変なのでした。
他人じゃなくてアクセスした自分だけのIPが自分だけに表示されるのってのが、あんまりそういうのソースだけに乗ってるのがひっかかるなぁと思ったのです。
管理人次第ということはやっぱ使えることは使えるのかもしれないですね。
このところで202.212.88.55/の202.212.88.55ってIPアドレスはTECHSIDE以外でも普通に使われてるアドレスになのかはわかります?
独自といったのは、独自だからフィルタを作るうえでURL限定にしてるだけで、誤爆の危険がほとんどないなぁと思ったわけなのです。独自だと思ったのは経験上の推測ですけどね(`・ω・´)

534 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 20:29:59 ID:IsgBG2QX0]
>>533
なるほど、URL Matchの誤爆を警戒してたのね。
TECHSIDEは共用サーバで済むようなアクセス規模じゃないから、専用サーバだと思う…多分。
そうでないとしても、thinkさんみたいに/chabo.cgiまで見るMatchなら実用上問題はないでしょう。

で、確かにケツにシングルクォートを付けると突然Matchしなくなるのはこちらでも確認…
なんでだろう。

俺個人としてはAmazonのURLまで見なくてもURL Matchとwidth="600"を見るだけで
実用上誤爆の危険はほぼ皆無と踏んでるので、これくらいシンプルに書いちゃう。

[Patterns]
Name = "TS: Hide amazon ad [2008/02/11]"
Active = TRUE
URL = "(202.212.88.55|techside.in.arena.ne.jp)/*chabo.cgi $TYPE(htm)"
Limit = 64
Match = "<table width="600"[^>]+"
Replace = "<table style="display:none""

これで、全てのページで動作するのは確認できました。
多分thinkさんは妥協しないでしょうがwもし妥協するならこれでどうでしょう?

535 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 20:34:48 ID:IsgBG2QX0]
いや、ていうかあれか。もうなんでケツに'が付いてると動作しないのかを
ひたすら検証する流れになってるのか。なんかくらくらしてきた。

ごめんなさい。俺が悪かったですorz

536 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 20:56:39 ID:MWE86p/20]
$NESTに>510のような仕様があったなんて……。
ちょうど対策に困っているフィルタがあるので、ひとつ改善を依頼してみます。

Name = "invisible frames to links1 (2007.06.04)"
Active = FALSE
URL = "(^$KEYCHK(f))&($TYPE(htm)|$TYPE(js))"
Bounds = "$NEST(<frameset,</frameset>)"
Limit = 3072
Match = "*(cols|rows)=$AV("
"( (0%|[01])\1 , \2| (^0%|[01])\1 , (0%|[01])\2| (100%)\1 , (0%|[01]|\*)\2| (100%|\*)\1 , (0%|[01])\2) "
"((,*)\7$SET(frame3=<p>[more frames found]</p>\r\n)|)"
")"
"*<frame\s(([^>]++name=$AV(\3)|$SET(3=no-name)&[^>]++src=$AV((?*)\5)|$SET(5=about:blank)"
")$SET(frame1=<p>[frame - &quot;\3&quot; - \1]<br>\r\n<a href="\5">\5</a></p>\r\n))"
"(*<frame\s(([^>]++name=$AV(\4)|$SET(4=no-name)&[^>]++src=$AV((?*)\6)|$SET(6=about:blank)"
")$SET(frame2=<p>[frame - &quot;\4&quot; - \2]<br>\r\n<a href="\6">\6</a></p>\r\n)"
")|$SET(frame2=<p>[frame not found]</p>\r\n))"
"(*<frame\s$SET(frame3=<p>[more frames found]</p>\r\n)|)"
"*"
Replace = "<body class="invisible-frames">\r\n<p>invisible frames found</p>\r\n"
"$GET(frame1)$SET(frame1=)"
"$GET(frame2)$SET(frame2=)"
"$GET(frame3)$SET(frame3=)"
"</body>"

アクセス性の向上を目的としたフィルタ。
UAに表示されるURLを固定させるために見えないフレームを使っているサイトがあり、
これらのサイトで「戻る」動作をすると、戻りたくない場所まで戻ることがある。
このフィルタは、フレームをアンカー化することにより見えないフレームを可視化する。



537 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 21:00:41 ID:2dXZFCkK0]
>>534-535
ありがとですっ。
$NESTはなんとなく今回謎の挙動をしたので、$NESTは外した形で、フィルタは>>527で完璧だと思うのですが、
自分がじっくり見たソースがもとにした新しいフィルタをみるのは勉強になりますね。
>>1のProxomitron等に関するWiki でマッチングルールとにらめっこしてても、イマイチ理解できないというかどうもさっぱりなのですが、新しく書いてくれたのを見ると
前のと見返して、なるほどと思える部分があっていい感じなのです。
$NESTを使う意味については>>510で教えてもらったページを読んでもまだしっかりとわかってないのですが_| ̄|○

538 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 21:02:12 ID:MWE86p/20]
誤爆する例。
内側のframesetにのみマッチすると想定通りの結果が得られるが、
外側のframesetにまでマッチしてしまう。

<frameset rows="89,*" border="1">
<FRAME name="topFrame" height="89" scrolling="NO" noresize marginheight="0" marginwidth="0" src="head.htm">
<FRAMESET rows="50%,0" frameborder="NO" border="0">
<FRAME name="mainFrame" marginheight="0" marginwidth="0" src="main.htm">
<FRAME name="voice" src="voice.htm" noresize scrolling="NO">
</FRAMESET>
<NOFRAMES><P>このページを表示するには、フレームをサポートしているブラウザが必要です。</P></NOFRAMES>
</frameset>

考えられる対策
・バイト制限。ただし、根本的な対策にならない。
・$NESTを使わない。
・$NESTを使いつつ、条件を改善する。
できれば$NESTを使えるほうが速さを落とさずに済むような気がします。

539 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 21:09:17 ID:glm8Ht4E0]
$NESTを使えば早くなるという嘘を広めてるのは誰なんだ。

540 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 21:12:05 ID:JVJTtG3g0]
>>529
> 全てが一行になってるほかの掲示板では機能しなかったのです。
どうやら、これが原因みたいですね。
>531のHTMLを一行にして、テストウインドウで検証すると興味深い結果になりました。

■>523のフィルタの場合

- HTMLソースの一部に改行を含むと、マッチする
- </table> の直後に ' を挿入するとマッチしない
- </table> の直後に改行以外の文字を挿入して、その後「'」を挿入するとマッチしない (例) </table>test'

■回避策
$NEST を $INEST に変更することで、問題を回避できるようです。

[Patterns]
Name = "TS: Kill amazon affiliate ad [$INEST] [2008/02/11] test1"
Active = TRUE
URL = "$TYPE(htm)(techside.in.arena.ne.jp/|202.212.88.55/)*/chabo.cgi(^?)"
Limit = 4096
Match = "<table(\s|>)$INEST(<table(\s|>),"
"*<a\s[^>]++href=$AV((http://(www.|)amazon.(co.|)jp/([\%0-9a-z~]+{1,*}(-[\%0-9a-z~]+{1,*})+{1,*}/|)"
"(dp/[\%~0-9%41-%5a]+{10}/|exec/obidos/ASIN/[\%~0-9%41-%5a]+{10}/|gp/product/[^/]+/)[^/-]+-22(/|)"
")\0)"
"*,</table>)</table>"
Replace = "<!-- Kill Kill amazon affiliate ad: \0 -->"

>>534
> 多分thinkさんは妥協しないでしょうがw
別に対抗意識を燃やしたわけじゃないんだか(ry

541 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 21:17:51 ID:IsgBG2QX0]
>>540
いやいや、変な挙動をすると原因と対策がわかるまでとことん調べてくれるのは
いつもthinkさんなので…。そういう意味で、妥協しない、と。変な意味じゃないんですよ。
いつも勉強になってます。

542 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 21:31:26 ID:JVJTtG3g0]
>>531
> 202.212.88.55/の202.212.88.55ってIPアドレスはTECHSIDE以外でも普通に使われてるアドレスになのかはわかります?
Nslookupするとわかりますが、techside.in.arena.ne.jp と 202.212.88.55 は同じ場所です。
なので、202.212.88.55 も独自と見ていいと思います。
ttp://www.cybersyndrome.net/nslookup.html

>>536,538
内側、外側の両方のframeをアンカー化するのが希望でしょうか?
あるいは、内側のみのアンカー化でしょうか。
期待する結果のHTMLがわかれば、力になれるかもしれません。

>>541
あ、いや、ネタとして返した以上の意味はなくて、好意的に受け取ってます。
私はこういう切り返しのセンスがないんですね。
ごめんなさい。

543 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 21:35:57 ID:2dXZFCkK0]
>>540
何度もありがとうございますっ。
ただ、私のところでは、今回の$INESTをつかったフィルタでも、202.212.88.55/psp/chabo.cgiで、>531の■ おもちゃ&ホビー−トップセラーがでた場合、表面に出てきてしまいました。
Proxomitron側で>531の文字列で最後に ' を入れてテストみても[合致なし]になってしまいました。
>>527以外だと、最初のものに*を加えただけの>>505機能してるという謎の状況です。
こんがらかりますね_| ̄|○

でも>>527を$TYPE(htm)(techside.in.arena.ne.jp/|202.212.88.55/)*/chabo.cgi(^?)に書き換えて機能してるからおっけです(`・ω・´)

544 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 21:44:16 ID:2dXZFCkK0]
>>542
なるほど。
そうすると、自分でこの一言板群に対してフィルターを作ってみる時も、URLで限定しとけば安心っぽいですね。とはいっても、そうそうフィルターを作ることはないでしょうけど。

545 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 21:55:21 ID:MWE86p/20]
どうも$NESTは速度向上に役立つという固定観念があります。
今回書いたフィルタではframesetの入れ子を解釈する必要があり、
範囲を指定するために$NESTを使っていたことを忘れていました。

>542
内側のframeset内にあるフレームのみアンカー化するのが希望です。
<frameset rows="89,*" border="1">
外側のframesetはそのままでもフレームが見えるので、マッチさせないようにします。
<FRAMESET rows="50%,0" frameborder="NO" border="0">
内側のframesetではrows="0"にあたるフレームが見えなくなるので、
マッチさせる対象になります。
>538の場合、期待する結果は以下のようになります。

<frameset rows="89,*" border="1">
<FRAME name="topFrame" height="89" scrolling="NO" noresize marginheight="0" marginwidth="0" src="head.htm">
<body class="invisible-frames">
<p>invisible frames found</p>
<p>[frame - &quot;mainFrame&quot; - 50%]<br>
<a href="main.htm">main.htm</a></p>
<p>[frame - &quot;voice&quot; - 0]<br>
<a href="voice.htm">voice.htm</a></p>
</body>
<NOFRAMES><P>このページを表示するには、フレームをサポートしているブラウザが必要です。</P></NOFRAMES>
</frameset>

フレームをすべてアンカー化する方法も考えたものの、
そこまでするといちいちアンカーから移動するのが面倒に感じたので、一応やめました。

546 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 22:05:34 ID:JVJTtG3g0]
>>543
> 今回の$INESTをつかったフィルタでも、202.212.88.55/psp/chabo.cgiで、>531の■ おもちゃ&ホビー−トップセラーがでた場合、表面に出てきてしまいました。
あ、あれ…?
$INEST版でも、>531を1行にまとめたコードでもマッチしなくて、「■ おもちゃ&ホビー」が出た場合、表面に出てきてしまいました。
検証不足ですね…。失礼しました。

ちょっと思いついたことがあって試してみましたが、今度こそ当たりっぽいです。
>531の問題発生条件は、2つあって

1. </table> の後ろの「'」がある
2. <table> 内部に「'」を含んでいる

というように、2つの「'」が関係しているようです。
>531が 2. で該当しているのは「魔法少女リリカルなのはA's フェイト・テ」ですね。
なので、「A's → As」の変更を加えるだけでも問題を回避できました。



547 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 22:13:11 ID:JVJTtG3g0]
問題をわかりやすくするために、コードをシンプルにしてみました。

■テスト用のHTMLソース

<test>'</test>'

■テスト用フィルタ

[Patterns]
Name = "$NEST + ' test1"
Active = TRUE
Limit = 256
Match = "$NEST(<test>,</test>)"
Replace = "Replaced"

■不具合症状
$NESTで本来マッチするはずの状況で、マッチしない

■再現条件
$NESTの第二引数の範囲に ' が存在し、$NESTの後に ' が存在する

■回避策
$NESTの第一引数で ' を消費する。
つまり、

Match ="$NEST(<test>',</test>)"

ならば、マッチする。
ただし、入れ子チェックが有効に働かないので、実用的ではない。

548 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 22:16:17 ID:JVJTtG3g0]
>547に訂正を入れます。m(_ _)m

■再現条件
以下の2つの条件がそろっている時に再現する。

- $NESTの第二引数の範囲に ' が存在し、$NESTの後に ' が存在する。
- $NESTで消費してから、' が存在する場所まで改行されていない

549 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 22:25:12 ID:2dXZFCkK0]
どもですっ。
条件はそれですねっ。

この板のアマゾンの商品はその日のランキングによってころころ変わるので、今あるほかのランキングでは、ゲームだと、【○ときめきメモリアル Girl's Side 2nd Seaso】がひっかかって表面化するのですが、次はどのジャンルのどんな商品に「'」がくるのかわからないので、
<table>の中に「'」があったら「'」だけを無視する感じならいいかもと思ったのが最初のカキコで書いた>>496のフィルターの意図だったのです。
それが、なんか記号間違えてたうえに「*」を加えただけでなぜかうまくいったのでさらにこんがらがったのです。

550 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 22:48:41 ID:JVJTtG3g0]
>>549
>496でマッチするのは、$NESTの第一引数「*['|]*」で ' を消費してしまっているからです。(>547の回避策と原理は同じ)
>505がマッチするのも、* で ' を消費しているから。
ですが、* は貪欲に消費するので、誤爆を考えると使いたくないところです。

再現条件を知ってから、以下のフィルタで ' → ' の置換をして回避を試みましたが、徒労に終わりました。
処理順の関係で有効でないのはわかってはいたのですが……。

[Patterns]
Name = "BugFix: $NEST + single quotation [2008/02/11] test1"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)"
Limit = 512
Match = ">(([^<>]++)\#'$SET(#='))+{1,*}"
Replace = ">\@"

551 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 22:52:48 ID:JVJTtG3g0]
>>545
時間の都合で暫定対処ですが、下記フィルタで望み通りの結果を得られると思います。

更新点
- 最小の <frameset> にマッチするようにした

[Patterns]
Name = "invisible frames to links1 [2008/02/11] fixed test1"
Active = TRUE
URL = "(^$KEYCHK(f))&($TYPE(htm)|$TYPE(js))"
Bounds = "$NEST(<frameset,</frameset>)"
Limit = 3072
Match = "[^>]++(cols|rows)=$AV("
"( (0%|[01])\1 , \2| (^0%|[01])\1 , (0%|[01])\2| (100%)\1 , (0%|[01]|\*)\2| (100%|\*)\1 , (0%|[01])\2) "
"((,*)\7$SET(frame3=<p>[more frames found]</p>\r\n)|)"
")"
"((^<frameset)?)++<frame\s(([^>]++name=$AV(\3)|$SET(3=no-name)&[^>]++src=$AV((?*)\5)|$SET(5=about:blank)"
")$SET(frame1=<p>[frame - "\3" - \1]<br>\r\n<a href="\5">\5</a></p>\r\n))"
"(((^<frameset)?)++<frame\s(([^>]++name=$AV(\4)|$SET(4=no-name)&[^>]++src=$AV((?*)\6)|$SET(6=about:blank)"
")$SET(frame2=<p>[frame - "\4" - \2]<br>\r\n<a href="\6">\6</a></p>\r\n)"
")|$SET(frame2=<p>[frame not found]</p>\r\n))"
"(((^<frameset)?)++<frame\s$SET(frame3=<p>[more frames found]</p>\r\n)|)"
"((^<frameset)?)+"
Replace = "<body class="invisible-frames">\r\n<p>invisible frames found</p>\r\n"
"$GET(frame1)$SET(frame1=)"
"$GET(frame2)$SET(frame2=)"
"$GET(frame3)$SET(frame3=)"
"</body>"

552 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 22:53:40 ID:JVJTtG3g0]
>>551の続き。

* を ((^<frameset)?)++ に変更することで、$NEST() 内部に <frameset> を持たないようにしています。
まだ最適化の余地はありそうでしたが、時間の関係で今回は暫定対処に留めました。
時間がとれたら、また手を入れてみようと思います。

553 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 23:05:55 ID:JVJTtG3g0]
時間がとれたらと言いながら、よりスマートな解決法に気がついたのでほんの少し更新。

更新点
- cols属性、rows属性を <frameset> のタグ内で読むようにした (>551で修正しています)
- <frameset> の内部チェックを (^*<frameset>) に変更

[Patterns]
Name = "invisible frames to links1 [2008/02/11] fixed test2"
Active = TRUE
URL = "(^$KEYCHK(f))&($TYPE(htm)|$TYPE(js))"
Bounds = "$NEST(<frameset,</frameset>)"
Limit = 3072
Match = "[^>]++(cols|rows)=$AV("
"( (0%|[01])\1 , \2| (^0%|[01])\1 , (0%|[01])\2| (100%)\1 , (0%|[01]|\*)\2| (100%|\*)\1 , (0%|[01])\2) "
"((,*)\7$SET(frame3=<p>[more frames found]</p>\r\n)|)"
")[^>]+>"
"(^*<frameset>)"
"*<frame\s(([^>]++name=$AV(\3)|$SET(3=no-name)&[^>]++src=$AV((?*)\5)|$SET(5=about:blank)"
")$SET(frame1=<p>[frame - "\3" - \1]<br>\r\n<a href="\5">\5</a></p>\r\n))"
"(*<frame\s(([^>]++name=$AV(\4)|$SET(4=no-name)&[^>]++src=$AV((?*)\6)|$SET(6=about:blank)"
")$SET(frame2=<p>[frame - "\4" - \2]<br>\r\n<a href="\6">\6</a></p>\r\n)"
")|$SET(frame2=<p>[frame not found]</p>\r\n))"
"(*<frame\s$SET(frame3=<p>[more frames found]</p>\r\n)|)"
"*"
Replace = "<body class="invisible-frames">\r\n<p>invisible frames found</p>\r\n"
"$GET(frame1)$SET(frame1=)"
"$GET(frame2)$SET(frame2=)"
"$GET(frame3)$SET(frame3=)"
"</body>"

554 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 23:10:26 ID:2dXZFCkK0]
>>550
なるほど。
処理の優先順位とか、* の強力さとかでマッチだけはしてたって感じなんですね。
原因を理解できてよかったですっ。

555 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 23:11:06 ID:2fgXrnTY0]
>think氏
$NESTの誤爆マッチングの例、間違ってる。
<div class='ad'>では無く<div class='ad2'>では?

556 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 23:13:40 ID:yWxR+VFR0]
テロリストが暗号でやり取りしてるスレっぽいので通報しました



557 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 00:39:13 ID:BHlZGebP0]
JavaScriptがonだと(何時もonです)メール欄がsageになりません。
方法を教えてください。

Name = "2ch Reset+"
Active = TRUE
URL = "[^/]++.(2ch.net|bbspink.com)/"
Limit = 30
Match = "<input name=mail size=19>"
Replace = "<input name=mail size=19 value="sage">"

558 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 01:06:42 ID:i0NSgIrU0]
>551-553
どうもありがとうございます。希望する動作になりました。
最深部のframesetにマッチするしくみのようで、
マッチの対象になるframesetが多重にあった場合、
階層の浅い方のframesetにはマッチしないことになりますね。
ただ、フレーム関連はただでさえ要素が入り乱れて対処が面倒なので、
誤爆対策だけしっかりしておけばだいたい通用するかと思います。
(^*<frameset>)の部分では、「>」は必要でしょうか。
「\s」などに置き換えたり消したりしても問題なく動作しているように見えますが、
あえて「>」を入れる理由があれば知りたいです。

もともと3つ以上のフレームに同時に対応させるつもりで設計したフィルタですが、
現在のところ2つまでしか対応させていないので、
グローバル変数を削除するなど細部のメンテナンスをしました。

559 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 01:07:44 ID:i0NSgIrU0]
Name = "invisible frames to links1 (2008.02.12 beta1)"
Active = TRUE
URL = "(^$KEYCHK(f))&($TYPE(htm)|$TYPE(js))"
Bounds = "$NEST(<frameset,</frameset>)"
Limit = 3072
Match = "[^>]++(cols|rows)\0=$AV( "
"((0%|[01])\8 , \9|(^0%|[01])\8 , (0%|[01])\9|(100%)\8 , (0%|[01*])\9|(100%|[*])\8 , (0%|[01])\9) "
"(,*$SET(3=<li>more frames found</li>\r\n)|)"
")[^>]+>"
"(^*<frameset)"
"(*<frame\s([^>]++name=$AV(\4)|$SET(4=no-name)&[^>]++src=$AV((?*)\6)|$SET(6=about:blank)"
")$SET(1=<li><dl>\r\n<dt>frame: \4; \0="\8"</dt>\r\n<dd><a href="\6">\6</a></dd>\r\n</dl></li>\r\n))"
"((*<frame\s([^>]++name=$AV(\5)|$SET(5=no-name)&[^>]++src=$AV((?*)\7)|$SET(7=about:blank)"
")$SET(2=<li><dl>\r\n<dt>frame: \5; \0="\9"</dt>\r\n<dd><a href="\7">\7</a></dd>\r\n</dl></li>\r\n)"
")|$SET(2=<li>frame: not found</li>\r\n))"
"(*<frame\s$SET(3=<li>more frames found</li>\r\n)|)*"
Replace = "<body class="invisible-frames">\r\n<p>invisible frames found</p>\r\n<ol>\r\n\1\2\3</ol>\r\n</body>"

560 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 01:34:47 ID:i0NSgIrU0]
>最深部のframesetにマッチするしくみ
と書いて気づいたのですが、以下のような例だと>559はマッチしませんでした。

<frameset rows=" 100% , 0 ">
<frame name="MENU" src="menu.html">
<frameset rows=" 100 , 0 ">
<frame name="CONTENT1" src="content1.html">
<frame name="CONTENT2" src="content2.html">
</frameset>
</frameset>

この例の場合、本来なら外側のframesetのみマッチさせる対象になり、
内側のframesetはマッチさせる対象になりません。
外側にマッチさせてそこにbody要素を置く都合上、
内側のframesetの存在はどうでもよくなります。
>536は内側のframesetを無視してフレームをアンカー化させるものの、
>559では(^*<frameset)の副作用で[合致なし]になります。
(^*<frameset)を取り除くとマッチするので、
(^*<frameset)以外によい方法を考えるか、>536と併用することになりそうです。

561 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 02:02:14 ID:35uGtF5T0]
ここはちんこ隔離スレ

562 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 07:41:40 ID:wqKSu80P0]
>>516
まだみてたら。
素人的アプローチ。

[Patterns]
Name = "Naruse junkai deleter (technashi)"
Active = TRUE
URL = "www.rakugakidou.net/"
Limit = 30000
Match = "$NEST(<table\scellpadding="0"\scellspacing="0"\swidth="172",/table>)"

[Patterns]
Name = "Naruse kininaru deleter (technashi)"
Active = TRUE
URL = "www.rakugakidou.net/"
Limit = 15000
Match = "$NEST(<td\swidth="178"\salign="left"\svalign="top",/table>)"

[Patterns]
Name = "Naruse amazon deleter (technashi)"
Active = TRUE
URL = "www.rakugakidou.net/"
Limit = 30000
Match = "$NEST(<table\scellpadding="0"\scellspacing="0"\swidth="170",/table>)"



563 名前:名無しさん@お腹いっぱい。 [2008/02/12(火) 12:48:20 ID:th3f4nE80]
>$NEST(<a\s,</a>) は <a\s*</a> よりも高速に動作する、という事です。
これ、\sの直後に*が来てるから後者が遅いだけじゃないか?

$NEST(<a(\s*|)>,</a>) と <a(\s*|)>*</a>
検索対象=「<a hoge>url</a>aaaaaaaaaaaaaaaaaaaaaaaaa」を100個並べた物
だと逆転する。どっちにしろ誤差の範囲内だが。

564 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 14:06:03 ID:km+9XMCY0]
萌え連
ttp://moepic.dip.jp/gazo/

invisible frames to linksで上のサイトが表示変になったので報告

565 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 18:23:21 ID:jj6CnmeU0]
>>516
自分はこれで見てます

[Patterns]
Name = "Rakugakido Filter"
Active = TRUE
URL = "www.rakugakidou.net"
Limit = 20480
Match = "$NEST(<a\sh[^>]++hobbystock.jp,</a>)|"
"$NEST(<p\salign="center">,</p>)|"
"$NEST(<table[^w]++width="530" height="1(1|2)0",</table>)|"
"$NEST(<table[^w]++width="170,</table>)|"
"$NEST(<(no|)script,</(no|)script>)|"
"$NEST(<table[^w]++width="896" height="120,</table>)"
Replace = "<!-- Proxo for rakuga -->"

よりスマートなやり方があれば、申し訳ないが教えて頂きたい

566 名前:557 mailto:sage [2008/02/12(火) 18:40:45 ID://JOoZX+0]
誰か教えてください><



567 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 19:01:49 ID:Nj8kOjuR0]
>>563
$NESTで高速化したと思ってる人にはそう思わせてあげようよ。
$NESTを使うと逆に何倍も遅くなるケースだってあるけどそれでも体感的には変化ないし。

568 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 19:09:37 ID:pUo7c5Po0]
>>565
Limit = 64
Match = "<td width="180" align="left" valign="top">"
Match = "$SET(0=<td style="display:none">)|"
Match = "\] </h4>$SET(0=\] </h4>\k$STOP())"
Replace = "\0"

569 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 19:27:48 ID:jj6CnmeU0]
>>568
ありがとうございます。とてもスマートです

570 名前:516 mailto:sage [2008/02/12(火) 21:15:15 ID:/QvU7x9R0]
>>562,565,568
ありがとうございます。
広告がなくなり快適に見られるようになりました。

571 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 21:32:44 ID:i0NSgIrU0]
IDはまだ変わってないかな。

>564
わざわざ報告ありがとうございます。
しかしながら、これは仕様通りの動作です。以下で説明します。

マッチさせる前のソース。いらない部分は省略。
<frameset cols="145,*">
<frameset rows="*,0">
<frame src="menu.htm" name="menu">
<!-- <frame src="realtime/real_moe.cgi" name="menu"> -->
</frameset>
<frame src="top.htm" name="top">
</frameset>

マッチさせた後のソース。
<frameset cols="145,*">
<body class="invisible-frames">(略)</body>
<frame src="top.htm" name="top">
</frameset>

572 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 21:33:27 ID:i0NSgIrU0]
<frameset cols="145,*"><frame src="top.htm" name="top"></frameset>
framesetの中にbodyを含んではならないことになっているので、bodyは無視されます。
その結果、無視されなかった左フレーム(cols="145")だけが描画され、
右フレーム(cols="*")には何も描画されません。

このフィルタはもともと、外側のframesetにマッチさせることを前提とした設計なので、
今回のような場合は誤爆に近い扱いになります。
>564のような場合に対応する
(内側のframesetにマッチさせても期待する結果を得る)には
もっと複雑なフィルタを考えるか追加でフィルタを作成するなどの必要があり、
そこまで対応させることは考えていません。
わざわざ対応させなくても、今回のような場合は
このフィルタが原因で右フレームが描画されなくなったのは明白なので、
問題があった場合に備えてあらかじめ$KEYCHKを設定しています。
$KEYCHKでこのフィルタをバイパスさせるか、
dbug..からソースを見て行きたいフレームの場所を特定することで対策してください。

573 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 21:39:54 ID:i0NSgIrU0]
>559-560の対策として改善をほどこしたフィルタ。
$NESTの中身を調整することで、>538に書いた誤爆を回避した。

Name = "invisible frames to links1 (2008.02.12 beta2)"
Active = TRUE
URL = "(^$KEYCHK(f))&($TYPE(htm)|$TYPE(js))"
Bounds = "$NEST(<frameset\s[^>]+>,</frameset>)"
Limit = 3072
Match = "[^>]++(cols|rows)\0=$AV( "
"((0%|[01])\8 , \9|(^0%|[01])\8 , (0%|[01])\9|(100%)\8 , (0%|[01*])\9|(100%|[*])\8 , (0%|[01])\9) "
"(,*$SET(3=<li>more frames found</li>\r\n)|)"
")[^>]+>"
"(*<frame\s([^>]++name=$AV(\4)|$SET(4=no-name)&[^>]++src=$AV((?*)\6)|$SET(6=about:blank)"
")$SET(1=<li><dl>\r\n<dt>frame: \4; \0="\8"</dt>\r\n<dd><a href="\6">\6</a></dd>\r\n</dl></li>\r\n))"
"((*<frame\s([^>]++name=$AV(\5)|$SET(5=no-name)&[^>]++src=$AV((?*)\7)|$SET(7=about:blank)"
")$SET(2=<li><dl>\r\n<dt>frame: \5; \0="\9"</dt>\r\n<dd><a href="\7">\7</a></dd>\r\n</dl></li>\r\n)"
")|$SET(2=<li>frame: not found</li>\r\n))"
"(*<frame\s$SET(3=<li>more frames found</li>\r\n)|)*"
Replace = "<body class="invisible-frames">\r\n<p>invisible frames found</p>\r\n<ol>\r\n\1\2\3</ol>\r\n</body>"

574 名前:名無しさん@お腹いっぱい。 [2008/02/12(火) 23:50:13 ID:DHZsR0rS0]
Proxomitron使ってるとyourfilehostで「ERROR: Invalid stream url」って出て動画見れないんだけど
どのフィルターを外せばいいんでしょうか?

575 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/13(水) 00:58:16 ID:NHwP0aWW0]
当たりつけて外して絞って自分で確認しろよ

576 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/13(水) 01:20:01 ID:HnykaPQb0]
てs



577 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/13(水) 11:32:12 ID:X9CWY97V0]
2chの書きこみ&クッキー確認を押してくれるフィルターがあったと思うのですが
ご存知の方、教えてください。

578 名前:577 mailto:sage [2008/02/13(水) 13:43:37 ID:X9CWY97V0]
2ch bbs.cgi auto submitというフィルタが見つかりました。ありがとうございました。

579 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/14(木) 02:04:13 ID:LO4KhG860]
誤爆と利便性のバランスを踏まえると、全てのフレームをリンク化するのが合理的に思えてきました。

更新点
- URLマッチの & を外した
- $TYPE(js) を外した
- 全てのフレームをリンク化するようにした
- 可視化に伴う記述を若干変更

[Patterns]
Name = "invisible frames to links1 [2008/02/14] custom test1.5"
Active = TRUE
URL = "(^$KEYCHK(f))&($TYPE(htm)|$TYPE(js))"
Bounds = "$NEST(<frameset\s,</frameset>)"
Limit = 3072
Match = "(("
"<frameset\s"
"$SET(#=<p style='color: green;'>frameset: )[^>]++((cols|rows)=$AV(([^,]+, )++([01]%+|100%)*))\#[^>]+>$SET(#=</p>)|"
"</frameset>|"
"<frame\s$SET(#=<p style='color: green;'>frame: )(([^>]++src=)\#$AVQ(("|)\#"
"([^ "']+)\0$SET(FrameSrc=\0)$SET(#=<a href='$GET(FrameSrc)'>$GET(FrameSrc)</a>)("|)\#"
")|)([^>]++)\#/+>$SET(#=</p>)|"
"(<(^/frameset>|frame(set|(^set))\s)[^>]+>)\#"
")"
"([^<]+)\#)+"
Replace = "<body>\@</body>$SET(FrameSrc=)"

入れ子のframeset要素にも対応できますが、入れ子構造を把握できない欠点が残っています。
>564で frameset、frame の内容を把握できますが、frameとframesetの親子関係を見て取れません。

580 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/14(木) 02:07:42 ID:LO4KhG860]
>579は一部、更新が反映されていませんでした。

今度こそ更新点
- URLマッチの & を外した
- $TYPE(js) を外した (JSコード内のHTMLにマッチさせるのは危険なため。何か理由があったのかもしれませんが…。)

[Patterns]
Name = "invisible frames to links1 [2008/02/14] custom test1.6"
Active = TRUE
URL = "(^$KEYCHK(f))$TYPE(htm)"
Bounds = "$NEST(<frameset\s,</frameset>)"
Limit = 3072
Match = "(("
"<frameset\s"
"$SET(#=<p style='color: green;'>frameset: )[^>]++((cols|rows)=$AV(([^,]+, )++([01]%+|100%)*))\#[^>]+>$SET(#=</p>)|"
"</frameset>|"
"<frame\s$SET(#=<p style='color: green;'>frame: )(([^>]++src=)\#$AVQ(("|)\#"
"([^ "']+)\0$SET(FrameSrc=\0)$SET(#=<a href='$GET(FrameSrc)'>$GET(FrameSrc)</a>)("|)\#"
")|)([^>]++)\#/+>$SET(#=</p>)|"
"(<(^/frameset>|frame(set|(^set))\s)[^>]+>)\#"
")"
"([^<]+)\#)+"
Replace = "<body>\@</body>$SET(FrameSrc=)"

# 後、一回ぐらい更新してまとめる予定です。

581 名前:think ◆MM0nnAOCiQ mailto:落ち着こう、自分 sage [2008/02/14(木) 02:23:23 ID:LO4KhG860]
………。

3度目の嘘つきは避けたい更新点
- 2つ以上の<frame>をリンク化したとき、全てのリンクが1つめのURLになってしまう不具合修正

[Patterns]
Name = "invisible frames to links1 [2008/02/14] custom test1.7"
Active = TRUE
URL = "(^$KEYCHK(f))$TYPE(htm)"
Bounds = "$NEST(<frameset\s,</frameset>)"
Limit = 3072
Match = "(("
"<frameset\s"
"$SET(FrameLink=$GET(FrameLink)<p style='color: green;'>frameset: )[^>]++((cols|rows)=$AV(([^,]+, )++([01]%+|100%)*))\0[^>]+>"
"$SET(FrameLink=$GET(FrameLink)\0</p>)|"
"</frameset>|"
"<frame\s$SET(FrameLink=$GET(FrameLink)<p style='color: green;'>frame: )(([^>]++src=)\1"
"$AVQ(("|)\2([^ "']+)\3("|))"
"$SET(FrameLink=$GET(FrameLink)\1\2<a href='\3'>\3</a>\2)|)([^>]++)\4/+>$SET(FrameSrc=\4</p>)|"
"(<(^/frameset>|frame(set|(^set))\s)[^>]+>)\0$SET(FrameLink=$GET(FrameLink)\0)"
")"
"([^<]+)\0$SET(FrameLink=$GET(FrameLink)\0))+"
Replace = "<body>$GET(FrameLink)</body>$SET(FrameLink=)"

582 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/14(木) 03:52:40 ID:An7yj55B0]
>581
すごいですねこれ。
やろうとしてできなかったフレーム全アンカー化が実現されてます。
cols/rows属性の数値も書かれているので、
どういう風にフレームを使っているか、脳内でだいたいレンダリングできるでしょう。

$TYPE(js)を使っているのはそのまんまの意味です。
外部スクリプトで見えないフレームを挿入しているサイトがいくつかあったので
取り入れましたが、JSの知識はほぼないのでそのへんの検証はあまりできていません。
(現在のところ、このフィルタでJSを通しても誤爆したことはないと記憶しています)

583 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/14(木) 04:03:54 ID:An7yj55B0]
>後、一回ぐらい更新してまとめる予定です。
という話なので、もうひとつのフィルタも載せておきます。

Name = "invisible frames to links2 (2008.02.14 beta1)"
Active = TRUE
URL = "(^$KEYCHK(f))&($TYPE(htm)|$TYPE(js))"
Bounds = "$NEST(<frameset[^>]+>,</frameset>)"
Limit = 3072
Match = "<frameset(^[^>]++cols|[^>]++rows)[^>]+>*"
"(<frame\s[^>]++src=$AV(\3)[^>]+>$SET(1=<li><a href="\3">\3</a></li>\r\n))"
"(*<frame\s$SET(2=<li>more frames found</li>\r\n)|)*"
Replace = "<body class="invisible-frames">\r\n<p>invisible frames found; cols/rows not found</p>\r\n<ul>\r\n\1\2</ul>\r\n</body>"

Name = "invisible frames to links2 backup (2007.11.11)"
Active = TRUE
URL = "(^$KEYCHK(f))&($TYPE(htm)|$TYPE(js))"
Bounds = "$NEST(<frameset,</frameset>)"
Limit = 3072
Match = "<frameset(^[^>]++cols|[^>]++rows)[^>]+>*"
"(<frame\s[^>]++src=$AV(\1)[^>]+>$SET(2=<li><a href="\1">\1</a></li>\r\n))"
"(*<frame\s$SET(3=<li>more frames found</li>\r\n)|)*"
Replace = "<body class="invisible-frames">\r\n<p>invisible frames found; cols/rows not found</p>\r\n"
"<ul>\r\n\2\3</ul>\r\n"
"</body>"

上のフィルタは下のフィルタを微調整したもので、検証が済んでいません。
下のフィルタは調整前のものです。こちらは一応の安定版。

584 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/14(木) 04:09:34 ID:An7yj55B0]
>583が動作するソースの例。
cols/rows属性が両方ない場合も、見えないフレームが設置されます。

<frameset>
<frame name="test" src="test.html">
<noframes><body></body></noframes>
</frameset>

585 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/14(木) 09:31:41 ID:ZQAx7dco0]
先日、ヤフオクの自己紹介から見られる公開プロフィールの仕様が変更になりました。
例えばこのユーザーの場合で言えば、
user.auctions.yahoo.co.jp/jp/show/aboutme?userID=firstaid_kizuna&u=firstaid_kizuna
ここの「公開プロフィール」をクリックすると、新しいプロフィール画面
profiles.yahoo.co.jp/firstaid_kizuna
が表示されますが、
「公開プロフィール / OLD」などのようにリンクを表示してOLDをクリックすると、旧公開プロファイル
old.profiles.yahoo.co.jp/firstaid_kizuna
へ飛ぶように出来ないでしょうか?

586 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/14(木) 10:39:31 ID:OoySYkz80]
出来るよ。 誰か作ってくれるといいね。



587 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/14(木) 12:51:49 ID:ZJAX34tr0]
>>585
Match = "(<a href=$AV(http://(profiles.yahoo.co.jp/[^/]+{1,*})\1)>*</a>)\0"
Replace = "\0 / <a href="old.\1">OLD</a>"

URL Matchはわからないからほったらかしにしたよ。

588 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/14(木) 13:32:39 ID:H61hVME00]
   , - ,----、 
  (U(    )   ページ内のフォーム(<form 〜 </form>)だけ表示して
  | |∨T∨ < 残りを全て消してしまう様なフィルターをお願いします。
  (__)_)   

589 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/14(木) 17:48:25 ID:2cmVgSBH0]
折角なので、素人が作ったらこうなったと言う例でもw

Name = "DeFramer 20070314"
Active = TRUE
Limit = 200
Match = "<((frameset|noframes|/frameset|/noframes)*)\1>"
Replace = "<body Add_Proxomitron><span style="color:#000;background-color:#ddd;font-size:10pt;">&lt;\1&gt;</span><br></body>\r\n"

Name = "Convert Frames to Links 20070314"
Active = TRUE
Limit = 512
Match = "<frame\s*\0src=$AV(\1)\2>"
Replace = "<body Add_Proxomitron><span style="color:#000;background-color:#ddd;font-size:10pt;">&lt;frame \0 src="<a target=_blank href="\1">\1</a>"\2&gt;</span><br></body>\r\n"

色やらtargetやらは私の好みと言う事で

590 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/14(木) 17:51:51 ID:ZQAx7dco0]
>>587
どうもありがとうございます。おかげさまですごく使い勝手が良くなりました。
オクは売買ともによく使うので本当に助かりました。感謝です。

591 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/14(木) 17:53:18 ID:2cmVgSBH0]
あ、ミス
Name = "Convert Frames to Links 20070314"

Match = "<frame\s\0src=$AV(\1)\2>"
が正しい‥‥はず

592 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/14(木) 21:47:58 ID:An7yj55B0]
Name = "invisible frames to links2 (2008.02.14 beta2)"
Active = TRUE
URL = "(^$KEYCHK(f))&($TYPE(htm)|$TYPE(js))"
Bounds = "$NEST(<frameset[^>]+>,</frameset>)"
Limit = 3072
Match = "<frameset("
"([^>]++(cols|rows)=($AV( [*] | 100% )|["']+ ))|"
"(^[^>]++cols|[^>]++rows))[^>]+>"
"(*<frame\s[^>]++src=$AV(\3)[^>]+>$SET(1=<li><a href="\3">\3</a></li>\r\n))"
"(*<frame\s$SET(2=<li>more frames found</li>\r\n)|)*"
Replace = "<body class="invisible-frames">\r\n<p>invisible frames found; cols/rows not found</p>\r\n<ul>\r\n\1\2</ul>\r\n</body>"

>584のほかに、以下のようなframesetにも対応した。
実際に試してみると、やはり見えないフレームが設置される。
<frameset cols="">
<frameset rows="*">

593 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/14(木) 23:30:06 ID:An7yj55B0]
>592は誤爆が確認されたので、なしということでお願いします。

誤爆する例。
<frameset cols="100,*" rows="">
<frame name="test" src="index.html">
</frameset>

以下のようなframesetをすべて正常に処理できないと、
フィルタリングされない場合が出てくるかもしれない。
<frameset>
<frameset cols="">
<frameset cols=>
<frameset rows="*">
<frameset rows=" 100% " cols=" 100 , * ">
<frameset cols="100,*" rows="">
<frameset rows="*" cols="*">
<frameset cols="" rows="">
<frameset cols= rows="">

594 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/15(金) 13:51:06 ID:CpgfpGbX0]
0か1が6個続く [01]{6}ってのはどう書けばいいの?

595 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/15(金) 14:05:38 ID:xEG5cZSW0]
>>594
ttp://abc.s65.xrea.com/prox/wiki/MatchingRules/#repeat

596 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/15(金) 14:34:57 ID:CpgfpGbX0]
+がいるのか、ありがとう。



597 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 11:24:55 ID:nRasfgzQ0]
Gmailのスポンサーリンク消すフィルターってありませんか?
メールの内容とシンクロしてて気持ち悪い・・・

598 名前:http://killthecult.blog.shinobi.j p/ [2008/02/18(月) 14:56:02 ID:pdAJ2Md40]
>>597
kwsk

599 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 16:50:48 ID:nRasfgzQ0]
>>598

FAQより。

6. Gmail で広告は表示されますか。

はい。Gmail メッセージの横に、関連性のあるテキスト広告が表示されます。
これらは、Google 検索結果ページの横に表示される広告と同様のものです。
広告とコンテンツの照合は、コンピュータにより完全に自動化されたプロセスで行われます。
広告を表示する際に人間がメールをチェックすることはなく、メールの内容や個人を特定できるような情報を
Google が広告主に提供することもありません。

広告は受信または送信する Gmail メッセージの本文には挿入されず、
ポップアップ広告や関連性の低いバナー広告が表示されることもありません。

600 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 17:00:26 ID:IfGEFfpo0]
>>599
へー。俺GmailはPOPで受信してるからそんなのにお目に掛かったこと無いわ

601 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 18:17:06 ID:7u/RoQUR0]
Gmailのアカウント欲しい

602 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 18:28:27 ID:J3WANI5I0]
取ればいいじゃん。

603 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 18:28:47 ID:4nF0dNRX0]
>>601
今は昔とちがって登録制だから誰でも取れるぜ

604 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 19:17:48 ID:7u/RoQUR0]
>>602-603
そうなんだ、thx。

605 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 21:36:28 ID:4HPi8rLX0]
Flash Animation Opener (2003/12/09)
使うとYouTubeの動画が再生されないんだけど
誰か回避法教えて

無効とバイパス以外で

606 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 21:42:28 ID:4nF0dNRX0]
>>605
違うパソコンを使う



607 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 23:03:31 ID:BA0+CR9E0]
最近また仕様が変わったからな
それにあわせて修正しろとしか

608 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 19:00:41 ID:33WBDTi/0]
特定の要素以外全部削除、ってできますか?

609 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 19:26:02 ID:Wnhlgk+30]
はい

610 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/22(金) 22:51:16 ID:ifBGUt/N0]
ttp://imepita.jp/20080222/797660
ttp://imepita.jp/20080222/797960
ttp://imepita.jp/20080222/798230
ttp://imepita.jp/20080222/798410
ttp://imepita.jp/20080222/798620

何故かイメぴたの画像が表示されないんだけどオミトロンで対処できますか?

611 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/22(金) 22:57:09 ID:aPyQteQJ0]
>>610
Bypass.txtに

imepita.jp/image/

を入れる。

612 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/22(金) 23:06:44 ID:ifBGUt/N0]
>>611
おおお、見られました感謝

613 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 08:56:21 ID:nYg167aH0]
tp://www.uta-net.com/
の歌詞をコピペ可能にするフィルタをどなたかお願いできないでしょうか

614 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 10:04:14 ID:F44TgKjq0]
フラッシュだから無理

615 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 10:34:37 ID:JUBvjyjn0]
>>614
そうでもないよ

616 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 10:44:32 ID:XBpRgSPK0]
可能だけどフィルタの書き方知らん。



617 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 10:48:22 ID:JUBvjyjn0]
>>616
ということはテキストのパスはわかる?
それさえわかればあとは俺とか俺じゃない人とかがちゃちゃっと書くZE

618 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 11:13:43 ID:XBpRgSPK0]
一例なら出せるけど規則性とか分からん。
ttp://www.utamap.com/showkasi.php?surl=B22635
ttp://www.utamap.com/phpflash/flashfalsephp.php?unum=B22635

619 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 11:40:01 ID:JUBvjyjn0]
>>618

 U R L を よ く 見 る ん だ

620 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 11:44:15 ID:Fs/ROxoP0]
てかwikiに既にあるし

621 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 12:54:45 ID:XBpRgSPK0]
凄いオチw

622 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 15:42:58 ID:nYg167aH0]
>>613
wikiにあるのはうたまっぷとヤフーミュージックで
今回希望しているのは歌ネットです
うたまっぷのフィルタを参考に自分で書いてみたけど無理でした
可能な方がいらしたら引き続きよろしくお願いします


623 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 17:03:36 ID:Ujfdmk2p0]
もうLyricMaster使えばよくね?
とか言うのはダメ?

624 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 17:32:43 ID:s1B2yOcA0]
あれ、歌詞のテキストファイルがどこにあるのか分からんな。
ブラウザのキャッシュ漁ってみたけど無かった。 これが分かれば出来たも同然なんだが..。

625 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 17:36:37 ID:4qGGHY1V0]
flashに変数を渡して歌詞ファイルを読み込む形式なら
シロートの俺でもたぶんわかるんだけど、
これひょっとして歌詞テキストがInirial Textに設定された状態の
swfファイルをphpで生成して表示させてたりするわけ?

さっぱりわからん。

626 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 17:53:39 ID:s1B2yOcA0]
www.uta-net.com/user/phplib/swf/showkasi.php?ID=56299&WIDTH=422&HEIGHT=836

これのバイナリを覗いてみると暗号化された歌詞らしきものが。
こりゃ無理かも分からんね。 

ニコニコのラッパみたいにflashの知識があればなんとかなるかも知れないが。



627 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 18:00:18 ID:s1B2yOcA0]
あれ、ページを完全保存 を選んで保存したら復号された歌詞が出てきたw
オミトロンが無くても歌詞の保存は出来るようだ。

Content-Type: text/html;
charset="unicode"
Content-Transfer-Encoding: base64
Content-Location: www.uta-net.com/user/phplib/swf/showkasi.php?ID=56299&WIDTH=422&HEIGHT=836

jsでbase64を復号して表示するフィルタを書けばなんとかなるかも。 でもそんなことやってる暇はないので他の人よろ。

628 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 18:02:50 ID:VWLxFlSr0]
phpでtextロードしてからflashとして吐き出してるだけじゃね?
swfを直接開くとテキストが表示される






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<334KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef