|
フィルタ、リスト公開/nicovideo
Top / フィルタ、リスト公開 / nicovideo
最終更新: 2008-08-23 (土) 19:18:25 (4d)
|
設定済みファイルを使用している場合、質問は設定済みファイル配布サイトで行ってください
[HTTP headers] In = TRUE Out = FALSE Key = "Content-Type: NicoVideo text/xml -> text/css (in) (071207)" URL = "msg.nicovideo.jp/[0-9]+/api/(^?)" Match = "text/xml" Replace = "text/css; fake"
または、
[HTTP headers] In = TRUE Out = TRUE Key = "URL: NicoVideo: OtherTypeFilter ON (both) (071207)" URL = "msg.nicovideo.jp/[0-9]+/api/(^?)" Replace = "$FILTER(true)" In = FALSE Out = TRUE Key = "Accept-Encoding: NicoVideo: no gzip (071207) for 4.5 (out)" URL = "msg.nicovideo.jp/[0-9]+/api/(^?)"「Accept-Encoding: NicoVideo: no gzip (070802) (out)」は、Proxomitron4.5 では $TYPE(oth) になる場合、gzipが解凍されないので、gzipで送ってこないようにさせる為の物です。
コメント鯖のURLが変更されました。(2007/12/07)
msg[0-9]+.nicovideo.jp/api/(^?) → msg.nicovideo.jp/[0-9]+/api/(^?)
書き込めないときは、webページフィルタの"Kill pop-up windows" "Suppress all JavaScript errors" "Stop browser window resizing" "Restore pop-ups after a page loads"をOFF
問題のフィルタのURL欄の頭に (^([^/]++.|)nicovideo.jp(:[0-9]+|)/(watch/?|api/getpostkey)) を挿入してもOK の筈
think氏が修正したフィルタと入れ替えた方が良いかもしれません。
[Patterns] Name = "Nico: OwnerComment bypass (080201) test01" Active = TRUE URL = "msg.nicovideo.jp/[0-9]+/api/(^?)" Limit = 512 Match = "($NEST(<chat,\s[^>]++\sfork=$AV(1)*,</chat>))\0" Replace = "\0"
投稿者コメントのみ NGword や vpos="0" killer などをスルーさせるフィルタ。スルーしたいフィルタより上に配置して下さい。「マクロ名がありません」を防げるかも。
マルチを付ける(「複数のルールのマッチを許可する」)と全くの無意味になるのでご注意を。
コメントにIDを表示する プレミアムユーザの発言の場合、頭に「P」が追加されます
wrapperはcustom 2008-04-18 06:00版から、iroiroは2008-04-03 03:00版から、
ログリスト・動画上どちらにでもID表示が可能になりました。
そのため、もうID表示フィルタを導入する必要はほとんどありません。
また、iroiro 2008-04-03 03:00版から、ID表示フィルターに関する機能は無くなりました。
以下のどれかのフィルタ(一つのみ選択)を導入してください
[Patterns] Name = "NicoVideo: id view (message) (071207)" Active = TRUE Multi = TRUE URL = "msg.nicovideo.jp/[0-9]+/api/(^?)" Limit = 512 Match = "<chat(^(^\s))((\suser_id=$AV(\1)|\spremium=$AV(1)$SET(0=P)|\s[^">]+\"[^"]+\")+)\#\#(/|)\#>" Replace = "<chat\@>\0[\1] "
070822 IDが無い場合も user_id="" を追加していたのをやめた ※27桁のIDがどうにかなる訳ではない 070809 $TYPE(oth) を削除
[Patterns]
Name = "NicoVideo: id view (message) (071207) 184_id_length = 7"
Active = TRUE
Multi = TRUE
URL = "msg.nicovideo.jp/[0-9]+/api/(^?)"
Limit = 512
Match = "<chat(^(^\s))((\suser_id=$AV(([0-9]+(^?)|?+{7})\1*)|\spremium=$AV(1)$SET(0=P)|\sfork=$AV(1)$SET(1=投稿者)|\s[^">]+\"[^"]+\")+)\#\#(/|)\#>"
Replace = "<chat\@>\0[\1] "
071031 投稿者コメントの場合、[投稿者] にするように変更
[Patterns]
Name = "NicoVideo: id view (comment) (071226) 184_id_length=7, bypassOwnerComment"
Active = TRUE
Multi = TRUE
URL = "msg.nicovideo.jp/[0-9]+/api/(^?)"
Limit = 512
Match = "<chat(^(^\s))((\suser_id=$AV(([0-9]+(^?)|?+{7})\1*)|\spremium=$AV(1)$SET(0=P)|\sfork=$AV(1&\2)|\s[^">]+\"[^"]+\")+)\#\#(/|)\#>"
"($TST(\2=1(^?))$SET(0=)$SET(2=)|$SET(2=[\1] ))"
Replace = "<chat\@>\0\2"[Patterns] Name = "Nico: vpos="0" killer (071207) test01" Active = TRUE URL = "msg.nicovideo.jp/[0-9]+/api/(^?)" Limit = 512 Match = "$NEST((<chat\s[^>]++vpos=$AV([#0:100])[^>]++>)\0,</chat>)( </packet>$SET(1=\0</chat></packet>)$STOP()|) " Replace = "\1"
動画冒頭1秒に書き込まれたコメントを削除します。ネタバレなどの対策に。
[Patterns] Name = "NicoVideo: put small command (071207)" Active = TRUE Multi = TRUE URL = "msg.nicovideo.jp/[0-9]+/api/(^?)" Limit = 512 Match = "<chat(^(^\s))((\s(^mail=)[^">]+\"[^"]+\")+)\0(\smail=$AV((big )+(\#\sbig)+\#)|)" Replace = "<chat\0 mail="small \@""
070809 $TYPE(oth) を削除 070717 URL Match を正確な物に変更 070609 Match の big を ue に変えると、blue に誤爆するのを修正 070513 書き込み後の <chat_result に誤爆していたのを修正(誤爆するとリロードしないと書き込めなくなる)
ちなみに、Replace の small を消すと、全て通常サイズ or small になります。(bigコマンドを消しただけになる)
また、Match の big を (big|ue|shita) の様に変えると、big, ue, shita コマンドが全て消せます。
[Patterns] Name = "NicoVideo: All Command-cancel (080308)" Active = TRUE Multi = TRUE URL = "msg.nicovideo.jp/[0-9]+/api/(^?)" Limit = 512 Match = "(<chat*)\1mail=$AV(*)([^>]+>)\2" Replace = "\1mail="small"\2"
070809 $TYPE(oth) を削除 080308 極稀に誤爆をしてチャットが空白になることがあった。
コマンドを使用したコメントを問答無用で全部 small にします。 全てのコマンドをキャンセルするには、Replaceの所にある、mail="small"をmail=""へ変更する。
[Patterns] Name = "NicoVideo: delcommand (071207)" Active = TRUE Multi = TRUE URL = "msg.nicovideo.jp/[0-9]+/api/(^?)" Limit = 512 Match = "<chat((\s(^mail=)[^">]+\"[^"]+\")+)\0\smail=$AV(((任意のコマンド) )+(\#\s(任意のコマンド))+\#)" Replace = "<chat\0 mail="\@""
※任意のコマンドと書かれてる所にキャンセルしたいコマンドに文字を置き換える。 複数コマンドを登録する場合は"|"で区切る 例:ue|shita (07/08/23更新)
[Patterns]
Name = "NicoNico Comment W-CUT(4+) (071209)"
Active = TRUE
Multi = TRUE
URL = "msg.nicovideo.jp/[0-9]+/api/(^?)"
Limit = 512
Match = "([%EF][%BD][%97]|w)+{4,*}"
Replace = "wwww"
連続で生える草の数を4つまでに制限します。
草5つ以上のコメントを非表示にするのではなく4つになるまで草を刈ります。
短くしたい一文字の連続をリストに登録してください。
[Blocklists] List.Comment_CUT = "..\Lists\Comment_CUT.txt"
[Patterns]
Name = "NicoNico List Comment CUT(3+)[071207]"
Active = TRUE
Multi = TRUE
URL = "msg.nicovideo.jp/[0-9]+/api/(^?)"
Limit = 512
Match = "($LST(Comment_CUT))\0"
"($TST(\0))++"
"(^(^$TST(\0)$TST(\0)$TST(\0)))"
※コメントで9連続以上の1文字(半角数字)を9連続まで短くする (半角数字は動画への誘導がある為、分離)
[Patterns]
Name = "NicoNico number Comment CUT(9+)[071207]"
Active = TRUE
Multi = TRUE
URL = "msg.nicovideo.jp/[0-9]+/api/(^?)"
Limit = 512
Match = "([0-9])\0"
"($TST(\0))++"
"(^(^$TST(\0)$TST(\0)$TST(\0)$TST(\0)$TST(\0)$TST(\0)$TST(\0)$TST(\0)$TST(\0)))"
[Blocklists] List.NGword_UTF-8 = "..\Lists\NGword_UTF-8.txt"
[Patterns] Name = "NicoVideo: NGword (071207)" Active = TRUE URL = "msg.nicovideo.jp/[0-9]+/api/(^?)" Bounds = "<chat\s*</chat>( </packet>|)" Limit = 512 Match = "(<chat([^">]+\"[^"]+\")+[^>]+>)\0*$LST(NGword_UTF-8)*</chat>( </packet>$SET(1=\0</chat></packet>)|)" Replace = "\1"
070806 $TYPE(oth) を削除&「[] 」が残るのを直した ※空行が残りますが、それを消すとコメント欄が真っ白になり表示されなくなります 070717 リスト名を NGword から NGword_UTF-8 に変更 & ファイル名を nicoNG List.txt から NGword_UTF-8.txt に変更 & (^?) 追加 070714b 最後のコメントが消されると、「コメント取得中のため、処理が中断されました。」になり、LogListが真っ白になるのを修正 070611 無意味な Multi を削除 070513 書き込み後の <chat_result に誤爆していたのを修正 070511a まず無いが、誤爆しないように変更
[Patterns] Name = "NicoVideo: NG command (080317)" Active = TRUE URL = "msg.nicovideo.jp/[0-9]+/api/(^?)" Bounds = "<chat\s*</chat>( </packet>|)" Limit = 512 Match = "(<chat(^(^\s))(\s(^mail=)[^">]+\"[^"]+\")+\smail=$AV((*\s|)from_button(\s*|(^?)))([^">]+\"[^"]+\")+[^>]+>)\0*</chat>( </packet>$SET(1=\0</chat></packet>)|)" Replace = "\1"
※空行が残る事がありますが、それを消すとコメント欄が真っ白になり表示されなくなります
※from_button を好きなコマンドに変えてください
(投稿者コメントの@ボタンで投稿されたコメントは mail に from_button が含まれています)
(閲覧者用の@ボタンで投稿されたコメントは mail に is_button が含まれています)
タイトルか作者コメントにリストで指定した文字列を含む動画を非表示にします。
リストの記述法はNG WORDと同様です。
[Blocklists] List.NGtitle = "..\Lists\NGtitle.txt"
[Patterns]
Name = "Nico: Ranking NGtitle (080402) test04"
Active = TRUE
URL = "www.nicovideo.jp/ranking$TYPE(htm)"
Limit = 4096
Match = "$NEST(<tr,*("
" $NEST(<a,\s[^>]++class=$AV(video)[^>]+>*$LST(NGtitle)*,</a>)"
" |</h3>\s+$NEST(<p,\s[^>]++class=$AV(TXT12)[^>]+>*$LST(NGtitle)*,</p>)"
" |<a\s([^>]++class=$AV(video)&[^>]++href=$AV((http://www.nicovideo.jp/|)watch/$LST(NGtitle)))"
")*,</tr>)\s+"
"$NEST(<tr,</tr>)"
" |</h3>\s+$NEST(<p,\s[^>]++class=$AV(TXT12)[^>]+>*$LST(NGtitle)*,</p>)"
" |<a\s([^>]++class=$AV(video)&[^>]++href=$AV((http://www.nicovideo.jp/|)watch/$LST(NGtitle)))"
カテゴリタグの消去や移動などを行っていない場合、 必ず トップページのカテゴリタグのリンクの置き換えを併用してください。
[Patterns]
Name = "Nico: Search NGtitle (080715) test20"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/((^?)|\?g=|search|tag|recent|newarrival)"
Limit = 4096
Match = "$NEST(<td[^>]+>,\s+<div\s[^>]++class=$AV(cmn_thumb_frm)(*"
"($NEST(<a,\s[^>]++class=$AV(video video_info_title)[^>]+>*$LST(NGtitle)*,</a>)"
" |$NEST(<span,\s[^>]++class=$AV(video_info_description)>*$LST(NGtitle)*,</span>)"
" |<a\s([^>]++class=$AV(video video_info_title)&[^>]++href=$AV((http://www.nicovideo.jp/|)watch/$LST(NGtitle)))"
" )|$SET(td=$GET(td)1)(^?)"
")*,</td>)"
"|(^(^<td[^>]+>\s+<div\s[^>]++class=$AV(cmn_thumb_frm)))"
"($URL(http://www.nicovideo.jp/((^?)|\?g=))$TST(td=111)|$TST(td=1111))$SET(#=</tr><tr valign="top" >)$SET(td=)"
"|</tr>\s+<tr valign=$AV(top)>"
"|"
"$NEST(<tr,\sbgcolor=$AV(*)>*("
" $NEST(<a,\s[^>]++class=$AV(video)[^>]+>*$LST(NGtitle)*,</a>)"
" |<a\s([^>]++class=$AV(video)&[^>]++href=$AV((http://www.nicovideo.jp/|)watch/$LST(NGtitle)))"
")*,</tr>)"
Replace = "\@"
" |$NEST(<span,\s[^>]++class=$AV(video_info_description)>*$LST(NGtitle)*,</span>)"
" |<a\s([^>]++class=$AV(video video_info_title)&[^>]++href=$AV((http://www.nicovideo.jp/|)watch/$LST(NGtitle)))"
動画のTitleの横にコピーボタンを作成し、ボタンをクリックすると、
# Title名
変換されたコード
と言う感じでクリップボードにTitleと変換後のコードがコピーされる。
[Patterns]
Name = "Nico: Title2ClipBoard Copy1 (071221)"
Active = TRUE
Multi = TRUE
URL = "www.nicovideo.jp/((^?)|\?g=|search|tag|recent|newarrival)$TYPE(htm)"
Limit = 4096
Match = "$NEST((<td[^>]+>)\#,(\s+<div\sclass=$AV(thumb_frm))\#"
" (*$NEST(<a,\sclass=$AV(video)[^>]+>\0,</a>))\#\2,(</td>)\3)"
Replace = "\@<button onClick='title2ClipBoard("\0")'>copy</button>\2\3"
Name = "Nico: Title2ClipBoard Copy2 (120721)"
Active = TRUE
URL = "www.nicovideo.jp/((^?)|\?g=|search|tag|recent|newarrival)$TYPE(htm)"
Limit = 256
Match = "</head>$STOP()"
Replace = "<script type="text/javascript" charset="utf-8" src="http://local.ptron/title2ClipBoard.js" defer></script>"
"</head>"
[NG]をクリックすればNGにしたい動画のアドレスがNGtitle.txtに追加されます。NGtitle.txtはUTF-8で保存してください。
[N側をクリックすれば動画アドレスのみ追加(削除は即反映)。
G]側をクリックすれば動画アドレスとタイトルを追加(削除はページの再読み込み後反映)。
[HTTP headers] In = FALSE Out = TRUE Key = "URL: nico Ad link to NGtitle (out)" Match = "(http://www.nicovideo.jp/*)\0\?NG\1" Replace = "$ADDLST(NGtitle,\1(^?))$RDIR(\0)$STOP()"
[Patterns]
Name = "Nico: Ad link+name to NGtitle (080728)"
Active = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/"
Limit = 256
Match = "(</p> (<div\sstyle=$AV(margin:*;)> <h3>|<p\sclass=$AV(TXT12)>|<h3[^>]+>)<a[^>]++href=$AV(*watch/\0)>)\1"
"$SET(#= <a href="\u?NG\0" style="text-decoration:none; color:#F00;"><strong>[N</strong></a>"
"<a href="tag/\0_NG" style="text-decoration:none; color:#00F;"><strong>G]</strong></a>\1)"
"|<a\shref=$AV(watch/*)> <img\salt=$AV(\1)[^>]+>$URL(http://www.nicovideo.jp/tag/\0_NG)$ADDLST(NGtitle,#\1)$ADDLST(NGtitle,\0(^?))"
"$SET(#=<script type="text/javascript"> if (history.length) history.back(); else (window.open('','_top').opener=top).close(); </script>)"
Replace = "\@"
カテゴリタグの消去や移動などを行っていない場合、
必ず トップページのカテゴリタグのリンクの置き換えを併用してください。
消したスペースを詰めたいときはSearch NGtitleを併用、その時はSearch NGtitleより上に置いて下さい。
指定した時分(分指定)を含む動画を検索又はランキングから非表示にします。1列目がランキング対応、2列目が検索系対応。
使用する場合は(分指定)の所を任意の数字に置き換えて下さい。複数指定したい時は任意の数字を|で区切る事で可能。例(0|1|2)
[Patterns]
Name = "Nico: NGtime (080713)"
Active = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/(ranking|search|tag|recent|newarrival|((^?)|\?g=))"
Limit = 2048
Match = "$NEST(<tr,>*<strong>(分指定)[%e5][%88][%86][^<]+</strong>*,</tr>) $NEST(<tr><td\scolspan=$AV(3),</tr>)"
"|$NEST(<td,\swidth=$AV(320|312)[^>]+>*<strong\sclass=$AV(video_info_length)>(分指定)[%e5][%88][%86]*,</td>)"
動画ページでリストで指定した文字列を含むタグを非表示にします。
リストの記述法はNG WORDと同様です。
[Blocklists] List.NGtag = "..\Lists\NGtag.txt"
[Patterns]
Name = "NicoVideo: NGtag (080228) test01"
Active = TRUE
URL = "www.nicovideo.jp/$TYPE(htm)"
Limit = 512
Match = "$NEST(<a\s,[^>]++href=$AV((http://www.nicovideo.jp/|)tag/*)[^>]+>*$LST(NGtag)*,</a>)"
"(\s+$NEST(<span,</span>)|)(\s+\ \ |)+"
A(B|)C ・・・AC又はABCにマッチした場合削除します
A(B|C)D ・・・ABD又はACDにマッチした場合削除します
A(^?) ・・・Aが語尾に来る場合削除します
A(^B) ・・・Aにマッチした場合削除但しその直後Bが含まれた場合は削除されません(語尾にのみ適用)
A+ ・・・A又はAが連続して含まれる場合削除
A+{0} ・・・Aが0回以上含まれる場合削除(0は適用したい数に置き換えて使用下さい)
A*B ・・・A以降Bが含まれた場合削除します
(*(A|B|C))++{2} ・・・A・B・Cいずれか2つが含まれた場合削除します
※使用時は全角大英字を削除したい文字列に置き換えて下さい
※マッチングルールは組み合わせても使用できますので参考リスト参照の下色々試してみて下さい
※訂正・追加お願いします。
タスクバーのタイトルや、タブのタイトルが見やすくなる
[Patterns] Name = "NicoVideo: title (080705)" Active = TRUE URL = "(www|tw).nicovideo.jp/$TYPE(htm)" Limit = 256 Match = "$NEST(<title>,\0[%E2][%80][%90][%E3][%83][%8B][%E3][%82][%B3][%E3][%83][%8B][%E3][%82][%B3][%E5][%8B][%95][%E7][%94][%BB]\([%E5][%A4][%8F]+\) ,</title>)" Replace = "<title>\0</title>$STOP()"
タブブラウザのタブ上でのタイトル表示を見易くすることよりもブラウザの履歴の中からニコニコ動画を探し易くすることに重点を置いて作りました。
タグ、動画検索にも対応。
[Patterns]
Name = "NicoNico: Replace title [2008/02/10] - 186 for 202"
Active = TRUE
URL = "(www.|tw.)nicovideo.jp/$TYPE(htm)"
Limit = 512
Match = "<title>\s+([%E3][%82][%AD][%E3][%83][%BC][%E3][%83][%AF][%E3][%83][%BC][%E3][%83][%89]"
"[%E6][%A4][%9C][%E7][%B4][%A2]$SET(1=N-S- )"
"|[%E3][%82][%BF][%E3][%82][%B0][%E6][%A4][%9C][%E7][%B4][%A2]$SET(1=N-TAG- )"
"|([%E3][%83][%9E][%E3][%82][%A4][%E3][%83][%AA][%E3][%82][%B9][%E3][%83][%88])\4$SET(1=N- \4 )"
"|($URL(http://[^/]++.nicovideo.jp/watch/)$SET(1=N: )|$SET(1=N- )))\s+([^>]++)\2( [%e2][%80][%90]| -)\s+"
"[%e3][%83][%8b][%e3][%82][%b3][%e3][%83][%8b][%e3][%82][%b3][%e5][%8b][%95][%e7][%94][%bb]"
"\s+\([^)]+\)\s+</title>$SET(0=<title>\1\2</title>)"
"|"
"(^(^<a\s[^>]++class=$AV(tab0)[^>]+>( <[a-z][^>]+> )+([^<]+)\1 </))"
"$SET(0=\r\n<script type="text/javascript">document.title = "N-TAB- \1";</script>\r\n)"
Replace = "\0$STOP()"
概要
問題点
導入
[Patterns]
Name = "NicoVideo: from_hoge.gif set id=thumb_from (080805)"
Active = TRUE
Multi = TRUE
URL = "[^/.]+.nicovideo.jp/watch/?$TYPE(htm)"
Limit = 512
Match = "$NEST(<p[ >],*<img(\s[^>]++)\0src=$AVQ(*thumb/from&\1)\2,</p>) (<div[^>]+>|) (<p*> |)"
Replace = "$STOP()<p class="TXT12"><img style="margin-bottom:2px" id="thumb_from"\0src=\1\2 "
Name = "NicoVideo: iroiro (1/2) (080805) for IE defer"
Active = TRUE
URL = "[^/.]+.nicovideo.jp/watch/?$TYPE(htm)$OHDR(User-Agent: *MSIE)"
Limit = 256
Match = "(^(^</body>|</html>))|(^?)"
Replace = "$STOP()<span style="display:none" id="copy"></span>\r\n"
"<script type="text/javascript" charset="utf-8" src="http://local.ptron/NicoVideo_iroiro_conf.js" defer="defer"></script>\r\n"
Name = "NicoVideo: iroiro (2/2) (080815) for IE"
Active = TRUE
URL = "[^/.]+.nicovideo.jp/watch/?$TYPE(htm)$OHDR(User-Agent: *MSIE)"
Limit = 256
Match = "(^(^<div\s[^>]++id=$AV(WATCHFOOTER)))"
Replace = "$STOP()<style type="text/css">#WATCHFOOTER, #PAGEFOOTER, #ichiba_placeholder { display: none }"
"#nicoichiba{ margin: 0px !important /*; padding: 0px !important*/ }"
"/* body { font-family: 'MeiryoKe_PGothic', 'MS P Gothic', sans-serif } */"
"</style>\r\n"
[HTTP headers]
In = FALSE
Out = TRUE
Key = "Cookie: NicoVideo: Get Video Owner Name (out) (080805) a"
Match = "?$URL(http://[^/.]+.nicovideo.jp/\?(bweb@$FILTER(false)|)(www.smilevideo.jp/allegation/allegation/[0-9]|photozou.jp/photo/show/[0-9])\0\1)$RDIR(http://\0\1)"
In = TRUE
Out = TRUE
Key = "URL: NicoVideo: Download XML (both) (080805)"
Match = "http://([^/]++.|)nicovideo.jp/[0-9]+/api/\0\?(bweb@$FILTER(false)|)(msg.nicovideo.jp/[0-9]+)\1"
Replace = "$RDIR(http://\1/api/\0)"[Patterns] Name = "NicoVideo: nicopedia defer (080805)" Active = TRUE URL = "[^/.]+.nicovideo.jp/watch/?$TYPE(htm)" Limit = 1024 Match = "<script\s[^>]++src=$AV(*/nicopedia.js&\1)*</script> $SET(nicopedia=\1)" "|$NEST(<script,[^>]+>*Nicopedia.&\1,</script>) $SET(nicopedia=<script type="text/javascript" src="$GET(nicopedia)"></script>\r\n<script\1</script>)" "|(^(^</body>)) $SET(0=$GET(nicopedia)) $STOP()" Replace = "\0"
[Patterns] Name = "NicoVideo: nicopedia killer (080805)" Active = TRUE URL = "[^/.]+.nicovideo.jp/watch/?$TYPE(htm)" Limit = 1024 Match = "<script\s[^>]++src=$AV(*/nicopedia.js*)*</script> " "|$NEST(<script,[^>]+>*Nicopedia.*,</script>) $STOP()" [HTTP headers] Out = TRUE Key = "URL: kill api.nicodic.jp (out)" URL = "api.nicodic.jp/" Replace = "\k"
[Patterns]
Name = "NicoVideo: flvplayer + wrapper + iroiro.js (080805) for IE"
Active = TRUE
URL = "[^/.]+.nicovideo.jp/watch/?$TYPE(htm)"
Limit = 1024
Match = "<div id="flvplayer_container" style="width:952px; height:540px; padding:4px\0"
"var so = new SWFObject\("[^"]++nicoplayer.swf\1 "540"\2\) ;$STOP()"
Replace = "<div id="flvplayer_container" style="width:952px; height:510px\0"
"var so = new SWFObject("flvplayer_wrapper.swf\1 "510"\2);\r\n"
" so.addParam("allowFullScreen", true);\r\n"
" //so.addParam("wmode", "opaque");\r\n"
" so.addVariable("open_src", "1");\r\n"[Patterns]
Name = "NicoVideo: flvplayer + iroiro.js (080805) for IE"
Active = TRUE
URL = "[^/.]+.nicovideo.jp/watch/?$TYPE(htm)"
Limit = 1024
Match = "<div id="flvplayer_container" style="width:952px; height:540px; padding:4px\0"
"var so = new SWFObject\(\1\) ;$STOP()"
Replace = "<div id="flvplayer_container" style="width:952px; height:540px\0"
"var so = new SWFObject(\1);\r\n"
" so.addParam("allowFullScreen", true);\r\n"
" //so.addParam("wmode", "opaque");\r\n"
" so.addVariable("open_src", "1");\r\n"
ニュースを隠したりする場合、width, height の値を変更すると再レンダリングが減り、体感速度が上がるかもしれません。コメント(バグ報告など) ※更新した場合、必ずキャッシュを全て削除 → Ctrl + F5 してください。設定が反映されない場合も同様。(Proxomitronにはキャッシュに関するバグがあります)
最新の5件を表示しています。 コメントページを参照
概要
flvplayer_wrapper custom 2008-08-08 18:40版
導入(詳しい事は同梱のReadme参照 ※modなどの有志が修正・改造したバージョンはreadmeが含まれない場合があります)
[Patterns]
Name = "NicoVideo: FlvPlayerWrapper1 ReplaceWrapper custom 071127"
Active = TRUE
URL = "www.nicovideo.jp/watch/$TYPE(htm)"
Limit = 1024
Match = "(id=$AV(flvplayer_container))\1 style=\2height:540px; padding:4px;\3new SWFObject\("\4nicoplayer.swf\5$AV(540)\6$AV(#FFFFFF)$STOP()"
Replace = "\1 style=\2height:510px;\3new SWFObject("flvplayer_wrapper.swf\5 "510"\6"#FFFFFF""
flvplayer + wrapper + iroiro.jsを使う場合は上のPatternsは不要
[HTTP headers] In = TRUE Out = TRUE Key = "URL: NicoFlvplayerWrapper2 Redirect custom 071011 (both)" Match = "http://(www|res).nicovideo.jp/flvplayer_wrapper.swf(\??++ts=[0-9]+)\1(^?)" Replace = "$RDIR(http://local.ptron/flvplayer_wrapper.swf\1)"
[HTTP headers] In = TRUE Out = TRUE Key = "URL: NicoFlvplayerWrapper3 Redirect flv_booster 080314 (both)" Match = "http://(www|res).nicovideo.jp/flv_booster.swf\1" Replace = "$RDIR(http://local.ptron/flv_booster.swf\1)"
[Patterns]
Name = "NicoVideo: WatchCushion (080805)"
Active = TRUE
URL = "[^/.]+.nicovideo.jp/watch/?$TYPE(htm)$OHDR(Referer: (^https+://([^/]++.|)(nicovideo|smilevideo).jp/)?)"
Limit = 128
Match = "so.write \( $AV(flvplayer_container) \)$STOP()"
Replace = "writeFlash = function () { so.write("flvplayer_container") };\r\n"
" document.getElementById('flvplayer_container').innerHTML = '<button onclick="writeFlash()" style="font-size:x-large; display:block; margin:auto">Load Flvplayer</button>'"
「何の動画か判らずに開く → 動画が勝手にキャッシュされる」というのが嫌な人用 通信節約にもなる。
Refererが空の場合(お気に入りから開いた場合など)もボタンが表示されるようにするには、
「$OHDR(Referer: (^https+://([^/]++.|)(nicovideo|smilevideo).jp/)?)」を「(^$OHDR(Referer: https+://([^/]++.|)(nicovideo|smilevideo).jp/))」に置換してください。
[HTTP headers] In = TRUE Out = TRUE Key = "URL: NicoVideo JIHOU Killer (both)" URL = "www.nicovideo.jp/api/getmarquee\?mqver=[0-9]" Replace = "\k"
※「送信するヘッダフィルタ」か「受信するヘッダフィルタ」のどちらかのみが有効になっている場合も動作するように both にしています。
※#iroiroを使用する場合、このフィルタは無効にしてください
概要
問題点
導入
[Patterns]
Name = "NicoVideo: add download link (080610)"
Active = TRUE
URL = "(www|tw).nicovideo.jp/watch/?$TYPE(htm)"
Limit = 256
Match = "(^(^</body>))"
Replace = "$STOP()<span id="copy" style="visibility:hidden"></span>\r\n"
"<script type="text/javascript">\r\n"
"_d = document;\r\n"
"function setClipboard(arg) {\r\n"
" _d.getElementById('copy').innerHTML = '';\r\n"
" _d.getElementById('copy').innerHTML = '<embed src="http://local.ptron/setClipboard.swf" FlashVars="code=' +encodeURIComponent(arg)+ '" width="0" height="0" type="application/x-shockwave-flash"></embed>';\r\n"
"}\r\n"
"\r\n"
"var myAjax = new Ajax.Request(\r\n"
" 'http://www.nicovideo.jp/api/getflv?v='+location.pathname.match(/[a-z][a-z]\\d+$/),\r\n"
" {\r\n"
" asynchronous: true,\r\n"
" method: 'get',\r\n"
" onComplete: function(a){\r\n"
" var movie_url = decodeURIComponent(a.responseText.match(/url=([^&]+)/)[1]);\r\n"
" var title = _d.getElementsByTagName('H1')[0].innerHTML.replace(/<.*?>/g, '');\r\n"
" var filename = ''\r\n"
" /* ID */\r\n"
" + location.pathname.match(/[a-z][a-z]\\d+$/) + (window.so && so.getVariable('eco') ? 'low' : '') + '_'\r\n"
" /* TITLE for NTFS */\r\n"
" + title.replace(/^(?:\\s|\\u3000| )+|(?:\\s|\\u3000| )+$/g, '')"
" .replace(/\\?/g, '?').replace(/"/g, '”').replace(/\\//g, '/').replace(/\\\\/g, '¥').replace(/</g, '<').replace(/>/g, '>').replace(/\\*/g, '*').replace(/\\|/g, '|').replace(/:/g, ':')\r\n"
" /* EXTENSION */\r\n"
" + '.' + (window.so && !so.getVariable('eco') && so.getVariable('movie_type') ? so.getVariable('movie_type') : 'flv')\r\n"
" ;\r\n"
" _d.getElementsByTagName('H1')[0].innerHTML = '<a title="動画ダウンロード可能☆" style="color:#ff5555" href="'+movie_url+'">'+title+'</a>'"
" + ' <button onclick="setClipboard(\\'' +filename.replace(/'/g, "\\\\'")+ '\\')" title="※クリップボードを上書きします!">copy</button>'\r\n"
" /* title.ext */\r\n"
" //+' <a href="http://title.ext/'+filename+'?'+movie_url+'">title.ext でDL</a>'\r\n"
" ;\r\n"
" }\r\n"
" }\r\n"
");\r\n"
"</script>\r\n"変更点・更新履歴
2008年3月9日更新
概要
動作内容
[Patterns]
Name = "nicovideo filename"
Active = TRUE
URL = "www.nicovideo.jp/watch/$OHDR(User-Agent: *Gecko)"
Limit = 8
Match = "(^(^</body>))$STOP()"
Replace = "<script type="text/javascript">"
"var filename = document.getElementsByTagName('h1').item(0).firstChild.firstChild.nodeValue"
".replace(/^(?: |\\u3000)+|(?: |\\u3000)+$/g, '').replace(/\\?/g, '\\uFF1F').replace(/"/g, '\\u201D')"
".replace(/\\//g, '\\uFF0F').replace(/\\\\/g, '\\uFFE5').replace(/</g, '\\uFF1C').replace(/>/g, '\\uFF1E')"
".replace(/\\*/g, '\\uFF0A').replace(/\\|/g, '\\uFF5C').replace(/:/g, '\\uFF1A').replace(/;/g, '\\uFF1B').replace(/,/g, '\\uFF0C');"
"document.Cracker = 'filename=' + encodeURIComponent(filename + '_' + video_id) + '; domain=.nicovideo.jp; path=/; Max-Age=10;';"
"</script>"
[HTTP headers]
In = TRUE
Out = FALSE
Key = "Content-Disposition: nicovideo filename (In)"
URL = "[^.]+.nicovideo.jp/smile\?[vms]$OHDR(User-Agent: *Gecko)"
Match = "inline; filename="smile.\8"($OHDR(Cookie: *filename\=([A-Z0-9!%\'\(\)\-._~]+)\0)$URL(*/smile\?[vms]=[0-9]+.[0-9]+\1)$SET(9=\0\1.\8)|$URL(*/smile\?([vm]$SET(2=sm)|s$SET(2=nm))=([0-9]+)\0.[0-9]+\1)$SET(9=\2\0\1.\8))"
Replace = "attachment; filename*=UTF-8''\9$LOG(RContent-Disposition: nicovideo filename (In))"
NicoVideo_dl_xml.zip
※試作品です ブラウザを選ばない…筈
071215 仕様変更でDL出来なくなっていたのを修正 ※フィルタの入れ替えも必要です(readme参照)
FileReferenceはAS2でも使えるみたいなので(mingで使用可能かは不明)、wrapperでDL可能になるかも mingではimport不可能らしい
※現在#wrapperと併用しないと動作しません 修正出来れば今度修正します
動画をローカルファイルから再生可能にします
使用法
[HTTP headers] In = TRUE Out = FALSE Key = "Content-Type: NicoVideo text/plain -> text/css (in)" URL = "www.nicovideo.jp/api/getflv" Match = "text/plain" Replace = "text/css; fake"
(text/css に変えることで、gzipを解凍&Webページフィルタリング可能にしている 4.3, 4.4, 4.5 のバグ対策)
[Patterns]
Name = "Nico: Local Movie redirector (080531) test07"
Active = TRUE
URL = "www.nicovideo.jp/api/getflv"
Limit = 512
Match = "url=[^&]++("
" %2Fsmile%3Fv%3D[^&]+(^(^*%2Fview%2F([0-9]+)\0%2F))$SET(id=sm\0)$SET(\9=flv)"
"|%2Fsmile%3Fm%3D[^&]+(^(^*%2Fview%2F([0-9]+)\0%2F))$SET(id=sm\0)$SET(\9=mp4)"
"|%2Fsmile%3Fs%3D[^&]+(^(^*%2Fview%2F([0-9]+)\0%2F))$SET(id=nm\0)$SET(\9=swf)"
"|[^&]+(^(^*%2Fshow%2F[0-9]+%2F([0-9]+)\0\&))$SET(id=fz\0)$SET(\9=flv)"
"|[^&]+(^(^*%3Fmovie%3D([0-9]+)\0\&))$SET(id=am\0)$SET(\9=flv)"
")$TST(id=$LST(MovID_Local))$STOP()"
Replace = "url=http%3A%2F%2Flocal.ptron%2Fvideo%2F$GET(id).\9"
[Patterns]
Name = "Nico: ADDLST MovID_Local + Title (080308) test06"
Active = TRUE
URL = "www.nicovideo.jp/watch/[^0-9]$TYPE(htm)"
Limit = 512
Match = "(^(^$NEST(<title>,\1[%E2][%80][%90]*,</title>)))"
"$KEYCHK(^a) "
"$URL(http://www.nicovideo.jp/watch/(^$LST(MovID_Local)(^?))\0)"
"$ADDLST(MovID_Local,# \1)"
"$ADDLST(MovID_Local,\0(^?)) $STOP()"
[Blocklists] List.MovID_Local = "..\Lists\MovID_Local.txt"
($TST(id=$LST(MovID_Local))|$TST(\0=$LST(MovID_Local)))
[Patterns]
Name = "Nico: GetOwnerName (071230)"
Active = TRUE
URL = "www.nicovideo.jp/watch/$TYPE(htm)"
Limit = 256
Match = "</body>$STOP()"
Replace = "<script type="text/javascript" charset="utf-8" src="http://local.ptron/getOwnerName.js"></script>"
"</body>"
[HTTP headers] In = TRUE Out = TRUE Key = "URL: NicoVideo: Get Video Owner Name (both) (080305)" Match = "http://www.nicovideo.jp/watch/([sn]m|)[0-9]+\?bweb@(www.smilevideo.jp/allegation/allegation/[0-9]+)\0$FILTER(false)" Replace = "$RDIR(http://\0)"
[Patterns]
Name = "NicoVideo: hide tags"
Active = TRUE
URL = "(www|tw).nicovideo.jp/watch/?$TYPE(htm)"
Limit = 256
Match = "<div id=$AV(video_controls)><div id=$AV(video_tags)"
Replace = "$STOP()<div id="video_controls">"
"<a class="TXT12" style="color:#F30" href="javascript:void(0)" onclick="document.getElementById('video_tags').style.display = 'inline'; this.style.display = 'none'">【タグを表示する】</a>"
"<div id="video_tags" style="display:none""
[Patterns]
Name = "NicoVideo: hide tags [080401]"
Active = TRUE
URL = "(www|tw).nicovideo.jp/watch/?"
Limit = 256
Match = "<div id=$AV(video_controls)><div id=$AV(video_tags)>"
Replace = "$STOP()"
"<script type="text/javascript">"
"var tag_flag = false;"
"function hideTag() {"
" tag_flag = !tag_flag;"
" document.getElementById('video_tags').style.display = tag_flag ? 'inline' : 'none'"
"}"
"</script>"
"<div id="video_controls">"
"<a href='javascript:void(0)' onclick='hideTag()'>【タグ】</a> "
"<div id="video_tags" style="display:none"><p class=\1>"
iroiroのタグ収集とは併用できません。タグ編集後はフィルタは無効になります。
[Patterns]
Name = "Nico: Tag link -> select (080720)"
Active = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/watch/"
Limit = 512
Match = "(<div\sstyle=$AV(padding:4px;)> <!)\0$SET(#=<table border="0" cellspacing="0" cellpadding="0">\n<tr valign="top">\n<td>\n\0)"
"|$NEST(<strong>[%e7][%99][%bb],</strong>) $NEST(<a,*dic.nicovideo.jp*,</a>)|class=$AV(tag_frm)"
"|<p\sclass=$AV(tag_txt)>$SET(#=<table border="0" cellspacing="0" cellpadding="0" summary="tag" class="TXT12"><tr>\n<td>"
"<form name="tag"><select style="width:165px; margin-right:4px;" name="tag" onChange="jumpMENU('parent',this,0)">\n"
"<option>- - - - - - - -Tag- - - - - - - -</option>)"
"|<a\shref=$AV(tag/\0)[^>]+>\1</a>\ $SET(#=<option value="/tag/\0">\1</option>)"
"|(<a\shref=$AV(javascript:startTagEdit*)[^<]+</a> <a\shref=$AV(javascript:showGlobalTags*)[^>]+>)\0[^<]+</a> </p>"
"$SET(#=</select></form></td>\n<td>\0【海外】</a></td>\n</tr></table>)"
"|<table\sborder=$AV(0)\scellspacing=$AV(0)\scellpadding=$AV(0)> <tr\svalign=$AV(top)>$SET(#=</td>)$STOP()"
Replace = "\@"
![]()
[Patterns] Name = "Nico: Dictionaly Hyaku Killer" Active = TRUE URL = "www.nicovideo.jp/watch/$TYPE(htm)" Limit = 10000 Match = "<a\shref=[^>]++class=$AV(nicopedia_dic\s[un]++written)[^>]++>*</a>"
WATCHHEADER(投稿日から【この動画を登録しているマイリスト】までの部分)と動画表示領域を入れ替え
[Patterns] Name = "Nico watch - datails move [080207]" Active = TRUE Multi = TRUE URL = "www.nicovideo.jp/watch/$TYPE(htm)" Limit = 16384 Match = "($NEST(<div,\sid=$AV(WATCHHEADER)>*,</div>))\0" "\1(<div\sid=$AV(WATCHFOOTER)>)\2$STOP()" Replace = "\1\0\2"
[Patterns] Name = "M:NICO:RELOAD_OK" Active = TRUE URL = "www.nicovideo.jp/watch/sm*" Limit = 256 Match = "function pressKEY*var User" Replace = "var User"
a href="http://www.nicovideo.jp/watch/sm">ttp://www.nicovideo.jp/watch/sm</a>〜のHEAD部分、F5(116番)を探知、警告を出す部分
function pressKEY(keyCode){
if( keyCode == 116 ){
document.write('<p style="font-size:12px; text-align:center;">キー操作制限:ブラウザの...');}
}
を削除します。
Nico_Nanika_test.txt 場合によっては使える何かやテスト版
専用リサイズフィルタ
[Patterns]
Name = "NicoNicoRC - ResizeVideo (080523 popoVer) for Nanika"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/watch/"
Limit = 64
Match = "(<body*>)\#$SET(#=\n<script type="text/javascript"><!--\n"
"function resize(p) {\n"
"var swf=$('flvplayer');\n"
"var swfc=$('flvplayer_container');\n"
"swf.TSetProperty("_root",2,p);\n"
"swf.TSetProperty("_root",3,p);\n"
"swf.style.width=swfc.style.width=952*p/100+"px";\n"
"swf.style.height=swfc.style.height=540*p/100+"px";\n}\n"
"--></script>\n)"
"|<!--resize-->"
"$SET(#=\n<div class="TXT12" style="padding:0px 0px 0px 4px; "
"" id="resize""
">\n【▲】<font color="#000000">SIZE:</font>\n"
"<button onclick="resize(0)">BGM</button>\n"
"<button onclick="resize(25)">x0.25</button>\n"
"<button onclick="resize(50)">x0.5</button>\n"
"<button onclick="resize(75)">x0.75</button>\n"
"<button onclick="resize(100)">x1.0</button>\n"
"<button onclick="resize(125)">x1.25</button>\n"
"<button onclick="resize(150)">x1.5</button>\n"
"<button onclick="resize(175)">x1.75</button>\n"
"<button onclick="resize(200)">x2.0</button>\n"
"</div>)$STOP()"
Replace = "\@"
カテゴリタグの選択時にフィルタが無効化されるのを防ぎます。検索用には必須。
[Patterns] Name = "Nico: Top CategoryTag Replace (080401) HBN" Active = TRUE URL = "(www|tw).nicovideo.jp/((^?)|\?g=)$TYPE(htm)" Limit = 256 Match = "$NEST(<a,(\sclass=$AV(tag_*)[^>]++)\1\sonclick=$AV(switchCategoryTag*)\2,>)" Replace = "<a\1\2>"
[Patterns] Name = "NicoVideo: Del Category" Active = TRUE URL = "(www|tw).nicovideo.jp/$TYPE(htm)" Match = "<script\s[^>]++src=$AV(*/category.js*)*</script>"
topページの【トップ】 下のカテゴリ一覧から〜カテゴリボタンまでを全部消します。
[Patterns]
Name = "Nico: Top CategoryTag Del (080531) test02"
Active = TRUE
Multi = TRUE
URL = "(www|tw).nicovideo.jp/((^?)|\?g=)$TYPE(htm)"
Limit = 512
Match = "$NEST(<a,*id=$AV(tabA_category_(任意のカテゴリタグ))*,</a>)"
"|$NEST(<td>,<a\sclass*id=$AV(tabB_category_(任意のカテゴリタグ))*,</td>)"
※任意のカテゴリタグと書かれてる所に消したいカテゴリタグに文字を置き換える。 複数登録する場合は"|"で区切る 例:anime|game
標準モードでもRC2モードで動作します。
[Patterns]
Name = "Nico: right edit another (080813)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/((^?)|\?g=)"
Limit = 8192
Match = "onclick=$AV(switchCategoryTag*)"
"|($NEST(<div,\sclass=$AV(mb16p4)> <h3>*,</div>) )\0$SET(tag=\0\n)"
"|($NEST(<div,\sstyle=$AV(padding:4px;)> <div[^>]+> <table[^>]+> <tr> <td><a\shref=$AV(ranking/*)*,</div>) $NEST(<div,</div>) )\1$SET(ranking=\1\n)"
"|($NEST(<div,\sclass=$AV(mb16p4)> <div\sid=$AV(web_pc_categorygroup_*)*,</div>) )\2$SET(cm=\2\n)"
"|($NEST(<div,\sstyle=$AV(padding:4px;)> <div[^>]+> <table[^>]+> <tr> <td><a\shref=$AV(http://ichiba.nicovideo.jp/*)*,</div>) $NEST(<table,</table>) )\3$SET(ichiba=\3\n)"
"|($NEST(<div,\sstyle=$AV(padding:4px;)> <div[^>]+> <table[^>]+> <tr> <td><a\shref=$AV(newarrival|tag/*)*,</div>) $NEST(<div,</div>) )\4$SET(newarrival=\4\n)"
"|-->( <!--[%e2][%86][%91][%e5][%8f][%b3])\0$SET(#=-->\n"
"$GET(tag)"
"$GET(ranking)"
"$GET(ichiba)"
"$GET(newarrival)"
"$GET(cm)"
"\0)$STOP()"
Replace = "\@"