|
フィルタ、リスト公開/nicovideo
Top / フィルタ、リスト公開 / nicovideo
最終更新: 2009-11-07 (土) 16:07:02 (2h)
|
設定済みファイルを使用している場合、質問は設定済みファイル配布サイトで行ってください
| 省略 ※+クリックで表示 JavaScript必須 |
概要
※現在複数のバージョンに分かれています
flvplayer_wrapper_mod の最新版はこちら からチェックできます
flvplayer_wrapper_mod 2009-07-11 ニコ割対応(3種類のデザインから選択)
導入
[Patterns]
Name = "NicoVideo: FlvPlayerWrapper1 ReplaceWrapper custom 090430"
Active = TRUE
URL = "www.nicovideo.jp/watch/$TYPE(htm)"
Limit = 1024
Match = "(id=$AV(flvplayer_container))\1 style=\2height:512px;\3new SWFObject\("\4/new/nicoplayer.swf\5$AV(512)\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)"
[HTTP headers] In = TRUE Out = TRUE Key = "URL: NicoVideo: always use oldplayer (both) swf" Match = "http://www.nicovideo.jp/swf/new/nicoplayer.swf $JUMP(http://www.nicovideo.jp/swf/nicoplayer.swf)"
新プレイヤーにアクセスすると、自動的に旧プレイヤーを参照するフィルタ。
「$JUMP」の前に「(^$KEYCHK(N))」などを入れて、特定のキーを押しながら読み込んだ場合のみ無効にする用にした方が便利かも。
[Patterns]
Name = "NicoVideo: WatchCushion (081111)"
Active = TRUE
URL = "[^/.]+.nicovideo.jp/watch/?$TYPE(htm)$OHDR(Referer: (^https+://([^/]++.|)(nicovideo|smilevideo|nicochart).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|nicochart).jp/)?)」を「(^$OHDR(Referer: https+://([^/]++.|)(nicovideo|smilevideo|nicochart).jp/))」に置換してください。
[HTTP headers] In = TRUE Out = TRUE Key = "URL: NicoVideo JIHOU Killer (both)" URL = "www.nicovideo.jp/api/getmarquee" Replace = "\k"
※「送信するヘッダフィルタ」か「受信するヘッダフィルタ」のどちらかのみが有効になっている場合も動作するように both にしています。
※#iroiroを使用する場合、このフィルタは無効にしてください
概要
問題点
導入
[Patterns]
Name = "NicoVideo: add download link (090207) swf"
Active = TRUE
URL = "[^/.]+.nicovideo.jp/watch/?$TYPE(htm)"
Limit = 256
Match = "(^(^</body>))"
Replace = "$STOP()"
"<script type="text/javascript">\r\n"
"_d = document;\r\n"
"var myAjax = new Ajax.Request(\r\n"
" 'http://www.nicovideo.jp/api/getflv?v='+Video.id,\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"
" + Video.id + (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:#F55" href="'+movie_url+'">'+title+'</a>'"
" + ' <span id="setclipboard_container" style="width:100px; height:22px; vertical-align:bottom"></span>'\r\n"
" + '<textarea id="copy" style="display:none">'+filename+'</textarea>';\r\n"
" "
" var so_setclipboard = new SWFObject("http://local.ptron/setClipboard10.swf", "external_setclipboard", 100, 22, 8, "#FFFFFF");\r\n"
" so_setclipboard.addParam("bgcolor", "#FFFFFF");\r\n"
" so_setclipboard.addParam("allowScriptAccess", "always");\r\n"
" so_setclipboard.addVariable("htmlid", "copy");\r\n"
" so_setclipboard.addVariable("value", filename.replace(/&/g, '&'));\r\n"
" so_setclipboard.write("setclipboard_container");\r\n"
" }\r\n"
" }\r\n"
");\r\n"
"</script>\r\n"変更点・更新履歴
概要
動作内容
問題点
[Patterns]
Name = "NicoVideo: filenaming from title [IE] (090129) (Web)"
Active = TRUE
URL = "www.nicovideo.jp/watch/$OHDR(User-Agent: *MSIE)"
Limit = 8
Match = "(^(^</body>))$STOP()"
Replace = "<script type="text/javascript">"
"var filename = Video['title']"
".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.cookie = 'filename=' + filename + '_' + Video['id'] + '; domain=.nicovideo.jp; path=/;';"
"</script>"
[HTTP headers] In = TRUE Out = FALSE Key = "Content-Disposition: NicoVideo filenaming from title [IE] (090129) (In)" URL = "[^.]+.nicovideo.jp/smile\?[vms]$OHDR(User-Agent: *MSIE)" Match = "inline; filename="smile.\8"($OHDR(Cookie: *filename\=([^;]+)\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=\9$LOG(RContent-Disposition: NicoVideo filenaming from title [IE] (090129) (In))"
解決済みの問題
[Patterns]
Name = "NicoVideo: filenaming from title [Fx] (090128) (Web)"
Active = TRUE
URL = "www.nicovideo.jp/watch/$OHDR(User-Agent: *Gecko)"
Limit = 8
Match = "(^(^</body>))$STOP()"
Replace = "<script type="text/javascript">"
"var filename = Video['title']"
".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.cookie = 'filename=' + encodeURIComponent(filename + '_' + Video['id']) + '; domain=.nicovideo.jp; path=/;';"
"</script>"
[HTTP headers] In = TRUE Out = FALSE Key = "Content-Disposition: NicoVideo filenaming from title [Fx] (091007) (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 = "inline; filename*=UTF-8''\9$LOG(RContent-Disposition: NicoVideo filenaming from title [Fx] (091007) (In))" In = TRUE Out = FALSE Key = "Content-Type: NicoVideo swf2octet-stream (091007) (In)" URL = "[^.]+.nicovideo.jp/smile\?s" Match = "application/x-shockwave-flash" Replace = "application/octet-stream$LOG(RContent-Type: NicoVideo swf2octet-stream (091007) (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 = "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 toggle (081004)"
Active = TRUE
URL = "[^/.]+.nicovideo.jp/watch/?$TYPE(htm)"
Limit = 256
Match = "<div id=$AV(video_controls)> <div\s(^(^[^>]++id=$AV(video_tags)))"
Replace = "$STOP()"
"<div id="video_controls">"
"<a href="javascript:void(0)" onclick=""
" document.getElementById('video_tags').style.display = document.getElementById('video_tags').style.display==='none' ? 'inline' : 'none'"
"" class="TXT12">【タグ】</a> "
"<style type="text/css">#video_tags P{ display:inline } #video_tags P STRONG{ display:none }</style>"
"<div style="display:none""
ついでに「登録タグ:」を隠し、タグ一覧をinlineにすることでスペース確保 タグ編集などしても効果有り
バイパス時でも発生することがある、この現象(IE以外で発生するかは知らん)はブラウザが勝手にキャッシュを参照して(返ってくるのはtext/javascriptで、それ自体では記事の有無は判断出来ないっぽいそれを実行して記事の有無を判断するっぽいが、キャッシュがあると実行されない?)、記事が存在しない物と決め付けているのが原因かと思われます。
ので、キャッシュを禁止して、必ずリクエストを出して確認させるフィルタ。 これで大百科マニアも大満足。
※サーバーに負担を掛けることになります。この現象が確認出来ない場合は、導入しない方が良いです。
[HTTP headers] In = TRUE Out = FALSE Key = "Cache-Control: api.nicodic.jp no-cache (in)" URL = "api.nicodic.jp/" Replace = "no-store" In = TRUE Out = FALSE Key = "Expires: api.nicodic.jp no-cache (in)" URL = "api.nicodic.jp/" In = FALSE Out = TRUE Key = "If-Modified-Since: api.nicodic.jp no-cache (out)" URL = "api.nicodic.jp/" Replace = "Thu, 01 Jun 1970 00:00:00 GMT" In = TRUE Out = FALSE Key = "Pragma: api.nicodic.jp no-cache (in)" URL = "api.nicodic.jp/" Replace = "no-cache"
[Patterns] Name = "NicoVideo: Collect-TAG (081213)" Active = TRUE URL = "www.nicovideo.jp/watch/?$TYPE(htm)" Limit = 128 Match = "(^(^</body>))" Replace = "$STOP()<script type="text/javascript" charset="utf-8" src="http://local.ptron/NicoVideo_Collect-TAG.js"></script>\r\n"
「id="tag_collection"」がHTML中にあれば、そこにセレクトボックスを挿入。無い場合、適当な位置に挿入します。
#iroiroから分離 IE/Trident以外でも動く筈 ※併用する場合「NicoVideo: iroiro (2/2)」フィルタより下に置いてください。
090709 文字が大きくなっていたのを修正 081115 タグ編集時/タグ非表示時は常に一番下にタグ本来の並びの物も追加するようにした & 「現在のタグの並び」が見辛いので「===== 現在のタグの並び =====」にした
[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: space 2 br (090611)"
Active = TRUE
Multi = TRUE
URL = "www.nicovideo.jp/watch/$TYPE(htm)"
Limit = 2048
Match = "$NEST((<p\sclass=$AV(video_des))\0>,(\#([%E3][%80][%80]|[%20])+{2,*}$SET(#=<br />))+\#,</p>)"
Replace = "$STOP()\0>\@</p>"
動画説明文の、スペースによる改行(たまにやっている動画がある)を改行タグに置換します
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"
F5でのキー制限を解除します。
[Patterns] Name = "M:NICO:RELOAD_OK" Active = TRUE URL = "www.nicovideo.jp/watch/sm*" Limit = 256 Match = "function pressKEY*var User" Replace = "var User"
ctrlキーを押しながら再生ページを開くと自動再生。
$KEYCHK(^C)の部分でキーを指定してるので、$KEYCHK(^C)を外せば、常に自動再生します。
キーコードは下を参照
http://abc.s65.xrea.com/prox/wiki/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E4%B8%80%E8%A6%A7/#keychk
(自動再生許可と組み合わせて、自動再生の使い分けが出来る)
auto_play.js
を保存してhtmlフォルダへ
[Patterns] Name = "Nico:Auto play onPress" Active = TRUE URL = "www.nicovideo.jp/watch/$TYPE(htm)$KEYCHK(^C)" Limit = 16 Match = "(^(^</head>))$STOP()" Replace = "<script type="text/javascript" charset="utf-8" src="http://local.ptron/auto_play.js"></script>\r\n"
9_test.txt テスト版公開中
iroiro併用可(iroiro_conf.jsの設定を"del_footer = false;"にしてください)
専用リサイズフィルタ
[Patterns]
Name = "NicoWatch: ResizeVideo for Nanika (090514)"
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=512*p/100+"px";\n}\n"
"--></script>\n)"
"|<!--resize-->"
"$SET(#=\n<div class="TXT12" style="padding:0px 0px 4px 0px; " id="resize">$GET(s_)"
""
"resize"
"$GET(s2)"
""
"\n<font color="#222">【▲】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 = "NicoWatch: comment height limiter (091103)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/watch/"
Limit = 6400
Match = "(<body[^>]+>)\#$SET(#=\n<style type="text/css"><!--\n.height_limiter { font-size:12px; "
"line-height:1.375; max-height:5.5em; overflow-y:auto; "
"border:solid #F9F9F9; border-width:2px 0px 2px 0px; "
"padding:2px 4px 2px 4px; margin:0px 0px 0px 0px; "
"}\n--></style>)"
"|(<table width="976"[^>]++cellpadding=)\#"4"([^>]++style=)\0("border:solid 2px #CCC; margin:4px;")\1$SET(#="0"\0\1)"
"|(> )\#(<td[^>]++)\0"(><im[^>]++class="video_des_tit"></td>)\1( <td width="100%" style=)\2"background:#F9F9F9;"><p class="font12">"
"$SET(4=\0 padding:4px;"\1)"
"$SET(#=\4\2"background:#F9F9F9;"><p class="height_limiter">)"
"|(<p class="(font10|height_limiter)">[^\n\r]++)\#( [%E3][%80][%80] | [%E2][%80][%81] )+{4,*}([^\r\n]+)\0$SET(#=<br />\0)"
Replace = "\@"
[Patterns]
Name = "nicovideo | open owner description 20090429"
Active = TRUE
URL = "www.nicovideo.jp/watch(/|\?) $TYPE(htm)"
Limit = 100
Match = "(<td [^>]+> <p )\#[^>]+(^(^><a href="#" onclick="showOBJ))$SET(#=style="display:none;")|"
""
"(<div id="des_1")\#[^>]+$SET(#= style="display:none;")|"
"(<div id="des_2")\#[^>]+$SET(#= style="display:block;")"
Replace = "\@"
[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: 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 = "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 = "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)))"
NG WORD に一致した場合、そのコメント自体を削除
[Blocklists] List.NGword_UTF-8 = "..\Lists\NGword_UTF-8.txt"
[Patterns] Name = "NicoVideo: NG word (081109)" Active = TRUE URL = "msg.nicovideo.jp/[0-9]+/api/(^?)" Bounds = "<chat\s*</chat>( <num_click| </packet>|)" Limit = 512 Match = "<chat(([^">]+\"[^"]+\")+[^>]+)\0*$LST(NGword_UTF-8)*</chat>" "(( <num_click| </packet>)\1 $SET(2=<chat deleted="1"\0></chat>\1) |)" Replace = "\2"
「*$LST」を「>*$LST」に書き換えると若干高速化しますが、行頭指定が出来なくなります。
081109 行頭も指定可能にした(但し若干低速化 リストやコメントXMLにもよるが、1割程低速化??) 081103 <num_click が多すぎる時に最後のコメントが消されると、LogListが真っ白になり表示されなくなるのを修正 ついでに deleted="1" を付けたので、LogListに無駄な空行が入るのも防げる(動画投稿者によるコメント削除扱い) 080626 @ボタンコメントがある動画で最終コメントがNGの場合、再生が始まらないのを修正。※081002更新が追加されてなかったようなので追加 070806 $TYPE(oth) を削除&「[] 」が残るのを直した ※空行が残りますが、それを消すとLogListが真っ白になり表示されなくなります 070717 リスト名を NGword から NGword_UTF-8 に変更 & ファイル名を nicoNG List.txt から NGword_UTF-8.txt に変更 & (^?) 追加 070714b 最後のコメントが消されると、「コメント取得中のため、処理が中断されました。」になり、LogListが真っ白になるのを修正 070611 無意味な Multi を削除 070513 書き込み後の <chat_result に誤爆していたのを修正 070511a まず無いが、誤爆しないように変更
行頭は「>」、行末は「(^(^<))」 「abc」のみのコメントにマッチさせたい場合、「>abc(^(^<))」と指定してください。
参考リスト(ご自由に追記してください)
NG COMMAND に一致した場合、そのコメント自体を削除
[Patterns] Name = "NicoVideo: NG command (081103)" Active = TRUE URL = "msg.nicovideo.jp/[0-9]+/api/(^?)" Bounds = "<chat\s*</chat>( <num_click| </packet>|)" Limit = 512 Match = "<chat(^(^\s))((\s(^mail=)[^">]+\"[^"]+\")+\smail=$AV((*\s|)from_button(\s*|(^?)))([^">]+\"[^"]+\")+[^>]+)\0>*</chat>" "(( <num_click| </packet>)\1 $SET(2=<chat deleted="1"\0></chat>\1) |)" Replace = "\2"
※from_button を好きなコマンドに変えてください
(投稿者コメントの@ボタンで投稿されたコメントは mail に from_button が含まれています)
(閲覧者用の@ボタンで投稿されたコメントは mail に is_button が含まれています)
(世界の新着動画から投稿されたコメントは mail に _live が含まれています)
タイトルか作者コメントにリストで指定した文字列を含む、または指定したアドレスの動画を非表示にします。
また特定のチャンネル、コミュニティに所属する動画も非表示にします。
リストの記述法はNG WORDと同様です。チャンネルは「ch***」、コミュニティは「co***」の形で記述してください。
[Blocklists] List.NGtitle = "..\Lists\NGtitle.txt"
[Patterns]
Name = "Nico: NGtitle (091104)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/(^related_tag|watch)"
Limit = 4096
Match = "(<td>|<div style="padding:4px;">)"
"( <!----> $NEST(<div,[^>]++class=$AV(thumb_uad_header)*,</div>) <!----> |\s)"
"$NEST(<div,[^>]++class=$AV(thumb_frm)*"
"(<a\s[^>]++href=$AV(watch/$LST(NGtitle))"
"|<img\s[^>]++src=$AV(*(common/|channel_)cms/$LST(NGtitle).gif)"
"|<a\s[^>]++class=$AV(video)[^>]+>(<span\s[^>]+>|)[^<]++$LST(NGtitle)"
"|class=$AV((vinfo_description|font12))>[^<]++$LST(NGtitle)"
")*,</div>)\s"
"(</td>|</div>)"
"|$NEST(<table,\s[^>]++width=$AV(664)*<a\s[^>]++href=$AV(*(community|channel)/$LST(NGtitle)(^?))*,</table>) <div\s[^>]+> <!--[^>]+> $NEST(<div,</div>) <!--[^>]+> $NEST(<div,\s[^>]++class=$AV(thumb_frm)*,</div>) </div>"
"|$NEST(<tr,*(<a\s[^>]++href=$AV(watch/$LST(NGtitle)(^?))|<a\s[^>]++class=$AV(video)[^>]+>[^<]++$LST(NGtitle))*,</tr>) $NEST(<tr,[^>]+><td\scolspan=$AV(2)*,</tr>)"
"|(^(^<td>( <!----> $NEST(<div,[^>]++class=$AV(thumb_uad_header)*,</div>) <!---->|)[^>]++style=$AV(width:(312|288)px;)))$SET(ng=$GET(ng)1)$TST(ng=111)$SET(#=</tr><tr valign="top" style="">)$SET(ng=)"
"|(^(^<td>[^>]++style=$AV(width:132px;)))$SET(ng=$GET(ng)1)$TST(ng=11111)$SET(#=</tr><tr valign="top" style="">)$SET(ng=)"
"|</tr> <tr\svalign=$AV(top)>$URL(http://www.nicovideo.jp/(newarrival|recent|search|tag|?g=(^all)))"
"|(class=$AV(worldvideo_bg))\#$SET(ng=)"
"|(^(^<div\sclass="content_360"))$STOP()"
Replace = "\@"
作者コメントに反応させたくない場合はマッチ部分の上から7行目を削除
コミュニティ、チャンネルに反応させたくない場合はマッチ部分の上から5、10行目を削除
検索表示を3列にしている場合は下から4行目の ng=111 を ng=1111 にする
NG TITLEに一致した場合、自動的に一つ前のページに戻るか、ページを閉じる
[Patterns] Name = "NicoVideo: NG-TITLE (watch, javascript) (081106)" Active = TRUE Multi = TRUE URL = "[^/.]+.nicovideo.jp/watch/?$TYPE(htm)" Limit = 2048 Match = "(^(^</head>))" Replace = "$STOP()<script type="text/javascript" charset="utf-8" src="http://local.ptron/NicoVideo_NG-TITLE.js"></script>\r\n"
従来のNGtitleはNG動画を削除しますが、こちらは隠すだけ。"NG"をクリックすればNG動画を確認できます。
NGtitleと併用する時はNGtitleのURLマッチを「$TYPE(htm)www.nicovideo.jp/(^related_tag|watch|ranking)」にしてください。
※チャンネル、コミュニティ動画は削除できません
[Patterns]
Name = "Nico: Hide Ranking NGtitle (090409)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/ranking/"
Limit = 4096
Match = "(<table\swidth=$AV(664)[^>]+>)\0 $NEST(<tr,*<span\sstyle=$AV(font-size:200%;)>([^<]+)\1*,</tr>) </table>"
"( <div\sstyle="margin:0 4px 4px;)\2">"
" <!--[^>]+> $NEST(<div,</div>) <!--[^>]+>"
"( $NEST(<div,\s[^>]++class=$AV(thumb_frm)*("
"<h3><a\s[^>]++href=$AV(watch/($LST(NGtitle)(^?))\3)[^>]+>([^<]+)\4"
"|<h3><a\s[^>]+>([^<]++($LST(NGtitle))\3[^<]+)\4"
"|<a\s[^>]+>([^<]+)\4</a></h3> $NEST(<p,\sclass=$AV(TXT12)>[^<]++($LST(NGtitle))\3*,</p>)$SET(5= - C)"
")*,</div>)"
" </div>)\6"
Replace = "\0<tr style="font-size:x-small;">\n"
"<td style="width:132px; text-align:right;">"
"\1位 - - - <a href="javascript:void(0)" onClick="o=$('ng\1').style;if(o)o.display=o.display?'':'none';return false;">NG</a>"
"</td>\n"
"<td style="width:100px; padding-left:12px;">[ \3 ]\5</td>\n<td>\4</td>\n"
"</tr></table>"
"\2 display:none;" id="ng\1">\6"
作者コメントに反応させたくない場合はマッチ部分7行目をすべて削除
動画の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]側をクリックすれば動画アドレスとタイトルを追加。
チャンネル・コミュのタイトルまたはアイコンの後ろの[NG]をクリックすればチャンネル・コミュのアドレスとタイトルを追加。
[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 (090412)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)(www|com|ch).nicovideo.jp/"
Limit = 256
Match = "</p>( (<div\sstyle=$AV(margin:*;)> <h3>|<p\sclass=$AV(TXT12)>|<h3[^>]+>|<table\swidth=$AV(100%)\sborder=$AV(0)[^>]+> <tr\svalign=$AV(top)> <td> <p>)"
"<a[^>]++href=$AV(*watch/\0)[^>]+>)\1$SET(#= "
"<a style="text-decoration:none; color:#F00;" title="address only" href="\u?NG\0"><strong>[N</strong></a>"
"<a style="text-decoration:none; color:#00F;" title="address\+name" href="watch/\0?tNG"><strong>G]</strong></a></p >\1)"
"|($NEST(<a,\shref=$AV(http://(com|ch)\1.nicovideo.jp/\2/((co|ch)[0-9]+)\0)><strong>*,</a>))\#$SET(#= "
"<a style="text-decoration:none; color:#000; font-size:10px;" title="\2 address\+name" href="http://\1.nicovideo.jp/\2/\0?tNG"><strong>[NG]</strong></a>)"
"|(<img\ssrc=$AV(*(channel)\1_cms/\0.gif)[^>]+>)\#$SET(#="
"<a style="text-decoration:none; color:#000; font-size:10px;" title="\1 address\+name" href="http://ch.nicovideo.jp/channel/\0?tNG"><strong>[NG]</strong></a>)"
"|<title>\1([%e2][%80][%90]| - )[%e3][%83][%8b][%e3][%82][%b3]"
"$URL(http://(www|com|ch).nicovideo.jp/[^/]+/\0?tNG)$ADDLST(NGtitle,#\1)$ADDLST(NGtitle,\0)"
"$SET(#=\k<script type="text/javascript"> if (history.length) history.back(); else (window.open('','_top').opener=top).close(); </script>)"
Replace = "\@"
※NicoVideo: title と併用する場合、それより前(上)にしないと G] が効きません
登録時に視聴履歴に残るのが嫌な方は下のフィルタを入れてください
[HTTP headers] In = TRUE Out = FALSE Key = "Set-Cookie: NGTitle (In)" URL = "www.nicovideo.jp/watch/*?tNG" Match = "*"
リンクを押したときに検索バーの内容を
# 検索バーの内容
マッチ用の文字列
の形式でリストに追加してページをリロードする
動画ページでリンクを押した場合は
# 動画タイトル
動画ID
の形式でリストに追加して前のページに戻る(釣られたときとか用)
[Patterns]
Name = "Nico:addlist from searchbar (NGtitle.txt) (090407)"
Active = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/search/NGtitle/(vid/[^/]+/|)((%[a-z0-9][a-z0-9])\0$SET(ng=$GET(ng)[\0])|(?)\0$SET(ng=$GET(ng)$WESC(\0)))+"
Limit = 512
Match = "(^(^var\sq=$AV(NGtitle/vid/\0/\1)))$ADDLST(NGtitle,\r\n# $WESC(\1))$ADDLST(NGtitle,\r\n\0)$STOP()"
"|(^(^var\sq=$AV(NGtitle/\0)))$ADDLST(NGtitle,\r\n# $WESC(\0))$ADDLST(NGtitle,\r\n$GET(ng))$STOP()"
次のリンクを他のフィルタ等でページの適当な場所に挿入しておく
<a href="javascript:void(0);" onclick="
if(window.Video){
var title=so.getVariable('wv_title');if(title=='-') title=so.getVariable('thumbTitle');
new Ajax.Request('http://www.nicovideo.jp/search/NGtitle/vid/'+Video.id+'/'+title,{onSuccess:function(){ if(document.referrer.substr(0,0)+"http://abc.s65.xrea.com/prox/wiki/index.php".substr(0,0)+"http://abc.s65.xrea.com/prox/wiki/?cmd=edit&page=%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%80%81%E3%83%AA%E3%82%B9%E3%83%88%E5%85%AC%E9%96%8B%2Fnicovideo".length) location.href=document.referrer.substr(0,0)+"http://abc.s65.xrea.com/prox/wiki/index.php".substr(0,0)+"http://abc.s65.xrea.com/prox/wiki/?cmd=edit&page=%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%80%81%E3%83%AA%E3%82%B9%E3%83%88%E5%85%AC%E9%96%8B%2Fnicovideo"; }});
} else if($F('bar_search').strip()!='') new Ajax.Request('http://www.nicovideo.jp/search/NGtitle/'+encodeURIComponent($F('bar_search').strip()),{onSuccess:function(){ location.reload(); }});
">NG</a>
動画ページでリストで指定した文字列を含むタグを非表示にします。
リストの記述法は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+\ \ |)+"
NG TAGに一致した場合、自動的に一つ前のページに戻るか、ページを閉じる
[Patterns]
Name = "NicoVideo: NG-TAG (watch, javascript) (081106)"
Active = TRUE
Multi = TRUE
URL = "[^/.]+.nicovideo.jp/watch/?$TYPE(htm)"
Limit = 2048
Match = "Video={*</script>&&\0"
Replace = "$STOP()\0\r\n<script type="text/javascript" charset="utf-8" src="http://local.ptron/NicoVideo_NG-TAG.js"></script>"
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 (081212)" Active = TRUE URL = "www.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] \(*\) ,</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 = "Nico: Top CategoryTag Replace (090211) HBN" Active = TRUE URL = "(www|tw).nicovideo.jp/((^?)|\?g=)$TYPE(htm)" Limit = 256 Match = "$NEST(<a,(\sclass=$AV(tab_*)[^>]++)\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 Plus(090401)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/((^?)|\?g=)"
Limit = 10000
Match = "onclick=$AV(switchCategoryTag*)"
"|($NEST(<div,\sclass=$AV(mb8p4)*web_pc_premium*,</div>))\0$SET(cm=\0)"
"|($NEST(<div,\sclass=$AV(mb8p4)*href=$AV(http://com.nicovideo.jp/channel/*)*,</div>))\1$SET(cha=\1)"
"|($NEST(<div,\sclass=$AV(mb8p4)*href=$AV(ranking/*/*/all)*,</div>))\2$SET(rank=\2)"
"|($NEST(<div,\sclass=$AV(mb8p4)*href=$AV(http://com.nicovideo.jp/community/*)*,</div>))\3$SET(comm=\3)"
"|($NEST(<div,\sclass=$AV(mb8p4)*href=$AV(newarrival)*,</div>))\4$SET(newa=\4)"
"|($NEST(<div,\sclass=$AV(mb8p4)*href=$AV(http://ichiba.nicovideo.jp/*)*,</div>))\5$SET(ichi=\5)"
"$SET(#="
"$GET(cm)"
"$GET(cha)"
"$GET(rank)"
"$GET(comm)"
"$GET(newa)"
"$GET(ichi)"
")$STOP()"
Replace = "\@"
[Patterns]
Name = "Nico: right edit (090501)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/((^?)|\?g=)"
Limit = 8192
Match = "onclick=$AV(switchCategoryTag*)"
"|$NEST(<tr,><td>( <strong>[%e9][%96][%a2][%e9][%80][%a3]*)\0,</tr>)$SET(tag=<div class="mb8p4" style="font-size:12px;"><div class="ctg_right_frm">\0\n</div></div>\n)"
"|($NEST(<div,\sclass=$AV(mb8p4)> <div\sid=$AV(web_pc_premium)*,</div>) <!----> )\0$SET(cm1=\0)"
"|($NEST(<!--[%e2][%86][%93][%e3][%83][%81],[%e3][%83][%ab][%e2][%86][%91]-->) )\0$SET(channel=\0)"
"|($NEST(<!--[%e2][%86][%93][%e5][%8b][%95],<!--[%e2][%86][%91][%e5][%8b][%95][^>]+>) )\0$SET(ranking=\0)"
"|(<!----> $NEST(<table,\swidth=$AV(100%)*,</table>) $NEST(<textarea,</textarea>) $NEST(<script,</script>) <!----> )\0$SET(cm2=\0)"
"|($NEST(<!--[%e2][%86][%93][%e9][%96][%a2][%e9][%80][%a3][%e3][%82][%b3],[%e3][%82][%a3][%e2][%86][%91]-->) )\0$SET(community=\0)"
"|($NEST(<!--[%e2][%86][%93][%e6][%96][%b0],[%e7][%94][%bb][%e2][%86][%91]-->) )\0$SET(newarrival=\0)"
"|($NEST(<!--[%e2][%86][%93][%e5][%b8][%82],<!--[%e2][%86][%91][%e5][%b8][%82][^>]+>) )\0$SET(ichiba=\0)"
"|($NEST(<div,\sclass=$AV(mb8p4)> <p\sid=$AV(web_pc_*)*,</div>) $NEST(<script,</script>) <!----> )\0$SET(cm3=\0)"
"|(<!--[%e2][%86][%91][%e5][%8f][%b3][^>]+>)\0$SET(#=\n"
"$GET(ranking)"
"$GET(newarrival)"
"$GET(tag)"
"$GET(channel)"
"$GET(community)"
"$GET(ichiba)"
"$GET(cm1)"
"$GET(cm2)"
"$GET(cm3)"
"\0)$STOP()"
Replace = "\@"
自分の好みに合わせて、「$GET()」ではじまる行を並べ替えたり、削除したりしてトップページ右列を整頓する。
ranking:動画ランキング newarrival:新着投稿動画 tag:注目のタグ channel:チャンネル community:コミュニティ ichiba:市場ランキング cm1、2、3:広告
動作していないため誰か修正お願いします。
元ソースはコメントアウトしてあります。
[Patterns]
Name = "NicoVideo: Close secret user profile (080510)"
Active = TRUE
URL = "(www|tw).nicovideo.jp/user/[0-9]"
Limit = 128
Match = "(^(^<h1>$STOP()[%E9][%9D][%9E][%E5][%85][%AC][%E9][%96][%8B]))"
Replace = "<script type="text/javascript">"
"if (history.length) history.back();"
"else (window.open('','_top').opener=top).close();"
"</script>\k"
[Patterns]
Name = "Nico: Mylist 1line => 2line (091104)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/mylist/"
Limit = 256
Match = "(<body[^>]+>)\#$SET(#=\n<style type="text/css"><!-- .content_672 {overflow:visible;width:100%;} .content_312 {display:none;} --></style>)"
"|({if \$page_items.length > 0}\s)\#"
"$SET(#=<table>\n)"
"({foreach from=\$page_items item=item}\s)\#"
"$SET(#={if \$line>0}<tr valign="top">{/if}<td height="100%">\n)"
"({include id="tpl_mylistitem" show_checkbox=1 show_memo=1}\s)\#"
"$SET(#={math assign="line" equation="-line" line=\$line}</td>{if \$line>0}</tr>{/if}\n)"
"({/foreach}\s)\#"
"$SET(#=</table>\n)"
"|(Jarty.globals\({\s)\#$SET(#=line: 1,\n\t\t)"
"|(<table width=")\#672$SET(#=480)"
Replace = "\@"
[Patterns]
Name = "Nico: history 1line => 2line (091029)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/history"
Limit = 256
Match = "(<body[^>]+>)\#$SET(#=<style type="text/css"><!-- .content_672 {overflow:visible;width:100%;} .content_312 {display:none;} --></style>)"
"|(<table)\# width="672"(*</tr>)\#"
"$SET(#=<tr valign="top"><td height="100%"><table width="480" height="100%" cellspacing="0" cellpadding="2">)"
"|(</p></td></tr>\s)\#$SET(#=</table></td>)((^<tr)$SET(#=</tr>)|$SET(column=$GET(column)1)"
"($TST(column=11)$SET(#=</tr> <tr valign="top">)$SET(column=)|)"
"$SET(#=<td height="100%"><table width="480" height="100%" cellspacing="0" cellpadding="2">))"
"|(<strong>)\#20\1[%E5][%B9][%B4]\2[%E6][%9C][%88]\3[%E6][%97][%A5]$SET(#=\1/\2/\3)"
Replace = "\@"
Ranking-PlayingTimeChecker+2line.txt
こんな感じになります
Ranking-PlayingTimeChecker+2line.png
※NGtitleと併用する場合はNGtitleの方の優先順位を上にしてください
[Patterns]
Name = "Nico: Ranking-PlayingTimeChecker-[MULTI TIME]+View+ (091106a)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/ranking(^/*/*/ichiba)"
Limit = 4096
Match = "(<div[^>]++class=$AV(thumb_frm))\1[^>]+>(*<p class="vinfo_length"><span)\2>"
"(([#0:2])\3$SET(4=background:white; border:#ECECEC)$SET(9=font-size:12px; background:gray;)"
"|([#3:6])\3$SET(4=background:#F7F7F7; border:#E4E4E4)$SET(9=font-size:12px; background:black;)"
"|([#7:12])\3$SET(4=background:ghostwhite; border:lavender)$SET(9=font-size:12px; background:royalblue;)"
"|([#13:22])\3$SET(4=background:#FFFFF5; border:#FDF6C9)$SET(9=font-size:12px; background:orange;)"
"|([#23:*])\3$SET(4=background:#FFF9F9; border:mistyrose)$SET(9=font-size:12px; background:red;))"
"(*[%E7][%94][%9F] <strong)\5>"
"$URL(*/(view)$SET(r_00=\5 style="font-size:120%;">)"
"|*$SET(r_00=\5>))"
"(([0-9]+,[0-9]+,[0-9]+)\6$SET(r_04=navy)$SET(7= solid 4px; padding:4px; color:$GET(r_04)\;)"
"|([#500:999],[0-9]+)\6$SET(r_04=#000064)$SET(7= solid 3px; padding:5px; color:$GET(r_04)\;)"
"|([#100:499],[0-9]+)\6$SET(r_04=#000049)$SET(7= double 3px; padding:5px; color:$GET(r_04)\;)"
"|([#10:99],[0-9]+)\6$SET(r_04=black)$SET(7= solid 2px; padding:6px; color:$GET(r_04)\;)"
"|([1-9],[0-9]+)\6$SET(r_04=#404040)$SET(7= solid 1px; padding:7px; color:$GET(r_04)\;)"
"|([0-9]+{3})\6$SET(r_04=#555555)$SET(7= dotted 0px; padding:8px; color:$GET(r_04)\;)"
"|([#0:99])\6$SET(r_04=gray)$SET(7= dashed 0px; padding:8px; color:$GET(r_04)\;))"
"($URL(*/(view|fav))(*</p>)\8$SET(r_01=\8)"
"|$URL(*/res)(*<strong)\0>(*</p>)\8$SET(r_01=\0 style="font-size:120%;">\8)"
"|(*<a[^>]+><strong)\0>(*</p>)\8$SET(r_01=\0 style="font-size:120%;">\8))"
"$SET(#=\1 style="\4\7">\2 style="\9">\3$GET(r_00)\6$GET(r_01))"
"|(<a href="openlist/[a-z][a-z][0-9]+")\#$SET(#= style="color:$GET(r_04);")"
""
"|([%E5][%86][%8D][%E7][%94][%9F] <strong[^>]+>([0-9,]+)\9</strong>*"
"<strong[^>]+>([0-9,]+)\0</strong>)\#"
"(*<strong[^>]+>([0-9,]+)\1</strong></a>)\2$SET(#="
"<script>document.write(' / <b>'+(('\0').replace(/,/g, '')-0 ? Math.round(('\0').replace(/,/g,'') / "
"('\9').replace(/,/g,'') *1000)/10 : 0)+'%</b>')</script>"
"\2"
"<script>document.write(' / <b>'+(('\1').replace(/,/g, '')-0 ? Math.round(('\1').replace(/,/g,'') / "
"('\9').replace(/,/g,'') *1000)/10 : 0)+'%</b>')</script>"
")"
Replace = "\@"
[Patterns]
Name = "Nico: Ranking-2line (091107)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/ranking/"
Limit = 256
Match = "(<body[^>]+>)\#$SET(#=\n<style type="text/css"><!--\n"
".body_984 {overflow:visible;width:1300px} .content_672 {overflow:visible;width:984px;}"
".list_count_2 {font-size:12px; width:42px; font-weight:bold; text-align:right;}"
"\n--></style>\n)"
""
"|([%E6][%8A][%9E][%E2][%86][%91]-->\s</div>\s)\#(^(^<!--[%E2][%86][%93]id))"
"$SET(#=<table class="2line_table" border="0" cellspacing="0" cellpadding="0">\n"
"<tr class="2line_tr" valign="top">\n<td class="2line_td">\n)$SET(line=1)"
"|(</div>\s</div>\s<!--[%E2][%86][%91]id[^>]+>\s)\#$SET(#=</td><!--2line_td-->\n)"
"((^<!--[%E2][%86][%93]id)$SET(#=</tr><!--2line_tr-->\n</table><!--2line_table-->\n)|"
"($TST($GET(line)=11)$SET(line=1)$SET(#=</tr><!--2line_tr-->\n<tr class="2line_tr" valign="top">\n)|$SET(line=11))"
"$SET(#=<td class="2line_td">\n))"
""
"|(<table width=")\#648$SET(#=468)"
"|(style="width:)\#(648px$SET(#=468px)|484px$SET(#=100%))"
"|<div class="list_count">$SET(#=<div class="list_count_2">)"
Replace = "\@"
[Patterns]
Name = "Nico: Ranking-2line+smart(091107)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/ranking/"
Limit = 16000
Match = "(<body[^>]+>)\#$SET(#=\n<style type="text/css"><!--\n"
".body_984 {width:984px; position:relative;} .content_672 {width:984px;} .content_312 {position:absolute; right:0px; top:35px;}"
".list_count_2 {font-size:12px; width:42px; font-weight:bold; text-align:right;}"
"\n--></style>\n)"
""
"|([%E6][%8A][%9E][%E2][%86][%91]-->\s</div>\s)\#(^(^<!--[%E2][%86][%93]id))"
"$SET(#=<table class="2line_table" border="0" cellspacing="0" cellpadding="0">\n"
"<tr class="2line_tr" valign="top">\n<td class="2line_td">\n)$SET(line=1)"
"|(</div>\s</div>\s<!--[%E2][%86][%91]id[^>]+>\s)\#$SET(#=</td><!--2line_td-->\n)"
"((^<!--[%E2][%86][%93]id)$SET(#=</tr><!--2line_tr-->\n</table><!--2line_table-->\n)|"
"($TST($GET(line)=11)$SET(line=1)$SET(#=</tr><!--2line_tr-->\n<tr class="2line_tr" valign="top">\n)|$SET(line=11))"
"$SET(#=<td class="2line_td">\n))"
""
"|(<table width=")\#648$SET(#=468)"
"|(style="width:)\#(648px$SET(#=468px)|484px$SET(#=100%))"
"|<div class="list_count">$SET(#=<div class="list_count_2">)"
""
"|(<img src="http://res.nimg.jp/img/_.gif" alt="" class="controller_frm")\#"
"$SET(#= onclick="$('controller').toggle();")"
"|(<div class="controller_bg")\#>$SET(#= id="controller" style="display:none;">$GET(PM))"
"|(<!--[%E2][%86][%93][%E3][%83][%9A][^>]+>\s<div[^>]+><p[^>]+>\s(<a*)\0</p>)\#$SET(PM=<p class="cal_txt">\0</p>)"
""
"|$NEST(<div, style="background:#111; color:#FFF*,</div>)"
"|$NEST(<table, width="312"*,</table>)"
"|$NEST(<div,[^<]++<[^>]++id=$AV(web_pc_pr(emium|ime))*,</div>)(\s$NEST(<script,</script>)|)"
"|$NEST(<table,\swidth=$AV(100%)*web_pc_megatext*,</table>)((^<!)?)++$NEST(<script,</script>)"
""
"|(<div id=$AV(item([0-9]+)\0))\#$SET(G=\0)$SET(#= onclick="$('DESC_\0').toggle();$('RES_\0').toggle();")"
"|(</h3>\s<p class="font12")\#$SET(#= id="DESC_$GET(G)" style="display:none")"
"|(<p class="vinfo_last_res")\#$SET(#= id="RES_$GET(G)" style="display:none")"
Replace = "\@"・動画情報を幅いっぱいに表示 ・サムネ下の再生時間を投稿日の後ろに ・年号の20を削除(2009年→09年)
[Patterns]
Name = "Nico: Ranking adjuster (090402)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/(ranking|mylist|history)"
Limit = 128
Match = "class=$AV(content_672)|width:(648)px;|width=$AV(664|672)"
"|<p\sclass=$AV(TXT12)[^>]+>(<strong>[0-9]++:[^<]+</strong>)\0</p>\s$SET(pt=\0)"
"|20([0-9][0-9][%e5][%b9][%b4])\#"
"|(</strong> [%e6][%8a][%95][%e7][%a8][%bf])\# (<br>|)$SET(#=\n 再生時間:$GET(pt)\n<br>)"
"|class=$AV(content_312)$SET(#=style="display:none;")$SET(pt=)$STOP()"
Replace = "\@"
favorite ranking.txt
お気に入りの動画のみをランキングに表示します。お気に入り動画はリストまたはボタンにて切り替え可能。
Match語句
自由にランキングページを行き来できるようにしてみた(JUMP]を押すまで移動しない)
毎時ランキングでも「総合」以外のカテゴリ選択可
こんな感じになります
Ranking Category - select.png
※choromeだとボタンがなぜか押せません。
[091105] ブラウザによって表示が違うのを修正。
[Patterns]
Name = "Nico: Ranking Category -> select kai [091105]"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/ranking"
Limit = 2048
Match = "(<table width="664" border="0" cellpadding="4" cellspacing="0" id="switch"> <tr> <td>)\#"
"<form name="sort_bigcategory">*</form></td>*"
"</table>"
"$SET(#=<!--$FILE(../html/ranking-select.txt)</td></tr></table>)"
"|"
"$URL(http://www.nicovideo.jp/ranking(^?))"
"(class="top_best20">\s"
"<tr>)\#"
"$STOP()"
"$SET(#=<td><!--$FILE(../html/ranking-select.txt)</td></tr><tr>)"
"|"
"$URL(http://www.nicovideo.jp/ranking/\1/\2/([^?/]+)\3(([?/]*)\4|))"
"((value="$TST(\3)")\#$SET(#= selected)"
"|(value="$TST(\2)")\#$SET(#= selected>)>"
"|(value="$TST(\1)")\#$SET(#= selected>)>($TST(\4=\?*)|$STOP())"
"|(value="$TST(\4)")\#$SET(#= selected>)>$STOP()"
")"
Replace = "\@"
ranking-select.txt
をhtmlフォルダに入れておく。
[HTTP headers] In = FALSE Out = TRUE Key = "URL: Nico Tag Redirect (out)" Match = "http://www.nicovideo.jp/tag/([^\?]+)\1(^?)" Replace = "$JUMP(http://www.nicovideo.jp/tag/\1?sort=f)"
sort=f 投稿日時が新しい sort=v 再生が多い sort=r コメントが多い sort=m マイリスト登録が多い sort=l 再生時間が長い
キーワード検索結果のソートを自動で変更 tag→search
並び替えが少し見やすくなる直感的に出来るようになる かも
[Patterns]
Name = "NicoVideo: select color (081206)"
Active = TRUE
Multi = TRUE
URL = "www.nicovideo.jp/(search/|tag/|mylist/)"
Limit = 512
Match = "<option\s\0(selected$SET(9=font-weight:bold;)|)\1>"
"([%e6][%8a][%95][%e7][%a8][%bf][%e3][%81][%8c][%e6][%96][%b0]$SET(#=#ffffaa;color:orange)"
"|[%e6][%8a][%95][%e7][%a8][%bf][%e3][%81][%8c][%e5][%8f][%a4]$SET(#=#ffffaa)"
"|[%e5][%86][%8d][%e7][%94][%9f][%e3][%81][%8c][%e5][%a4][%9a]$SET(#=#aaffaa;color:green)"
"|[%e5][%86][%8d][%e7][%94][%9f][%e3][%81][%8c][%e5][%b0][%91]$SET(#=#aaffaa)"
"|[%e3][%82][%b3][%e3][%83][%a1][%e3][%83][%b3][%e3][%83][%88][%e3][%81][%8c][%e6][%96][%b0]$SET(#=#aaaaff;color:blue)"
"|[%e3][%82][%b3][%e3][%83][%a1][%e3][%83][%b3][%e3][%83][%88][%e3][%81][%8c][%e5][%8f][%a4]$SET(#=#aaaaff)"
"|[%e3][%82][%b3][%e3][%83][%a1][%e3][%83][%b3][%e3][%83][%88][%e3][%81][%8c][%e5][%a4][%9a]$SET(#=#ffaaaa;color:red)"
"|[%e3][%82][%b3][%e3][%83][%a1][%e3][%83][%b3][%e3][%83][%88][%e3][%81][%8c][%e5][%b0][%91]$SET(#=#ffaaaa)"
"|[%e3][%83][%a1][%e3][%83][%a2][%e6][%98][%87]$SET(#=#aaffff;color:royalblue)"
"|[%e3][%83][%a1][%e3][%83][%a2][%e9][%99][%8d]$SET(#=#aaffff)"
"|[%e3][%82][%bf][%e3][%82][%a4][%e3][%83][%88][%e3][%83][%ab][%e6][%98][%87]$SET(#=#ffb6c1;color:magenta)"
"|[%e3][%82][%bf][%e3][%82][%a4][%e3][%83][%88][%e3][%83][%ab][%e9][%99][%8d]$SET(#=#ffb6c1)"
"|[%e3][%83][%9e][%e3][%82][%a4][%e3][%83][%aa][%e3][%82][%b9][%e3][%83][%88][%e3][%81][%8c][%e5][%a4][%9a]$SET(#=#ffaaff;color:purple)"
"|[%e3][%83][%9e][%e3][%82][%a4][%e3][%83][%aa][%e3][%82][%b9][%e3][%83][%88][%e3][%81][%8c][%e5][%b0][%91]$SET(#=#ffaaff)"
"|[%e8][%bf][%bd][%e5][%8a][%a0][%e3][%81][%8c][%e6][%96][%b0]$SET(#=#f8dc85;color:#ff612e)"
"|[%e8][%bf][%bd][%e5][%8a][%a0][%e3][%81][%8c][%e5][%8f][%a4]$SET(#=#f8dc85)"
"|[%e6][%99][%82][%e9][%96][%93][%e3][%81][%8c][%e9][%95][%b7]$SET(#=#ccddff;color:royalblue)"
"|[%e6][%99][%82][%e9][%96][%93][%e3][%81][%8c][%e7][%9f][%ad]$SET(#=#ccddff)"
"|*)\2</option>(^(^ </select>|))"
Replace = "<option style="\9background-color:\@" \0\1>\2</option>"
ぶち込むとこんな感じになる
[Patterns]
Name = "Nico: select -> link (090409)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/(search|tag)/"
Limit = 256
Match = "<td[^>]+><form\sname=$AV(sort)> <select[^>]+>$SET(#=<td class="TXT12" colspan="2">)"
"|<option value=$AV(\0)\sselected>\1</option>$SET(#=<a href="\0" style="white-space:nowrap; color:#F00;"><strong>\1</strong></a>)"
"|<option value=$AV(\0)>\1</option>$SET(#=<a href="\0" style="white-space:nowrap;">\1</a>)"
"|</select> </form>(</td> )\0(<td\sclass=$AV(TXT12)>)\1$SET(#=\0</tr>\n<tr>\n\1)"
Replace = "\@"

[Patterns]
Name = "NicoVideo: search toka 2=>3 4=>6 column (091030)"
Active = TRUE
Multi = TRUE
URL = "www.nicovideo.jp/(search|tag|recent|hotlist|newarrival|myvideo)"
Limit = 16000
Match = "((>|\|) <a[^>]++$AV(Cookie.set\('col', '"
"$SET(c3=304)"
"$SET(c6=140)"
"(4$SET(s2346=23)|2$SET(s2346=46))'*)[^>]++>*)\0(2$SET(c36=3)|4$SET(c36=6))$SET(#=\0$GET(c36)\1)"
"|(<div class=$AV(content_672))\0>$SET(#=<table cellpadding="0" cellspacing="0" width="1300"><tr valign="top"><td>"
"<style type="text/css"><!--\n.content_672{width:100%;}\n--></style>\0 >)"
"|(table width="672"[^>]++summary="pager")\#>$SET(#= style="width:100%;">)"
"|</tr> <tr\svalign="top"( style=""|)>"
"|td>((\s<!---->|)\s<div[^>]++class=$AV(thumb_(uad_header|frm)))\0$SET(s2346=$GET(s2346)1)"
"($TST($GET(s2346)=(231|3)111)$SET(#=/tr><tr valign="top" ><td >\0)$SET(s2346=3)"
"|$TST($GET(s2346)=(461|6)111111)$SET(#=/tr><tr valign="top" ><td >\0)$SET(s2346=6)|$SET(#=td >\0))"
"|class="video_w(96|128)"(^(^></a></p>))$SET(#=width="130" height="100" style="border:solid 2px #333;")"
"|(class="thumb_frm" style="[^>]++width:)\#288$SET(#=$GET(c3))|(<table width=")\#292$SET(#=308)"
"|(class="thumb_frm" style="[^>]++width:)\#132$SET(#=$GET(c6))"
"|(>\s)\#$NEST(<div,(\sclass=$AV(content_312)[^>]++>)\0\1,</div>)$SET(2=</td><td valign="top"><div\0\1</div>)"
"$SET(#=\2</td></tr></table>)$STOP()"
Replace = "\@"
右側部分を消したい場合は”|(<div class=$AV(content_672)~width="1300">”の"1300"を"984"にして ”$SET(#=\2</td></tr></table>)$STOP()”を”$SET(#=</td></tr></table>)$STOP()”にしてください

単独で使用すると画像の左側みたいな感じに、NicoVideo: header lightと併用すると右側みたいな感じに
[Patterns]
Name = "NicoVideo: search form+ (090918)"
Active = FALSE
Multi = TRUE
URL = "www.nicovideo.jp/$TYPE(htm)"
Limit = 9216
Match = "$NEST(<form,((^("ph_sf"|>))?)++action="(|/)(search|tag)"*$AV(bar_search)*"
"($NEST(<td,(\sstyle="color:#999;)\0(">*)\1,</td>)"
"$SET(a_his=<td\0 font-size:12px; padding:0px 0px 0px 4px; width:100%" align="left\1</td>)|</tr>)*,</form>)"
"(\2<form\saction="/(search|tag)"*(<table[^>]++>)\3*(<td\sstyle="color:#999;">)\4|)"
"$SET(#=\n$FILE(../html/search_form+.txt)\n"
"\2\3\4)|[%EF][%BB][%BF]"
"|(> <title>)\#(($URL(*/(search|(|related_)tag)/)\w[%E6][%A4][%9C][%E7][%B4][%A2]\s"
"|$URL(*/mylist/)\w[%e3][%82][%b9][%e3][%83][%88]\s"
"|$URL(*/watch/))(\0)[%e2][%80][%90]((^[%e2][%80][%90])?)++</title>"
"|$URL(*/openlist/)*<h1>[%E5][%8B][%95][%E7][%94][%BB] <a href="watch/\0">$TST(\0)</a>*</h1>"
")\1\s$SET(sf_at_in=\0)$SET(#=\1)"
"|(value=")\#<--sf_at_in-->$SET(#=$GET(sf_at_in))"
"$URL(*/watch/$SET(rb_sc= \n"
"oncontextmenu="ph_sf.s.value = wv_id_sf; ph_sf.s.focus(); return false;")|)"
"|<--rb_sc-->$SET(#=$GET(rb_sc))"
"|(<input[^>]++)\0<--checked-->$SET(#=$GET(checked))"
"$SET(sf_cb=2)"
"($TST(sf_cb=0)$SET(checked=\0)|$TST(sf_cb=1)$SET(checked=\0checked)"
"|$TST(sf_cb=2)$SET(checked=<span id="ph_cb"></span))"
"|(\sif\s\(Cookie.get\('ph_cb_checked'[^!]++checked>';})\0($TST(sf_cb=2)$SET(#=\0)|)#"
"|<!--a_his-->$SET(#=$GET(a_his))"
"|>( <script$URL(*/watch/) type="text/javascript"><!--)\0([^>]++\("videoId", "\1")\2"
"$SET(#=>\0\nwv_id_sf = "\1";\n--></script>\0\2)$STOP()"
Replace = "\@"
$SET(sf_ch=0) 読み込み時別窓チェックなし $SET(sf_ch=1) 読み込み時別窓チェック入り $SET(sf_ch=2) Cookieでチェックの状態を保存(標準) 動画ページで復元ボタン右クリックでの動作をダブルクリックでの動作に変更(右クリックで反応しない場合など) "oncontextmenu="ph_sf.s.value = wv_id_sf; ph_sf.s.focus(); return false;")|)"のoncontextmenu=をondblclick=に ページ読み込み時は自動入力されないようにしたい場合(復元ボタンクリックでは入力される) "\2\3\4)|[%EF][%BB][%BF]"の行を下の2行に入れ替える <script type="text/javascript"> <!--\ndocument.ph_sf.s.value = '';\ndocument.ph_sf.s.focus();\n--></script>\n\2\3\4)|[%EF][%BB][%BF]
上のフィルタに加えて下のテキストを保存してオミトロンのhtmlフォルダに入れる
search_form+.txt (090918)
入力フォームEnterでの動作を別窓チェックボックスと連動しないようにする場合、テキストの4行目と14行目のjump('http://~を変更する
location.href=('http://~ 常時同じ窓で開く
window.open('http://~ 常時別窓で開く
入力フォームの幅を変えたい場合、20行目のwidth:180px;の値をいじる
検索・タグボタン右クリックでの動作をダブルクリックでの動作に変更する場合、oncontextmenu=をondblclick=に
search_form+b.txt (090918)
上のテキストファイルと下のボタン用画像ファイルのどれか一つをダウンロードしてhtmlフォルダに入れる(ボタン用画像は解凍して)
テキストをsearch_form+b.txt→search_form.txt にリネームするか、
フィルタの$FILE(../html/search_form+.txt)の部分をテキスト名に合うように書き換える
![]()
sf+b_01.zip (090918) 日本語ボタン、
sf+b_02.zip (090918) 英語ボタン
![]()
sf+b_03.zip (090923) 少し暗めのボタン(header light modoki向き)
[Patterns]
Name = "NicoVideo: add search link Google,YouTube,Veoh (091107)"
Active = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/(search|tag|related_tag)/([^\?]+)\0$SET(query=\0)"
Limit = 256
Match = "(^(^var\sq=$AV(\0)$SET(keyword=\0)\s))"
"|(<div\sclass="mb8p4">\s$NEST(<p,\sclass="font12">*,</p>))\#"
"$SET(#=<p class="font12">"
"<a href="http://www.google.co.jp/search?q=$GET(query)"><img alt="" src="http://res.nimg.jp/img/common/icon/search.gif" class="txticon">"
"キーワード\n<strong style="background:#CCC;">$GET(keyword)</strong>\nをGoogleで検索</a>\n"
"<a href="http://www.youtube.com/results?search_query=$GET(query)"><img alt="" src="http://res.nimg.jp/img/common/icon/search.gif" class="txticon">"
"キーワード\n<strong style="background:#CCC;">$GET(keyword)</strong>\nをYouTubeで検索</a>\n"
"<a href="http://www.veoh.com/search/videos/q/$GET(query)"><img alt="" src="http://res.nimg.jp/img/common/icon/search.gif" class="txticon">"
"キーワード\n<strong style="background:#CCC;">$GET(keyword)</strong>\nをVeohで検索</a></p>)$STOP()"
Replace = "\@"
[Patterns]
Name = "NicoVideo: replace search button (091107)"
Active = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/"
Limit = 128
Match = "<input\s[^>]++submit_search.[^>]+>"
"$SET(#=<ul class="iconbar">\n"
"<li><input type="image" name="submit" src="http://www.nicovideo.jp/img/favicon.ico"></li>\n"
"<li><span onclick="key=$F('bar_search').strip();if(key!='')window.open('http://www.google.co.jp/search?q='+encodeURIComponent(key),'_self');"><img src="http://www.google.co.jp/favicon.ico" alt=""></span></li>\n"
"<li><span onclick="key=$F('bar_search').strip();if(key!='')window.open('http://www.youtube.com/results?search_query='+encodeURIComponent(key),'_self');"><img src="http://www.youtube.com/favicon.ico" alt=""></span></li>\n"
"<li><span onclick="key=$F('bar_search').strip();if(key!='')window.open('http://www.veoh.com/search/videos/q/'+encodeURIComponent(key),'_self');"><img src="http://www.veoh.com/favicon.ico" alt=""></span></li></ul>\n"
"<style type="text/css"><!--"
"ul.iconbar {width:72px;margin:0;padding:0;list-style:none;}"
"ul.iconbar li {height:16px;width:16px;border:1px solid #000;background-color:#FFF;float:left;cursor:pointer;}"
"--></style>)$STOP()"
Replace = "\@"

設定
Match上から3行目
$SET(iconbtn=1)で 検索ボタンにGoogle、YouTube、Veohでの検索結果リンクを追加 の機能を追加
$SET(ngbtn=1)で 検索バーの内容をNGtitle.txtに追加する 用のボタン追加
$SET(migiue=1)で右上表示
必要ないものは1を消しておく。
Nico_Header4.txt→リンクとかを編集してhtmlフォルダに入れておく。
[Patterns]
Name = "Nico:Header4 (091030)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/"
Limit = 8192
Match = "(^(^var\sq=$AV(\0)$SET(key=\0)\s))"
"|$NEST(<div,\sid="PAGEHEADER""
"$SET(iconbtn=)$SET(ngbtn=)$SET(migiue=)"
"(*($NEST(<a,\shref="https://secure.nicovideo.jp/secure/login_form"*,</a>))\0$SET(login=\0)|"
"$SET(login=<span onmouseover="showOBJ('headmenu_g2');" class="textbtn">マイページ▼</span>))"
"*($NEST(<a,\s[^>]++id="menu-ranking"*,</a>))\0$SET(rankingurl=\0)"
"*($NEST(<a,\shref="migiue"*,</a>))\0($TST(migiue=1)$SET(migiue=<td style="padding-left:4px;">\0</td>)|)"
"*,</div>)$SET(#=<div id="PAGEHEADER"$FILE(../html/Nico_Header4.txt)</div>)"
"($TST(iconbtn=1)$SET(iconbtn="
"<td style="padding-left:4px;" class="iconbtn">"
"<span onclick="key=$F('bar_search').strip();if(key!='')window.open('http://www.google.co.jp/search?q='+encodeURIComponent(key),'_blank');"><img src="http://www.google.co.jp/favicon.ico" alt=""></span>"
"<span onclick="key=$F('bar_search').strip();if(key!='')window.open('http://www.youtube.com/results?search_query='+encodeURIComponent(key),'_blank');"><img src="http://www.youtube.com/favicon.ico" alt=""></span>"
"<span onclick="key=$F('bar_search').strip();if(key!='')window.open('http://www.veoh.com/search/videos/q/'+encodeURIComponent(key),'_blank');"><img src="http://www.veoh.com/favicon.ico" alt=""></span></td>)|)"
"($TST(ngbtn=1)$SET(ngbtn="
"<td style="padding-left:4px;"><span onclick=""
"if(typeof Video!='undefined') {"
"new Ajax.Request('http://www.nicovideo.jp/search/NGtitle/vid/'+Video.id+'/'+title0,{onSuccess:function(){ if(document.referrer.length) location.href=document.referrer; }});"
"} else {"
"key=$F('bar_search').strip();if(key!='') new Ajax.Request('http://www.nicovideo.jp/search/NGtitle/'+encodeURIComponent(key),{onSuccess:function(){ location.reload(); }});"
"}" class="textbtn">NG</span></td>)|)"
"|\$GET\(("
"key$SET(#=$GET(key))"
"|login$SET(#=$GET(login))"
"|rankingurl$SET(#=$GET(rankingurl))"
"|migiue$SET(#=$GET(migiue))"
"|ngbtn$SET(#=$GET(ngbtn))"
"|iconbtn$SET(#=$GET(iconbtn))"
")\)"
Replace = "\@"


[Patterns]
Name = "NicoVideo: header light 9 (091101)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/|$TYPE(css)res.nimg.jp/css/*.css"
Limit = 9216
Match = "(<(body|div class="bg_headmenu")[^>]++)\#>$SET(#= style="background:url('http://local.ptron/bg_hl9.gif') repeat-x;">)"
"|{$URL(*/css/) padding-top:28px; }$SET(#={ padding-top:24px;})"
"|<table[^>]++class="headmenu" style="float:left;">*<table height=$AV(*) border="0" cellpadding="4""
"\0<td>\1<td>[%E2][%80][%A6]\2(</div>\s</div>\s<!---->)\3$SET(#="
"<table height="24" width="1000" cellpadding="0" cellspacing="0" class="headmenu" "
"style="margin:0px 0px 0px -8px;"><tr>\n"
"<td style="padding:0 0px 0 0px;">"
"\n$FILE(../html/search_form+b.txt)\n</td>\n"
"<td width="100%" align="left"><div "
"style="margin:0px 4px 0px 4px;">"
"<select class="TXT10" onChange="if (this.value.strip() != '') "
"jump(this.value); this.value='';">\n"
"<option value="" selected>Link</option>\n"
"$FILE(../html/Link_List.txt)\n</select></div></td>\n"
"<td nowrap style="padding:0 0px 0 4px;">\n"
"<table height="24" border="0" cellpadding="0"\0"
"<td nowrap>\1"
"<td nowrap style="padding:0 0px 0 4px;">…"
"\2</table>\3)|[%EF][%BB][%BF](<)\#"
"| \|(\s<a href="migiue"[^>]++>)\0\w</a>"
"$SET(#=\0<img style="margin:0px 0 -2px 2px;" src="http://local.ptron/icon_migiue.gif"></a>)"
"|(<td id="menu_switch")\#>$SET(#= style="padding:0 0 0 6px;">)"
""
"|>\s(<td id="menu_switch"?++<div class="body_984")\0>"
"$SET(hb_sw=2)"
"$SET(sOBJ1=hideOBJ('hb'); hideOBJ('hbs1'); showOBJ('hbs2');)"
"$SET(sOBJ2=showOBJ('hb'); showOBJ('hbs1'); hideOBJ('hbs2');)"
"($TST(hb_sw=0)$SET(h_1=block)$SET(h_2=none)"
"|$TST(hb_sw=1)$SET(h_1=none)$SET(h_2=block)"
"|$TST(hb_sw=2)$SET(hb_sw_2=\n<script type="text/javascript"><!--\n"
"if (Cookie.get('hbs')=='0') {\n$GET(sOBJ1)}\n"
"else {\n$GET(sOBJ2)}\n--></script>\n))"
"$SET(#=><td nowrap style="padding:0px 0px 0px 4px;" id="hb_sw">\n"
"<span style="display:$GET(h_1)\;" id="hbs1">\n<a style="color:#EEE; font-size:10px; text-decoration:none;" href="javascript:void(0)""
"onclick="$GET(sOBJ1)\nCookie.set('hbs', '0', 1000*60*60*24*365, '.nicovideo.jp', '/'); return false;">▽</a></span>\n"
"<span style="display:$GET(h_2)\;" id="hbs2">\n<a style="color:#EEE; font-size:10px; text-decoration:none;" href="javascript:void(0)""
"onclick="$GET(sOBJ2)\nCookie.set('hbs', '1', 1000*60*60*24*365, '.nicovideo.jp', '/'); return false;">▼</a></span>\n"
"</td>\0 id="hb">$GET(hb_sw_2))"
""
"|(> <title>)\#(($URL(*/(search|(|related_)tag)/)\w[%E6][%A4][%9C][%E7][%B4][%A2]\s"
"|$URL(*/mylist/)\w[%e3][%82][%b9][%e3][%83][%88]\s"
"|$URL(*/watch/))(\0)[%e2][%80][%90]((^[%e2][%80][%90])?)++</title>"
"|$URL(*/openlist/)*<h1>[%E5][%8B][%95][%E7][%94][%BB] <a href="watch/\0">$TST(\0)</a>*</h1>"
")\1\s$SET(sf_at_in=\0)$SET(#=\1)"
"|(value=")\#<--sf_at_in-->$SET(#=$GET(sf_at_in))"
"$URL(*/watch/$SET(rb_sc= \n"
"oncontextmenu="ph_sf.s.value = wv_id_sf; ph_sf.s.focus(); return false;")|)"
"|<--rb_sc-->$SET(#=$GET(rb_sc))"
"|(<input[^>]++)\0<--checked-->$SET(#=$GET(checked))"
"$SET(sf_cb=2)"
"($TST(sf_cb=0)$SET(checked=\0)|$TST(sf_cb=1)$SET(checked=\0checked)"
"|$TST(sf_cb=2)$SET(checked=<span id="ph_cb"></span))"
"|(\sif\s\(Cookie.get\('ph_cb_checked'[^!]++checked>';})\0($TST(sf_cb=2)$SET(#=\0)|)"
"|>( <script$URL(*/watch/) type="text/javascript"><!--)\0([^>]++\("videoId", "\1")\2"
"$SET(#=>\0\nwv_id_sf = "\1";\n--></script>\0\2)$STOP()"
""
"|$NEST(<table,([^>]++class="font12">\s<tr><td nowrap> )\0*secure/logout">\w</a></div>\1,</table>)"
"$SET(#=<table\0$FILE(../html/top_bar_user_menu.txt)\1</table>)"
"|<a href="my/top">*href=$AV(\1)$SET(rank_url=\1)\sid="menu-ranking">\w</a>\2<"
"$SET(#=$FILE(../html/top_bar_link+.txt)\2<)"
"|href="<--rank_url-->"$SET(#=href="$GET(rank_url)")"
""
"|(<a onclick="showOBJ\(\'headmenu_g2\'\);[^>]++>)\#\w"
"| - <a href="/\?p=premium_top\&sec=bar"[^<]++</a>"
"|<span[^<]++</span> - (<a href="https://secure.nicovideo.jp/secure/login_form")\#"
"|$NEST(<form, id="head_search_form"*,</form>)\s$NEST(<script,</script>)"
Replace = "\@"
以下を保存しhtmlフォルダに入れる。
header_light_9.zip (091030) ※解凍してください
search_form+b.txt (091030)
Link_List.txt (091030)
top_bar_user_menu.txt (091030)
top_bar_link+.txt (091101)
検索機能の詳細や設定についてはsearch_form+の所を、下部表示切替はHeaderBottom switch、右側のリンクはtop bar link+を参考にしてください
さらにヘッダの機能を拡張したい場合はheader rank link+を追加することをおすすめします
最終版の作者です。ヘッダ簡易表示フィルタ作成は"NicoVideo: header light 9"に専念することにしました。
最後となった(091026)版のフィルタですが、一応何かの参考になるかもしれないのでコメントアウトして残しておきました。
ですが、いつまでも更新しないのに項目があるのは邪魔だと思いますので、時期を見て項目ごと削除するつもりです。

[Patterns] Name = "NicoVideo: top bar link+ (091101)" Active = TRUE Multi = TRUE URL = "www.nicovideo.jp/$TYPE(htm)" Limit = 1600 Match = "$NEST(<table,([^>]++class="font12">\s<tr><td nowrap> )\0*secure/logout">\w</a></div>\1,</table>)" "$SET(#=<table\0$FILE(../html/top_bar_user_menu.txt)\1</table>)" "" "|<a href="my/top">*href=$AV(\1)$SET(rank_url=\1)\sid="menu-ranking">\w</a>\2<" "$SET(#=$FILE(../html/top_bar_link+.txt)\2<)|[%EF][%BB][%BF](<)\#" "|href="<--rank_url-->"$SET(#=href="$GET(rank_url)")" "" "|(<td><a href=)\#"/"([^\r\n]++/head/logo/nine.png")\0$SET(#="?g="\0)" Replace = "\@" ## ニコニコ動画(9)画像クリック時のリンク先を事前に見ていたカテゴリのトップにも飛ぶ"http://www.nicovideo.jp/"から ## 真のトップページ "http://www.nicovideo.jp/?g="へリンクするようにする |(<td><a href=)\#"/"([^\r\n]++/head/logo/nine.png")\0$SET(#="?g="\0)
下のファイルを保存してhtmlフォルダに入れる
top_bar_user_menu.txt (091030)
top_bar_link+.txt (091101)
※"top_bar_link+.txt"の"Top"のリンク先は(091101)版から"http://www.nicovideo.jp/"に変更になってます
"top_bar_user_menu.txt"の編集例1(動画を投稿しない、ストーカーしない人用)
マイリスト番号、マイリスト名、ユーザー番号は自分のに置き換えてください
<a href="my/mylist" style="font-size:12px;" id="mylist#direct">マイリスト</a><br>
<select id="mylist#select" class="TXT10" onChange="$('mylist#direct').href='my/mylist'+this.value;
Cookie.set('mylist#select',this.value,1000*60*60*24*365,'.nicovideo.jp','/');">
<option value=""></option>
<option value="#/マイリスト番号">マイリスト名
<option value="#/マイリスト番号">マイリスト名
<option value="#/マイリスト番号">マイリスト名
<option value="#/マイリスト番号">マイリスト名
</select>
<script type="text/javascript"><!--
$('mylist#select').value=Cookie.get('mylist#select');$('mylist#direct').href='my/mylist'+$('mylist#select').value;
--></script><br>
<div class="line"><a href="/user/ユーザー番号" style="font-size:12px;">マイニコレポ</a></div>
<div class="line"><a href="mymemory" style="font-size:12px;">マイメモリー</a></div>
<div class="line"><a href="https://secure.nicovideo.jp/secure/logout" style="font-size:12px;">ログアウト</a></div>
## ユーザー名プルダウンを横開きにする(Firefox使用時に"Nico watch - datails move"でプレーヤーを上に持ってきた時の対策) (<div class="headmenu_group"[^>]++)\#>\s$NEST(<table,[^>]++>( <tr> <td nowrap> )\0*,</table>) $SET(#=style="top:-18px; left:-69px; border:solid 2px #999; padding:1px 4px; 0px">\n <table class="font12" cellpadding="0" cellspacing="0">\0$FILE(../html/top_bar_user_menu_x.txt)\n</td></tr></table>) マッチ前半の2行を上の3行と入れ替えて下のファイルをhtmlフォルダに入れてください 表示位置の調整などは”style="top:-18px; left:-69px;~の数値を弄って調整してください
top_bar_user_menu_x.txt (091030)

アイデアを拝借させてもらったNico:Header4の作者様に感謝します(無断でそのまま使わせてもらった部分も多いですが連絡取れなくてすみません)
Firefox向きの右クリックで拡張メニュー表示をするのと、Opera向きの左クリックで拡張メニュー表示をするのがあります
IE系はIE6で試ためしたらいろいろと酷い事になりましたが、他のバージョンだと問題なかったりするかもしれません
[Patterns]
Name = "NicoVideo: header rank link+ R-click (091106)"
Active = TRUE
Multi = TRUE
URL = "www.nicovideo.jp/$TYPE(htm)"
Limit = 256
Match = "<a([^>]++href=$AV(\0)[^>]++id="menu-ranking"|[^>]++id="menu-ranking"[^>]++href=$AV(\0))\1>\2</a>"
"$SET(rank__url=\0)$SET(#=</td>\n"
"<td nowrap style="padding-left:0px;">\n"
"<a\1 onclick="showOBJ('headmenu_g4'); $('r_span').value=Cookie.get('r_span'); $('r_type').value=Cookie.get('r_type'); "
"return false;" class="textbtn">\2</a>\n"
"<div id="headmenu_g4" style="position:relative; display:none; float:left; margin-top:0px;">\n"
"<div class="headmenu_group" onmouseover="showOBJ('headmenu_g4'); return false;" onmouseout="hideOBJ('headmenu_g4'); return false;" "
"style="top:-9px; right:-60px;">\n"
"<table border="0" cellpadding="0" cellspacing="3" class="font12">\n"
"<tr><td nowrap>\n$FILE(../html/header_rank_link+.txt)\n</td></tr></table>\n</div>\n</div>\n</td>\n"
"<td nowrap style="padding-left:0px;">)"
"|[%EF][%BB][%BF](<)\#|href="<--rank_url-->"$SET(#=href="$GET(rank__url)")"
Replace = "\@"
[Patterns]
Name = "NicoVideo: header rank link+ L-click (091106)"
Active = TRUE
Multi = TRUE
URL = "www.nicovideo.jp/$TYPE(htm)"
Limit = 256
Match = "<a([^>]++href=$AV(\0)[^>]++(id="menu-ranking")\1|[^>]++(id="menu-ranking")\1[^>]++href=$AV(\0))>\2</a>"
"$SET(rank__url=\0)$SET(#=</td>\n"
"<td nowrap style="padding-left:0px;">\n"
"<a \1 href="#" onclick="showOBJ('headmenu_g4'); $('r_span').value=Cookie.get('r_span'); $('r_type').value=Cookie.get('r_type'); "
"return false;" class="textbtn">\2▼</a>\n"
"<div id="headmenu_g4" style="position:relative; display:none; float:left; margin-top:0px;">\n"
"<div class="headmenu_group" onmouseover="showOBJ('headmenu_g4'); return false;" onmouseout="hideOBJ('headmenu_g4'); return false;" "
"style="top:-9px; right:-60px;">\n"
"<table border="0" cellpadding="0" cellspacing="3" class="font12">\n"
"<tr><td nowrap>\n$FILE(../html/header_rank_link+.txt)\n</td></tr></table>\n</div>\n</div>\n</td>\n"
"<td nowrap style="padding-left:0px;">)"
"|[%EF][%BB][%BF](<)\#|href="<--rank_url-->"$SET(#=href="$GET(rank__url)")"
Replace = "\@"
"NicoVideo: header light 9"と併用する場合は”<td nowrap style="padding-left:0px;">”を~padding-left:4px;">”にしてください
プルダウンメニューの表示位置の調整は”style="top:-9px; right:-60px;”の数値を弄って調整してください
マウスを乗せただけでメニューを開きたい場合は、右クリック用は"oncontextmenu="showOBJ('headmenu_g4');"、
左クリック用は"onclick="showOBJ('headmenu_g4');"を"onmouseover="showOBJ('headmenu_g4');"に変更してください
下のファイルを保存してhtmlフォルダに入れる
header_rank_link+.txt (091102)
[Patterns]
Name = "NicoVideo: HeaderBottom switch (091101)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/"
Limit = 1024
Match = ">\s(<td id="menu_switch"* )\0(<table width="984"[^>]++style="clear:both;")\1>"
"$SET(hb_sw=2)"
"$SET(sOBJ1=hideOBJ('hb'); hideOBJ('hbs1'); showOBJ('hbs2');)"
"$SET(sOBJ2=showOBJ('hb'); showOBJ('hbs1'); hideOBJ('hbs2');)"
"($TST(hb_sw=0)$SET(h_1=block)$SET(h_2=none)"
"|$TST(hb_sw=1)$SET(h_1=none)$SET(h_2=block)"
"|$TST(hb_sw=2)$SET(hb_sw_2=\n<script type="text/javascript"><!--\n"
"if (Cookie.get('hbs')=='0') {\n$GET(sOBJ1)}\n"
"else {\n$GET(sOBJ2)}\n--></script>))"
"$SET(#=><td nowrap style="padding:0px 0px 0px 4px;" id="hb_sw">\n"
"<span style="display:$GET(h_1)\;" id="hbs1">\n<a style="color:#EEE; font-size:10px; text-decoration:none;" href="javascript:void(0)""
"onclick="$GET(sOBJ1)\nCookie.set('hbs', '0', 1000*60*60*24*365, '.nicovideo.jp', '/'); return false;">▽</a></span>\n"
"<span style="display:$GET(h_2)\;" id="hbs2">\n<a style="color:#EEE; font-size:10px; text-decoration:none;" href="javascript:void(0)""
"onclick="$GET(sOBJ2)\nCookie.set('hbs', '1', 1000*60*60*24*365, '.nicovideo.jp', '/'); return false;">▼</a></span>\n"
"</td>\0<table cellspacing="0" cellpadding="0" style="clear:both;"></table>\1 id="hb">$GET(hb_sw_2))"
Replace = "\@"
$SET(hb_sw=0) ページ読み込み時表示 $SET(hb_sw=1) ページ読み込み時非表示 $SET(hb_sw=2) 表示状態をCookieで保存(標準)
[Patterns]
Name = "NicoVideo: del head table (090404)"
Active = TRUE
URL = "[^/.]+.nicovideo.jp/$TYPE(htm)"
Limit = 8192
Match = "(^(^<table\s[^>]++width=$AV(984)))$NEST(<table[ >],*my/*,</table>) "
"($URL(http://[^/.]+.nicovideo.jp/watch/?)(^(^<div class="tool_bg_top"))$NEST(<div,</div>) |)$STOP()"
Matchの2行目は、「動画ページの場合のみ検索欄も消す」
[Patterns] Name = "NicoVideo: del footer (071209)" Active = TRUE Multi = TRUE URL = "www.nicovideo.jp/$TYPE(htm)" Limit = 2048 Match = "$NEST(<div,\sid=$AV(PAGEFOOTER)*,</div>)" Replace = "<div id="PAGEFOOTER"></div>"
[Patterns]
Name = "Nico: Nanika_del+ (091031)"
Active = TRUE
Multi = TRUE
URL = "www.nicovideo.jp/$TYPE(htm)"
Limit = 8192
Match = "onclick=$AV(switchCategoryTag*)"
"|$NEST(<td,>[^>]++id=$AV(web_pc_uneune)*,</td>)"
"|$NEST(<div,\sclass=$AV(ads_468)>*$AV(web_pc_(top|watch)*)*,</div>)"
"|$NEST(<div,[^<]++<[^>]++id=$AV(web_pc_pr(emium|ime))*,</div>)(\s$NEST(<script,</script>)|)"
"|$NEST(<table,\swidth=$AV(100%)*web_pc_megatext*,</table>)((^<!)?)++$NEST(<script,</script>)"
"|$NEST(<div,[^<]++<p\sid=$AV(web_pc_categorygroup_*)*,</div>)"
"|$NEST(<table,\swidth="800"[^<]++<tr[^>]++id=$AV(web_pc_hide)>*,</table>)"
"|$NEST(<td,*/chcom_img_blank.gif"*,</td>)"
"|$NEST(<p$URL(*/watch/),\sclass="font12"*<a\shref=$AV(/embed/[a-z0-9]+)*,</p>)"
"|$NEST(<a,\shref=$AV(#{link})*dic_off.gif">,</a>)"
"|$NEST(<p$URL(*/watch/),\sclass="font12"*$AV(*/cat21/post.html)*,</p>)"
"|$NEST(<div,\sclass=$AV(mb16p4)*googlesyndication*,</div>)"
"|$NEST(<td$URL(*/mylist/),*>\<iframe\>[%E3][%82][%BF][%E3][%82][%B0][%EF][%BC][%9A]</p>*,</td>)"
"|$NEST(<p,>*$AV(JavaScript:ANCHOR\(\'PAGETOP\'\))*,</p>)*</a></td>\s</tr>\s</table>"
Replace = "\@"
## トップのカテゴリタブ選択時のフィルタ無効化防止 ## ヘッダ左の広告(極小) ## ヘッダ右の広告 ## 右部広告(大) ## 右部広告(小) ## トップの右下広告 ## カテゴリなどの下部PR広告 ## 動画ページのチャンネル・コミュニティ未所属時の画像 ## 動画ページの”この動画を …~” ## 動画ページのタグの横の大百科記事なし時の画像 ## 動画ページのつかいかた周辺(旧プレーヤ-視聴リンク含む) ## 動画ページのフッタ上の広告 ## マイリストのブログパーツ ## フッタ
※使わない行の削除などでマッチの一番上の行が変わった場合、その行の先頭の"|"を必ず消してください
フィルタの編集で各自必要な物を追加したり入れ替えてください
※個別に更新されるのですべてが正常動作するとは限りません
"Nico: Nanika_del+ (091031)"用
## ヘッダバーのユーザー名の前の”一般会員”(プレミアム会員の場合どうなるかはわかりません)
|(<a onclick="showOBJ\(\'headmenu_g2\'\);[^>]++>)\#\w
## ヘッダバーのログインしてない時の”ようこそ ゲスト さん”
|<span[^<]++</span> - (<a href="https://secure.nicovideo.jp/secure/login_form")\#
## ヘッダバーを除いた下部全部
|$NEST(<table,(\swidth="984"[^>]++cellpadding=")\04("[^>]++clear:both;">)\1*,</table>)$SET(#=<table\00\1</table>)
## 動画ページの大百科の記事
|$NEST(<table,(\swidth="976"[^>]++)\0(">*id="nicopedia_video_des"*)\1,</table>)$SET(#=<table\0 display:none;\1</table>)
## 動画ページだけヘッダ固定を標準にする(Firefoxだとプレーヤ-の方が前面にでてしまうので)
|(>$URL(*/watch/) <body id="PAGETOP" class=")\#mode_2$SET(#=mode_1)
| 詳細情報・メニュー表示切替ボタン | |$NEST(<a,\shref=$AV(#)\sonclick=$AV(showOBJ*)(^[^>]++style)*,</a>) |
| この動画は、~ | |$NEST(<p,\sclass=$AV(font12)>*id=$AV(nicommons)*,</p>)$URL(*watch/) |
| この動画は、~(ch・コミュ未所属動画のみ) | |$NEST(<p,\sclass=$AV(font12)>*<a\shref=$AV(*post*)*,</p>)$URL(*watch/) |
| カテゴリ~登録マイリストを確認 | |$NEST(<p,\sclass=$AV(font12)\sstyle=$AV(color:#CCC; margin-top:2px;)>*openlist*,</p>) |
| 詳細情報・メニュー表示切替ボタンとリンク | |$NEST(<a,\shref=$AV(#)\sonclick=$AV(showOBJ*)*,</a>) |
| タグ横の大百科画像 | |$NEST(<a,\shref=$AV(#{link})*$AV(*dic_o(n|ff).gif)>,</a>) |
| マイメモリー保存ボタン | |$NEST(<td,\sstyle=$AV(padding-right:8px;)><form\saction=$AV(/mymemory_register)*,</td>) |
| マイリスト登録ボタン | |$NEST(<td,><a\shref=$AV(/mylist_add/video/*)*,</td>) |
| とりあえずマイリスト登録ボタン | |$NEST(<td,><a\s[^>]++id=$AV(BTN_add_deflist)*,</td>) |
| ニコニコ市場 | |$NEST(<div,\sstyle=$AV(padding:4px;)>\s<p><img\s[^>]++ichiba_frm_top*,</div>) |
| 下部動画情報 | |$NEST(<div,\sclass=$AV(mb16p4)>\s<[^>]+>\s<p\sclass=$AV(font10)*,</div>) |
| 上部アニメチャンネル等の広告 | |$NEST(<div,\sid=$AV(watch_channel_ad)\sstyle=$AV(*padding:4px;)>*,</div>) |
| 上部MTV公式動画の広告 | |$NEST(<div,\sstyle=$AV(*padding:4px;)>((^<!-)?)++ad.doubleclick.net/adj/mtv.*</div>) |
| ヘッダバーの”右上” | |( \||)\s<a href="migiue"[^\r\n]++</a> |
| ヘッダ左のアニメGIF | |$NEST(<td>,\s<!----><a href=$AV(related_tag/*)[^\r\n]++<!---->\s,</td>) |
| ヘッダのニコニコ動画(9)画像 | |$NEST(<td,><a\shref=$AV(/)[^\r\n]++/head/logo/nine.png*,</td>) |
| ヘッダの検索フォーム | |$NEST(<form, id=$AV(head_search_form)*,</form>)\s$NEST(<script,</script>) |
| ヘッダバーのプレミアム会員登録 | | - <a href="/\?p=premium_top\&sec=bar"[^<]++</a> |
| マイページ→マイリストタブのBOX | |$NEST(<div,\sclass=$AV(content_312)>*,</div>) |
| 検索ページなどの【動画を?件表示】 | |$NEST(<a,[^>]++$AV(Cookie.set\('col',\s'(2|4)',\s1000\*60\*60\*24\*365*)*,</a>) |
| フッタの"ページトップ"画像 | |<p><a\shref=$AV(JavaScript:ANCHOR\('PAGETOP'\))>[^\r\n]++\s[^\r\n]++</noscript> |
| F5制限解除 | |function\spressKEY\(keyCode\)((^->)?)++</p>'\);}\s} |
| 最新コメント吹き出し消去(Fukidashi killerを入れた場合不要) | |$NEST(<p,\sclass=$AV(vinfo_last_res)[^>]+>*,</p>) |
| ニコニ広告 | |$NEST(<div,\sclass=$AV(mb8p4)*uad_container*,</div>) |
| マイリストの「動画を宣伝」ボタン | |$NEST(<form,*uad*,</form>) |
どなたかうまくまとめられる方編集お願いします(ただ全部入れて消しまくっても逆に面倒なことになりかねないので)
[Patterns] Name = "NicoVideo: kill SMILEVIDEO,PREMIUM,NMM,comment.gif" Active = TRUE URL = "www.nicovideo.jp/$TYPE(htm)" Bounds = "<img*>" Limit = 256 Match = "<img*alt=$AV((SMILEVIDEO|[%e6][%8a][%95][%e7][%a8][%bf][%e8][%80][%85]*|[%e3][%83][%97][%e3][%83][%ac][%e3][%83][%9f][%e3][%82][%a2][%e3][%83][%a0]*|NicoMovieMaker))*>"
動画ページでSMILEなどのロゴ、動画名、投稿日時を一列表示します。極力スクロールする手間を減らしたい場合に有用かも。
[Patterns] Name = "NicoVideo: Movie info 1-Line (081017)" Active = TRUE Multi = TRUE URL = "www.nicovideo.jp/watch/$TYPE(htm)" Limit = 512 Match = "<p>(<img\ssrc=$AV(*/common/cms/*.gif)\s[^>]+>)\0</p>*($NEST(<strong,</strong>))\1*<a*class=$AV(video)[^>]+>\2</a>" Replace = "<table><td>\0</td><td><h1><p>\2</p></h1></td><td class="TXT12">\1</td></table>"
[Patterns]
Name = "NicoVideo: ichiba toggle button (091104)"
Active = TRUE
URL = "$TYPE(htm)(www|live).nicovideo.jp/(watch|gate)"
Limit = 512
Match = "(<div[^>]++id="ichiba_placeholder")\#$SET(#= style="display:none;")"
"|(href="http://ichiba.nicovideo.jp/" target="_blank"(^(^> <img[^>]++src=$AV(img/watch/ichiba/logo.gif*)))$SET(#=href="javascript:void(0);")"
"|(<img[^>]++class="ichiba_frm_top")\#$SET(#= style="cursor:pointer;"))"
"$SET(#= onClick="$('ichiba_placeholder').toggle()")"
Replace = "\@"
「NICONICO ICHIBA」のボタンで開閉
[Patterns] Name = "Nico Kill ICHIBA" Active = TRUE URL = "www.nicovideo.jp/watch/?$TYPE(htm)" Limit = 4000 Match = "$NEST(<div, id=$AV(WATCHFOOTER)*,</div>)" Replace = "<span id="WATCHFOOTER"></span>"
全画面表示が出来なくなるのを修正
#携帯用の市場を消す
[Patterns]
Name = "NicoVideo: del keitai_ichiba+alpha [081016]"
Active = TRUE
URL = "ichiba([0-9]|).nicovideo.jp/embed$TYPE(htm)"
Limit = 4096
Match = "<div\s+id=\\"ichiba_itemA\\"*(<div\s+class=\\"premium_invitation\\"*<\\/div>*|)<\\/div>[^<]++"
"<div\s+id=\\"ichiba_edit_buttonA\\"*(<div\s+class=\\"ichiba_button\\"*<\\/div>*|)<\\/div>[^<]++"
"|<div\s+id=\\"ichiba_edit_buttonB\\"*<\\/div>[^<]++"
"|<img[^>]++(amazon.co.jp|Yahoo! JAPAN|warning-adult|comingsoon|noitem|noimage)[^>]++>"
Matchの3行目がPC向け編集ボタンを、4行目がAmazon/Yahooの商品であることを示す画像他を消しているので
不要ならこれらの行を削除してください
#ニコニコ市場とは … っていう説明を消す [Patterns] Name = "NicoVideo: Del ichiba setumei table [080518]" Active = TRUE URL = "www.nicovideo.jp/watch/$TYPE(htm)" Limit = 4096 Match = "$NEST(<table[^>]++summary=$AV([%e8][%aa][%ac][%e6][%98][%8e]),</table>)\s+"
FireFoxで動作確認。タグにidがついていればそこの表示切替ができるようになる。切替後の状態はクッキーで保持される。
ヘッダーの右端にセレクトボックスができるのでそこから表示を切り替える。(ヘッダーをいじっている場合はどうなるか分からない)
上の画像は左からトップページ、カテゴリページ、動画ページのものでそれぞれセレクトボックス内のものが切替可能になる。
もし他に切り替えたい場所があればフィルタ①みたいにしてidとtextをつけていけばいい。
使い方
下の2つのフィルタをいれておく。
①タグにidをつけるフィルタ (リスト使用)
ソースで<!--↓コミュニティ↓-->~<!--↑コミュニティ↑-->みたいになってるところにidをつけたり、動画ページ内のタグにidをつけたりする。
add_id.txt 左のファイルをListsフォルダに入れブロックファイルに追加しておく必要がある。
[Patterns]
Name = "Nico:Add ID (090214)"
Active = TRUE
URL = "www.nicovideo.jp/((^?)|\?g=|watch/)"
Limit = 8192
Match = "<!--[%E2][%86][%93]$LST(add_id)[^>]+>\2<!--[%E2][%86][%91]$LST(add_id)[^>]+>$SET(#=<span id="\0" text="\1">\2</span>)"
"|(<table width="160"[^>]++style="margin-bottom:8px;")\#$SET(#= id="top14" text="おすすめチャンネル")"
"|(<div style="width:560px; float:left; overflow:hidden;")\#$SET(#= id="top15" text="新着コメント動画")"
"|($NEST(<p style="padding:4px;">,<a href="#" onclick="showOBJ\(\'des_1\'\)*,</p>))\0$SET(#=<span id="button" text="ボタン">\0</span>)"
"|($NEST(<p>, <img src="http://res.nicovideo.jp/img/common/cms/\w*,</p>))\0$SET(#=<span id="logo" text="ロゴ">\0</span>)"
"|($NEST(<p class="TXT12" style="margin-top:2px;"><strong>,</p>))\0$SET(#=<span id="posted" text="投稿日時">\0</span>)"
"|($NEST(<h1>,<a*,</h1>))\0$SET(#=<span id="title" text="タイトル">\0</span>)"
"|($NEST(<p class="TXT12">,[^<]+<strong>*,</p>))\0$SET(#=<span id="rank" text="ランク">\0</span>)"
"|($NEST(<div, class="video_description"*,</div>))\0$SET(#=<span id="description" text="投稿者コメント">\0</span>)"
"|($NEST(<p, class="TXT12" style="color:#CCC; margin:4px;"*,</p>))\0$SET(#=<span id="link" text="この動画を…する">\0</>)"
"|(<td width="100%" style="padding:4px;")\#$SET(#= id="tag" text="登録タグ&大百科")"
"|($NEST(<table, width="960"[^>]+> <tr> <td> <a*,</table>))\0$SET(#=<span id="help" text="ヘルプ">\0</span>)"
Replace = "\@"
②上のフィルタ等でつけておいたidをMatch5行目idsに$("id名")のかたちでいれておく。(上のフィルタでつけたidは入れてある)
[Patterns]
Name = "Nico:Add Toggle Switch (090214)"
Active = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/((^?)|\?g=|watch/)"
Limit = 64
Match = "(var country = \w)\#$SET(#=\n"
"var ids=new Array;"
"Nico.onReady(function(){"
"wrap("PAGEFOOTER","footer","ページフッター");"
"ids=[$("top1"),$("top2"),$("top3"),$("top4"),$("top5"),$("top6"),$("top7"),$("top8"),$("top9"),$("top10"),$("top11"),$("top12"),$("top13"),$("top14"),$("top15"),$("top16"),$("top17"),$("top18"),$("top19"),"
"$("logo"),$("posted"),$("title"),$("rank"),$("description"),$("link"),$("button"),$("community"),$("tag"),$("mylist"),$("help"),$("ichiba"),$("info"),$("footer")];"
"var select=document.createElement("select");"
"if($("WATCHHEADER"))"
"select.innerHTML='<option onclick="download();">動画をダウンロード</option>';"
"for(var i=0;i<ids.length;i++){"
"if(ids[i]){"
"if(Cookie.get("display_"+ids[i].id)=="0") ids[i].style.display="none";"
"var text=ids[i].getAttribute("text"); if(!text) text=ids[i].id;"
"select.innerHTML+='<option onclick="toggle_(ids['+i+']);">'+text+'</option>'; }"
"}"
"if(select.childNodes.length){"
"var td=document.createElement("td");"
"td.appendChild(select);"
"$("PAGEHEADER").getElementsByTagName("tr")[0].appendChild(td);"
"}"
"document.body.style.display="";"
"});"
"function wrap(id1,id2,text){"
"var e=$(id1); if(e){"
"var div=document.createElement("div"); div.id=id2; div.setAttribute("text",text);"
"var c=e.childNodes; while(c.length) div.appendChild(c[0]);"
"e.appendChild(div); }"
"}"
"function toggle_(e){"
"if(e){ e.toggle(); Cookie.set("display_"+e.id,(e.visible())?"1":"0",1000*60*60*24*365,".nicovideo.jp","/"); }"
"}"
"function download(){"
"new Ajax.Request("/api/getflv/"+Video.id,{ method:"get","
"onSuccess:function(req){ var url=req.responseText.toQueryParams()['url']; window.open(url); } });"
"})"
"|(<body)\#$SET(#= style="display:none;")"
Replace = "\@"
[Patterns] Name = "NicoVideo: Empty nicopedia table del (091105)" Active = TRUE URL = "www.nicovideo.jp/watch/$TYPE(htm)" Limit = 256 Match = ".update\(\'*\);" Replace = ".parentNode.parentNode.parentNode.parentNode.style.display="none";"
表示されるサムネイルを大きくします。
[Patterns]
Name = "Nico: LargeThumbnail (090505)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)(www|tw).nicovideo.jp/"
Limit = 16
Match = "(<body[^>]+>)\#$SET(#=\n<style type="text/css"><!--\n"
"img.video_w80, img.video_w96 { width:130px; height:100px; }\n"
"div.thumb_frm { word-break:break-all; }\n"
"--></style>\n)"
Replace = "\@"
CSSバージョン
[Patterns]
Name = "Nico: CSS LargeThumbnail (090911)"
Active = TRUE
URL = "$TYPE(css)res.(nicovideo|nimg).jp/css/common.css"
Limit = 256
Match = "(img\.video_w48\s\{*\})$SET(#=img.video_w48 { width:65px; height:50px;})"
"|(img\.video_w80\s\{*\})$SET(#=img.video_w80 { width:130px; height:100px;})"
"|(img\.video_w96\s\{*\})$SET(#=img.video_w96 { width:130px; height:100px;})"
"|(img\.video_w128\s\{*\})$SET(#=img.video_w128 { width:130px; height:100px;})"
Replace = "\@"
Deleteicons.zipをダウンロードして解凍した中から
好みのアイコンをひとつ選び、delete.gifにリネームしてからオミトロンのhtmlフォルダにコピーした後、
以下のフィルタを導入してください。通常版とLargeThumbnail併用版があります。
サムネ復活、キャッシュアイコン表示、サムネ拡大フィルタのうち二つ以上を併用する場合、 必ずサムネ復活→キャッシュアイコン表示→サムネ拡大の並び順にしてください。
Name = "NicoVideo: Thumbnail Restoration (080710)" Active = TRUE Multi = TRUE URL = "(www|tw).nicovideo.jp/$TYPE(htm)" Limit = 768 Match = "$SET(0=\r\n<!-- Delete -->\r\n<div style="position:absolute;">)" "$SET(1=\r\n<div style="position:absolute; top:89px; left:75px;">)" "$SET(2=\r\n<div style="position:absolute; top:74px; left:75px;">)" "$SET(3=\r\n<img src="http:local.ptron/delete.gif" alt="削除された動画">)" "$SET(4=</div>\r\n</div>\r\n<!---->\r\n)" "" "(<a\shref=$AV(*watch/sm\9)[^>]+>*)\#" "$AV(img/common/delete.jpg)$SET(#="http:tn-skr.smilevideo.jp/smile?i=\9")" "" "|(<img*alt=$AV(SMILEVIDEO|NicoMovieMaker|Photozou|YOSHIMOTO|IDOLGRAVURE|avex|livedoorNetAnime)[^>]+>)\#" "(*<*style=$AV(margin*)*>|)\#" "($SET(#=\0\2\3\4)(^(^*\s+<a\shref=$AV(*watch/($LST(CacheMovieID))\9)[^>]+>))" "|$SET(#=\0\1\3\4)(^(^*\s+<a\shref=$AV(*watch/(^$LST(CacheMovieID))\9)[^>]+>)))" "(^(^*<img*src=$AV(img/common/delete.jpg)[^>]+>))" Replace = "\@"
![]()
$SET(thumb=l)でサムネが左でチャンネル・コミュニティ画像が右に表示、$SET(thumb=r)で左右逆に
![]()
![]()
[Patterns]
Name = "Nico: thumbnail on left side of explanation(091101)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/watch/(^\?edit)"
Limit = 310
Match = "(http://uad.nicovideo.jp/main/history/index.html?vid=([a-z][a-z]([0-9]+)\0)\1)\#$SET(smid=\1)$SET(mid=\0)"
"|<table width="976" border="0" cellpadding="4" cellspacing="0" summary="" style="border:solid 2px #CCC; margin:4px;">*<p class="font12">"
"$SET(#=<table width="976" border="0" cellpadding="0" cellspacing="0" style="border:solid 2px #CCC;margin:4px;">"
"<tr><td><div style="background: #ccc;float:left;"><a href="http://www.nicochart.jp/watch/$GET(smid)" target="_blank">"
"<img style="width:130;height:100;" src="http://tn-skr.smilevideo.jp/smile?i=$GET(mid)"></a></div>"
"<div style="background: #f9f9f9;overflow: auto;overflow-y: scroll;direction: rtl;height: 100px;">"
"<p style="font-size:12px;line-height:1.5; padding:2px 4px; direction: ltr;min-height: 400px;">)"
"$STOP()"
Replace = "\#\@"NicoCache_nlと併用している場合のみに対応しています。
サムネ復活、キャッシュアイコン表示、サムネ拡大フィルタのうち二つ以上を併用する場合、 必ずサムネ復活→キャッシュアイコン表示→サムネ拡大の並び順にしてください。
iframeを使用しているため、iframeを消すようなフィルタを入れているなら 必ずそのフィルタのの後に入れてください。
config.propertiesを開いて最後の行に以下を追加してください
nlMovieIdList.listPath= (オミトロンのフォルダのパス)\\Lists\\CacheMovieID.txt C:\Program Files以下にオミトロンを入れてる場合は C:\\Program Files\\Proxomitron\\Lists\\CacheMovieID.txt
既にNicoCache_nlが起動中の場合ここで一度NicoCache_nlを再起動してください。
Cacheicons.zipをダウンロードして解凍し、
中からお好みのアイコンをCache.gifにリネームしてオミトロンのhtmlフォルダにいれてください。
最後に、以下のフィルタを導入してください。 通常版とサムネ拡大併用版とあります。
[Blocklists] List.CacheMovieID = "..\Lists\CacheMovieID.txt"
○通常版(サムネ拡大併用版が下にあります)
[Patterns]
Name = "NicoVideo: NicoCache_nl Cache Movie Marking (071206)"
Active = TRUE
Multi = TRUE
URL = "www.nicovideo.jp/ $TYPE(htm)"
Limit = 512
Match = "(^(^</body>\s</html>))"
"$SET(\#=<iframe src="/cache/idlist" height="0" width="0">CacheList</iframe>\r\n)$STOP()"
""
"|$SET(\0=\r\n<!-- Cache -->\r\n<div style="position:relative;">)"
"$SET(\1=\r\n<div style="position:absolute; top:60px; left:40px;">)"
"$SET(\2=\r\n<div style="position:absolute; top:45px; left:40px;">)"
"$SET(\3=\r\n<a href="cache/\9.flv"><img src="http://local.ptron/cache.gif" alt="
"キャッシュされた動画"></a>)"
"$SET(\4=</div>\r\n</div>\r\n<!---->\r\n)"
""
"(<img alt=$AV((SMILEVIDEO|Photozou))[^>]+>\s+</(p|div)>\s)\#"
""
"((\s+<div style=$AV(margin:4px 0px;)>\s+)\#"
"(<!---->|)$SET(\#=<!-- Cache -->\r\n)\#"
"(<div style=$AV(*60*)>(^(^<img\ssrc=$AV(*/premium.gif)*>))$SET(\#=\2\3<br>\r\n)\#"
"|<div style=$AV(*60*)>$SET(\#=\1\3)\#)<!---->$SET(\#=\r\n<!---->)"
""
"|(\s+<(p|div)(\sstyle=$AV(margin-top:4px;)|)>$SET(\#=\0\1\3\4))\#)"
""
"(^(^*\s+<a\shref=$AV((http://www.nicovideo.jp/|)watch/($LST(CacheMovieID))\9)>))"
""
"|([%e7][%ac][%ac][0-9]+[%e4][%bd][%8d]*<p>)\#"
"(<a * href=$AV((http://www.nicovideo.jp/|)watch/($LST(CacheMovieID))\9)>)$SET(\#=\0\1\3\4)"
Replace = "\@"
○LargeThumbnail併用版
[Patterns]
Name = "NicoVideo: NicoCache_nl Cache Movie Marking Large (071206)"
Active = TRUE
Multi = TRUE
URL = "www.nicovideo.jp/ $TYPE(htm)"
Limit = 512
Match = "(^(^</body>\s</html>))"
"$SET(\#=<iframe src="/cache/idlist" height="0" width="0">CacheList</iframe>\r\n)$STOP()"
""
"|$SET(\0=\r\n<!-- Cache -->\r\n<div style="position:relative;">)"
"$SET(\1=\r\n<div style="position:absolute; top:89px; left:75px;">)"
"$SET(\2=\r\n<div style="position:absolute; top:74px; left:75px;">)"
"$SET(\3=\r\n<a href="cache/\9.flv"><img src="http://local.ptron/cache.gif" alt="
"キャッシュされた動画"></a>)"
"$SET(\4=</div>\r\n</div>\r\n<!---->\r\n)"
""
"(<img alt=$AV((SMILEVIDEO|Photozou))[^>]+>\s+</(p|div)>\s)\#"
""
"((\s+<div style=$AV(margin:4px 0px;)>\s+)\#"
"(<!---->|)$SET(\#=<!-- Cache -->\r\n)\#"
"(<div style=$AV(*60*)>(^(^<img\ssrc=$AV(*/premium.gif)*>))$SET(\#=\2\3<br>\r\n)\#"
"|<div style=$AV(*60*)>$SET(\#=\1\3)\#)<!---->$SET(\#=\r\n<!---->)"
""
"|(\s+<(p|div)(\sstyle=$AV(margin-top:4px;)|)>$SET(\#=\0\1\3\4))\#)"
""
"(^(^*\s+<a\shref=$AV((http://www.nicovideo.jp/|)watch/($LST(CacheMovieID))\9)>))"
""
"|([%e7][%ac][%ac][0-9]+[%e4][%bd][%8d]*<p>)\#"
"(<a * href=$AV((http://www.nicovideo.jp/|)watch/($LST(CacheMovieID))\9)>)$SET(\#=\0\1\3\4)"
Replace = "\@"
動画一覧などに表示される最新コメントの吹き出しを消します。
[Patterns] Name = "Nico: Fukidashi killer [2008/12/6] - 186" Active = TRUE URL = "(www|tw).nicovideo.jp/(^watch) $TYPE(htm)" Limit = 512 Match = "(<(div|p)\1\s[^>]++class=$AV(res|*thumb_res*|comment|*res_summary*|vinfo_last_res)&$NEST(<$TST(\1),</$TST(\1)>))" "|onclick=$AV(*switchCategoryTag*)" "|onMouse(over|out)=$AV(*RES_*)"
このフィルタがあればトップページのカテゴリタグのリンクの置き換えのフィルタは不要です。
(Top CategoryTag ReplaceフィルタはFukidashi killerの一部を抜き出して作られたフィルタです)

動画一覧などを見ると、「再生:600 | コメント:63 | 10.5%」の様に表示されるようになります
再生:0 | コメント:1 | Infinity% の様になる事がありますが、気にしない(自作自演とは限らない様子)
※Fukidashi killerの「複数のルールのマッチを許可する」にチェックを入れれば併用可能
[Patterns]
Name = "NicoVideo: comment rate (080525)"
Active = TRUE
URL = "www.nicovideo.jp/"
Limit = 128
Match = "[%E5][%86][%8D][%E7][%94][%9F][%EF][%BC][%9A]"
"<strong[^>]+>([0-9,]+)\0</strong>"
"\8 "
"[%E3][%82][%B3][%E3][%83][%A1][%E3][%83][%B3][%E3][%83][%88][%EF][%BC][%9A]"
"<strong[^>]+>([0-9,]+)\1</strong>"
"&&\9"
Replace = "\9<script>document.write(' \8 <b>'+(('\1').replace(/,/g, '')-0 ? Math.round(('\1').replace(/,/g,'') / ('\0').replace(/,/g,'') *1000)/10 : 0)+'%</b>')</script>"

リストに動画IDがあればサムネやコメントなどを省略します。
[HTTP headers] In = TRUE Out = FALSE Key = "URL: Nico ADDLST Movie ID (071117) [in]" Match = "http://www.nicovideo.jp/watch/(^$LST(MovID)(^?))([a-z][a-z][0-9]+)\0(^?)" Replace = "$ADDLST(MovID,\0(^?))"
[Blocklists] List.MovID = "..\Lists\MovieID Log.txt"
[Patterns]
Name = "Nico: Ranking Watched MovID to Name Only (080211) thumb01"
Active = TRUE
Multi = TRUE
URL = "www.nicovideo.jp/ranking/$TYPE(htm)"
Limit = 2048
Match = "$NEST(<tr[^>]+>,\s+"
" $NEST(<td[^>]+>,*$NEST(<p[^>]+>,\2,</p>)*$NEST(<p[^>]+>,\3,</p>)*,</td>)\s+"
" $NEST(<td,</td>)\s+"
" $NEST(<td,*($NEST(<h3>,*<a[^>]++href=$AV(http://www.nicovideo.jp/watch/($LST(MovID))\4)*,</h3>))\0*,</td>)"
"*,</tr>)"
Replace = "<tr>\r\n"
" <td style="TEXT-ALIGN: right">\2</td>\r\n"
" <td style="TEXT-ALIGN: center"><a href="http://www.nicovideo.jp/thumb/\4""
" onMouseOver="return popThumb('thumb/\4', 0)" onMouseOut="return nd()">\3</a></td>\r\n"
" <td>\0</td>\r\n"
"</tr>"
[Patterns]
Name = "Nico: Ranking Watched MovID to Simple (091103)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/ranking(^/*/*/ichiba)"
Limit = 2560
Match = "$NEST(div,([^>]++class="thumb_frm"[^>]++>)\9(*<td style="padding:0 4px;)\0">"
" (<p[^>]++><a[^>]++href=$AV(*watch/($LST(MovID))\2))\3>"
"(<img[^>]++)\4( class=$AV(video_w96*)[^>]++>*)\5<h3(>*</h3> )\6"
"<p class="font12">*</p>( </div> <p class="vinfo_last_res">*</p>|)(*)\7,</div>)"
"$SET(#=div\9\0 width:74px; overflow:hidden;"><a href="http://www.nicochart.jp/watch/\2" title="\2">\1</a>"
"\3 onMouseOver="return popThumb('thumb/\2', 0)" onMouseOut="return nd()">"
"\4 style="border:solid 1px #333; width:72px; height:54px;"\5<div style="margin:0 0 2px 0; overflow:hidden; "
"width:576px;""
"><h3 \6$GET(ra_1)</div>$GET(ra_2)\7</div>)"
Replace = "\@"
2列化と併用する場合は"width:576px"を"width:388px;"に変更
[Patterns]
Name = "Nico: Mylist Watched MovID to Name Only (071114) test07"
Active = TRUE
URL = "www.nicovideo.jp/mylist/[0-9]+/[0-9]$TYPE(htm)"
Limit = 4096
Match = "$NEST(<tr,(\sid=$AV(mylist[0-9]+)[^>]+)\1>\s+"
" ($NEST(<td,*<a\shref=$AV(watch/($LST(MovID))\0)>*,</td>)"
" |$NEST(<td,*src=$AV(img/thumb/del_img.jpg)*,</td>)$SET(\0=Deleted!))\s+"
" $NEST(<td([^>]+)\2>,*($NEST(<h3,</h3>))\3*,</td>)\s+"
"(^<td$STOP()),</tr>)"
Replace = "<tr\1>\r\n"
" <td><a href="watch/\0">\0</a></td>\r\n"
" <td\2>\3</td>\r\n"
"</tr>"
[Patterns]
Name = "Nico: Search Watched MovID to Name Only (080708) thumb07"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/((^?)|\?g=|search|tag|recent|newarrival|myvideo)"
Limit = 2048
Match = "$NEST(<td,([^>]+>*<div\sclass=$AV(cmn_thumb_frm)[^>]+>)\1\s+<div*"
"$NEST(<a,(\s[^>]++class=$AV(video video_info_title)\shref=$AV(*watch/($LST(MovID))\3)[^>]+)\4>\5,</a>)"
"*,</td>)"
Replace = "<td\1\r\n<p class="TXT12">"
" <a\4 onMouseOver="return popThumb('thumb/\3', 0)" onMouseOut="return nd()">[img]</a>"
" <a\4>\5</a>"
"</p>\r\n</div></td>"
[Patterns]
Name = "Nico: Search Watched MovID to thumb_img_S (091103a)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/((^?)|\?g=|search|tag|recent|newarrival|myvideo|hotlist)"
Limit = 4096
Match = "$NEST(div,([^>]++class=$AV(thumb_frm*)[^>]++>)\0*"
"(<table*<p[^>]++> <a[^>]++href=$AV(watch/($LST(MovID))\1))\2(> <img[^>]++)\3(class="video_w(80|96)"|)(> </a> </p>)\4"
"(* <p class=")\5vinfo_length*(</td>*<td[^>]++>)\6*<p[^>]++>( <img[^>]++)\7>*(<strong*</p>)\8\9</span></a></p>(*($NEST(<p,"
" class="font10"*,</p>))\#|)*,</div>)"
Replace = "div\0\n\2 onMouseOver="return popThumb('thumb/\1', 0)" onMouseOut="return nd()"\3width="48" height="36" "
"style="border:solid 1px #333;"\4\6\5font10">\7 style="margin:0 0px -1px 0;">\n\8\9</span></a></p>\n\#\n</table>\n</div>"
[Patterns]
Name = "NicoVideo-PlayingTimeChecker-[MULTI TIME]+View (091029)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/((^?)|\?g=|search|tag|recent|newarrival|hotlist|myvideo)"
Limit = 4096
Match = "onclick=$AV(switchCategoryTag*)"
"|(> )\#$NEST(<div,([^>]++class=$AV(thumb_frm*)[^>]++style=")\0\1""
"(*<p class="vinfo_length"><span>)\2"
"(([#0:2])\3$SET(4=background:white; border:#ECECEC)"
"|([#3:6])\3$SET(4=background:#F7F7F7; border:#E4E4E4)"
"|([#7:12])\3$SET(4=background:ghostwhite; border:lavender)"
"|([#13:22])\3$SET(4=background:#FFFFF5; border:#FDF6C9)"
"|([#23:*])\3$SET(4=background:#FFF9F9; border:mistyrose))"
"(*)\6,</div>)$SET(#=<div\0\1 \4"\2\3\6</div>)"
"|$NEST(<div,([^>]++class=$AV(thumb_frm*)[^>]++style=")\0\1""
"(*<strong class="vinfo_view")\2 >"
"(([0-9]+,[0-9]+,[0-9]+)\3$SET(4= solid 4px; padding:4px; color:navy;)$SET(5=font-size:14px;)"
"|([#500:999],[0-9]+)\3$SET(4= solid 3px; padding:5px; color:#000064;)$SET(5=font-size:14px;)"
"|([#100:499],[0-9]+)\3$SET(4= double 3px; padding:5px; color:#000049;)$SET(5=font-size:12px;)"
"|([#10:99],[0-9]+)\3$SET(4= solid 2px; padding:6px; color:black;)$SET(5=font-size:12px;)"
"|([1-9],[0-9]+)\3$SET(4= solid 1px; padding:7px; color:#404040;)$SET(5=font-size:10px;)"
"|([0-9]+{3})\3$SET(4= dotted 0px; padding:8px; color:#555555;)$SET(5=font-size:10px;)"
"|([#0:99])\3$SET(4= dashed 0px; padding:8px; color:gray;)$SET(5=font-size:12px;))"
"(*)\6,</div>)$SET(#=<div\0\1 \4"\2 style="\5">\3\6</div>)"
Replace = "\@"
ヘッダー部分をスクロールしないようにして、常に表示させます。
div#TOPF、RANKF、FLOATING の height:○○%; がページのスクロールさせる部分の高さを決めてます。
div#PAGEBODY { margin-left:10px; の10pxがページの左端からどれだけ離れるかを決めてます。こちらもご自由に調整してください。
フッターは表示できません。
[Patterns]
Name = "Nico: nico floating (090402)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/"
Limit = 64
Match = "(<a\sid=$AV(PAGETOP)></a>)\#$SET(#=\n<style type="text/css"><!--\n"
"html, body { overflow:hidden; width:100%; height:100%; }\n"
"div#PAGEHEADER { margin:0 auto; width:984px; }\n"
"div#TOPF { overflow:auto; width:100%; height:80%; position:relative; top:0px; }\n"
"div#RANKF { overflow:auto; width:100%; height:75%; position:relative; top:0px; }\n"
"div#FLOATING { overflow:auto; width:100%; height:96%; position:absolute; bottom:0px; }\n"
"div#PAGEBODY { margin-left:10px; width:984px; }\n"
"--></style>)"
"|</div> <div\sid=$AV(PAGEBODY)>$URL(http://www.nicovideo.jp/(?g=*|^?|ranking/))"
"|<div\sid=$AV(category_recent)\sstyle=$AV(clear:both;)>$SET(#=</div>\n<div id="TOPF">\n<div id="PAGEBODY" style="">\n<div style="clear:both;" id="category_recent">)"
"|<div\sclass=$AV(content_672)>$SET(#=</div>\n<div id="RANKF">\n<div id="PAGEBODY" style="">\n<div class="content_672" style="">)$URL(http://www.nicovideo.jp/ranking/)"
"|(<div\sid=$AV(PAGEBODY))\0>$SET(#=<div id="FLOATING">\n\0 style="">)"
"|<div\sid=$AV(PAGEFOOTER)$SET(#=\k</div>\n<div id="PAGEFOOTER"></div>\n</body>\n</html>)$STOP()"
Replace = "\@"
FireFoxで動作確認。
新着、検索結果とランキングが対象。変えなくていいところはURLのMatchから消しておく。
使い方
①新着、検索結果を3列表示にしたかったらMatch7行目のcolumnの値を3に、
ランキングを2列表示にしたかったらMatch23行目のcolumnの値を2にしておく。
②新着、検索結果はMatch8行目の、ランキングはMatch24行目のs.leftの値(左からの距離)を調整する。
③Match下から2行目の数値を変えて幅を調整する。新着、検索結果は250、ランキングは464、350になってるところを変える。
④②と③を繰り返す。
コミュニティとかは非表示にしてます。
IE7で試したらMatch18行目 list.innerHTML=""; を消せば使えるみたい。
[Patterns]
Name = "Nico:Change Column (090208)"
Active = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/(newarrival|recent|search|tag|ranking)"
Limit = 128
Match = "(var country = \w)\#$SET(#=\n"
"Nico.onReady(function(){"
"var s=$("PAGEBODY").style;"
"s.position="relative";"
"if($("newarrival")){"
"var list=$("newarrival");"
"var column=3;"
"s.left="0px";"
"var td=list.getElementsByTagName("td");"
"var tbody=document.createElement("tbody");"
"while(td.length){"
"var tr=document.createElement("tr");"
"tr.vAlign="top";"
"for(var i=0;i<column&&td.length;i++)"
"tr.appendChild(td[0]);"
"tbody.appendChild(tr);"
"}"
"list.innerHTML="";"
"list.appendChild(tbody);"
"}"
"if($("ranking")){"
"var list=$("ranking");"
"var column=2;"
"s.left="0px";"
"var div=list.getElementsByTagName("div");"
"var table=document.createElement("table");"
"var tbody=document.createElement("tbody");"
"while(div.length){"
"var tr=document.createElement("tr");"
"tr.vAlign="top";"
"for(var i=0;i<column&&div.length;i++){"
"var td=document.createElement("td");"
"td.appendChild(div[0]);"
"tr.appendChild(td);"
"}"
"tbody.appendChild(tr);"
"}"
"table.appendChild(tbody);"
"list.innerHTML="";"
"list.appendChild(table);"
"}"
"document.body.style.display="";"
"});)"
"|(<body)\#$SET(#= style="display:none;")"
"|(<table width=")\#720$SET(#=100%)"
"|(<table border="0" \w \w summary="list")\#$SET(#= id="newarrival")"
"|(<div class="mb8p4")\#> <h1>$SET(#= style="display:none;"><h1>)"
"|(<td width="240")\#$SET(#= style="display:none;")"
"|(<div style="margin-bottom:16px;)\#$SET(#=display:none;)"
"|(<td width="560")\#$SET(#= id="ranking")"
"|(width(:|="))\#(336$SET(#=250)|536$SET(#=464)|424$SET(#=350))"
"|(<td><div style="width:240px;)\#$SET(#=display:none;)"
Replace = "\@"
[HTTP headers] In = TRUE Out = TRUE Key = "URL: NicoVideo NICONI-KOUKOKU Killer (both)" URL = "uad-api.nicovideo.jp/" Replace = "\k"
最新の15件を表示しています。 コメントページを参照
|