|
フィルタ、リスト公開/nicovideo
Top / フィルタ、リスト公開 / nicovideo
最終更新: 2009-07-01 (水) 00:36:50 (3d)
|
設定済みファイルを使用している場合、質問は設定済みファイル配布サイトで行ってください
| 省略 ※+クリックで表示 JavaScript必須 |
概要
※現在複数のバージョンに分かれています
flvplayer_wrapper_mod の最新版はこちら からチェックできます
flvplayer_wrapper_mod 2009-06-14b ニコ割対応(3種類のデザインから選択)
flvplayer_wrapper_custom(test) 2008-11-17 18:00 custom(test) ニコ割対応(表示/非表示自動切り替え)
導入
[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)" Match = "http://www.nicovideo.jp/watch/(^*oldplayer)(*\?\0|)$JUMP(http://\h\p?oldplayer=1&\0)"
通常ページにアクセスすると、自動的に旧プレイヤーのページに移動するフィルタ。
「$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\?mqver=[0-9]" 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] (090128) (In)" URL = "[^.]+.nicovideo.jp/smile\?[vms]$OHDR(User-Agent: *Gecko)" Match = "inline; filename="smile.\8"($OHDR(Cookie: *filename\=([A-Z0-9!%\'\(\)\-._~]+)\0)$URL(*/smile\?[vms]=[0-9]+.[0-9]+\1)$SET(9=\0\1.\8)|$URL(*/smile\?([vm]$SET(2=sm)|s$SET(2=nm))=([0-9]+)\0.[0-9]+\1)$SET(9=\2\0\1.\8))" Replace = "attachment; filename*=UTF-8''\9$LOG(RContent-Disposition: NicoVideo filenaming from title [Fx] (090128) (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 (081106)" Active = TRUE URL = "[^/.]+.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)」フィルタより下に置いてください。
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"
主な機能
ヘッダの下部または全部分、コメント、メッセなどへのリンクとマイメモリー関連ボタンなど、タグ、マイリスト、
動画プレーヤー、ヘルプ、動画下広告、市場、ブログパーツ、下部動画説明、フッタ上広告、フッタ
の表示・非表示を切り替えるテキストリンク形式のスイッチを追加します
その他機能
サムネ表示(左右どちらか選択可能、クリックでニコニコチャートへリンク)、SMILEVIDEOなどのロゴと投稿日時を一列表示、
"詳細情報・メニューを隠す"ボタン削除して替わりのリンクを表示、エコノミーモードリンク追加
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 = "Nico: thumbnail on right side of title(081207a)" Active = TRUE Multi = TRUE URL = "$TYPE(htm)www.nicovideo.jp/watch/(([a-z][a-z]([0-9]+)\0$SET(num0=\0))\1$SET(num=\1)|[0-9]+(^\?edit))" Limit = 4096 Match = "<div\sstyle=$AV(padding:4px;)>\s<p\sclass=$AV(TXT12)>[%E3][%81][%93][%E3][%81][%AE]*</div>$STOP()" "$SET(#=<div align="right" style="float:right;padding: 1px;margin:-2px 10px 1px 25px; border:solid 1px #555;display:block;">" "<a href="http://www.nicochart.jp/watch/$GET(num)" target="_blank">" "<img src="http://tn-skr.smilevideo.jp/smile?i=$GET(num0)"></a></div>)" "|<div\sclass=$AV(video_description)>" "$SET(#=<div class="video_description" style="width: 750px; height: 64px; border-color: white; border: 1px; overflow-y:auto;">)" Replace = "\@"
[Patterns]
Name = "nicovideo | open owner description 20090216"
Active = TRUE
Multi = 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 が含まれています)
タイトルか作者コメントにリストで指定した文字列を含む、または指定したアドレスの動画を非表示にします。
また特定のチャンネル、コミュニティに所属する動画も非表示にします。
リストの記述法はNG WORDと同様です。チャンネルは「ch***」、コミュニティは「co***」の形で記述してください。
[Blocklists] List.NGtitle = "..\Lists\NGtitle.txt"
[Patterns]
Name = "Nico: NGtitle (090406)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/(^related_tag|watch)"
Limit = 4096
Match = "($NEST(<table,\s[^>]++width=$AV(664)*,</table>) <div\s[^>]+> <!--[^>]+> $NEST(<div,</div>) <!--[^>]+>|<td>( <!----> $NEST(<div,\sid=$AV(item[0-9]++_uad*)*,</div>) <!---->|))"
"\s$NEST(<div,[^>]++class=$AV(thumb_frm)*("
"<a\s[^>]++href=$AV(watch/$LST(NGtitle)(^?))"
"|<img\s[^>]++src=$AV(*channel_cms/$LST(NGtitle).gif)"
"|<a\s[^>]++class=$AV(video)[^>]+>(<span\s[^>]+>|)[^<]++$LST(NGtitle)"
"|$NEST(<p,\sclass=$AV(TXT(12|10))>[^<]++$LST(NGtitle)*,</p>)|$NEST(<span,\sclass=$AV(vinfo_description)>[^<]++$LST(NGtitle)*,</span>)"
")*,</div>)\s"
"(</div>|</td>)"
"|$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,\sid=$AV(item[0-9]++_uad*)*,</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:144px;)))$SET(ng=$GET(ng)1)$TST(ng=11111)$SET(#=</tr><tr valign="top" style="">)$SET(ng=)"
"|</tr> <tr\svalign=$AV(top)>$TST(NicoTR=true)"
"|(^(^<table\s[^>]++summary=$AV(video)))$SET(NicoTR=true)(^?)"
Replace = "\@"
作者コメントに反応させたくない場合はマッチ部分の上から6行目を削除
コミュニティ、チャンネルに反応させたくない場合はマッチ部分の上から4、9行目を削除
検索表示を3列にしている場合は下から3行目の 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.length) location.href=document.referrer; }});
} 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 (090401)"
Active = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/(history|mylist[/_])|$TYPE(js)res.nicovideo.jp/js/(mylist.js|mylist_edit.js)"
Limit = 256
Match = "(<div )\#class="content_672""
"|(<table id=\w )\#width="672"[^>]+>\s(<tbody id="mylist_items">|)"
"$SET(#=><tbody id="mylist_items"><tr valign="top"><td height="100%"><table width="480" height="100%" cellspacing="0" cellpadding="2">)"
"|(<table )\#width="672"([^>]+>\s<tr valign="top">)\#"
"$SET(#=<td height="100%"><table width="480" height="100%" cellspacing="0" cellpadding="2"><tr valign="top">)"
"|(</p></td></tr>)\#\s$SET(#=</table></td>)((^(^<tr\s))$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">)|$SET(#=</tr>))"
"|(<div class="content_312")\#$SET(#= style="display:none;")"
""
"|(try\s$NEST({,\scompleteMylistDel*,})\scatch\s\(e\)\s{\s}\s)\#"
"$SET(#=\tfinally {\n\t\t\t\t\tdelete orderInfo[mylist_id.substring(6)];\n\t\t\t\t\tsetOrder($F('sortselect'));\n\t\t\t\t}\n\t\t\t)"
"|(lists=orig.)\#[^;]+$SET(#=getElementsByTagName('tbody'))"
"|(lists)\#(^(^.appendChild))$SET(#=[i])"
"|orig.parentNode.replaceChild\(lists,\sorig\);"
"|(this.items_map.remove$NEST(\(,\))\;)\#\sthis.updateRows\(\);$SET(#=\n\t\t\titems.sort();)"
"|parent=this.items[^;]+;\sthis.items.each$NEST(\(,\))\;"
"$SET(#=lists=$('mylistitems').childNodes[0].getElementsByTagName('tbody');\n\t\t"
"this.items.each(function (it, i) {\n\t\t\t[it.$('row'),it.$('sep')].each(function (el) {\n\t\t\t\tif (el) lists[i].appendChild(el);\n\t\t\t});\n\t\t});)"
Replace = "\@"
Ranking-PlayingTimeChecker+2line.txt
こんな感じになります
Ranking-PlayingTimeChecker+2line.png
[Patterns]
Name = "NicoRanking-PlayingTimeChecker-[MULTI TIME]+View (090209)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/ranking(^/*/*/ichiba)"
Limit = 2048
Match = "(<div[^>]++class=$AV(thumb_frm))\1[^>]++>(*<strong)\2>"
"(([#0:2])\3$SET(4=background:white; border:#ECECEC)$SET(9=font-size:12px; color:gray;)"
"|([#3:6])\3$SET(4=background:#F7F7F7; border:#E4E4E4)$SET(9=font-size:12px; color:black;)"
"|([#7:12])\3$SET(4=background:ghostwhite; border:lavender)$SET(9=font-size:12px; color:royalblue;)"
"|([#13:22])\3$SET(4=background:#FFFFF5; border:#FDF6C9)$SET(9=font-size:12px; color:orange;)"
"|([#23:*])\3$SET(4=background:#FFF9F9; border:mistyrose)$SET(9=font-size:12px; color:red;))"
"(*[%EF][%BC][%9A]<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)(*</p>)\8$SET(r_01=\8)"
"|$URL(*/res)(*[%EF][%BC][%9A]<strong)\0>(*</p>)\8$SET(r_01=\0 style="font-size:120%;">\8)"
"|(*[a-z][a-z][0-9]+"><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);")"
""
"|(<td )\#(width="560")\0$SET(#=style="width:100%;" \0)|width="536"\s"
"|(<div[^>]++class="data_right")\#[^>]++>$SET(#= style="width:662px;">)"
"|$NEST(<td><div,\sstyle=$AV(width:240px;)*,</div></td>)$STOP()"
Replace = "\@"
[Patterns]
Name = "Nico: Ranking 1line -> 2line (090401)"
Active = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/ranking/"
Limit = 256
Match = "(<div class="content_672">)$SET(#=<div ><table cellspacing="0" cellpadding="0"><tr valign="top"><td>)"
"|(</div>\s</div>\s<!--[^-]+-->\s<!--[^-]+-->)\#(\s)\0$SET(line=$GET(line)1)($TST($GET(line)=11)"
"$SET(line=)$SET(#=\n</td></tr>\0<tr valign="top"><td>\n)|$SET(#=\n</td>\0<td>\n))"
"|(</p></div>\s<!--[^-]+-->)\#(\s)\0$SET(line=$GET(line)1)($TST($GET(line)=11)"
"$SET(line=)$SET(#=\n</td></tr>\0<tr valign="top"><td>\n)|$SET(#=\n</td>\0<td>\n))"
"|style="width: 648px;"$SET(#=style="width: 468px;")"
"|width="664"$SET(#=width="468")"
"|(<div class="content_312")\0$SET(#=</td></tr></table>\n\n\0 style="display:none;")$STOP()"
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語句
[Patterns]
Name = "Nico: Ranking Category -> select (090403)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/ranking/"
Limit = 256
Match = "<table\swidth=$AV(100%)\sborder=$AV(0)\scellpadding=$AV(0)\scellspacing=$AV(0)\sstyle=$AV(margin:4px;)><tr><td>$SET(#=\n"
"<div style="margin:4px;"> \n<div style="background:url('http://res.nicovideo.jp/img/ranking/switch/bg.gif') repeat-x bottom;">\n"
"<table border="0" cellpadding="0" cellspacing="0" id="switch">\n<tr valign="bottom">\n"
"<td class="sw_txt">カテゴリ:</td>\n"
"<td style="padding-bottom:4px;"><select onChange="jumpMENU('parent',this,0)" style="width:100px; font-size:12px;">\n)"
"|<a(\sclass=$AV(tab_a(0$SET(1= selected)|1))|\shref=$AV(\0))++ > <div\sclass=$AV(tab_L)><div\sclass=$AV(tab_R)>([^<]+)\2</div></div></a>"
"$SET(#=<option value="\0"\1>\2</option>)"
"|</td></tr></table> <div\sstyle=$AV(margin:4px;)> <div[^>]+> <table[^>]+> <tr[^>]+>$SET(#=\n</select></td>)"
Replace = "\@"
[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 [090408]"
Active = TRUE
Multi = TRUE
URL = "www.nicovideo.jp/(search|tag|recent|hotlist|newarrival|myvideo)"
Limit = 1024
Match = "(<a[^>]++$AV(Cookie.set\('col', '"
"$SET(c3=304)"
"$SET(c6=140)"
"(4$SET(d_frm=$GET(c3)px)$SET(s2346=23)|2$SET(d_frm=$GET(c6)px)$SET(s2346=46))'*)[^>]++>*)\0"
"(2$SET(c36=3)|4$SET(c36=6))$SET(#=\0$GET(c36)\1)"
"|</tr> <tr\svalign="top"( style=""|)>|(<div class=$AV(content_672))\#>$SET(#= style="width:100%;">)
"|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))"
"|(width:)\#312$SET(#=$GET(c3))|(width:)\#144$SET(#=$GET(c6))"
"|(table)\#(^(^ width="672"))$SET(#= style="width:100%;)"
""
"|class="video_w96"(^(^></a></p>))$SET(#=width="128" height="96" style="border:solid 2px #333;")"
"|<p>(<img[^>]++)\0></p> $NEST((<p class="TXT10" style="margin)\1-top:2px;">,\2 [%E6][%8A][%95][%E7][%A8][%BF],</p>) "
"$SET(#=\1:0 0 2px 0;">\0 style="margin:0px 1px -1px 0px;">\n<nobr>\2</nobr></p>)"
"|(<span class="vinfo_description">)\#\0( [%E3][%80][%80] | [%E2][%80][%81] )+{4,*}(*</span>)\1$SET(#=\0<br>\1)"
"|(<div\sclass=$AV(content_312))\#$SET(#= style="display:none;")$STOP()"
Replace = "\@"

単独で使用すると画像の左側みたいな感じに、NicoVideo: header lightと併用すると右側みたいな感じに
[Patterns]
Name = "NicoVideo: search form+ (090417)"
Active = TRUE
Multi = TRUE
URL = "www.nicovideo.jp/$TYPE(htm)"
Limit = 6912
Match = "$NEST(<form,((^(name="ph_sf"|>))?)++action="(|/)search"*$AV(bar_search)*"
"($NEST((<td\sstyle="color:#999;)\0,(">*)\1,</td>)"
"$SET(a_his=\0 font-size:12px; padding:0px 0px 0px 4px; width:100%" align="left\1</td>)|</tr>)*,</form>)"
"$SET(sf_cb=2)"
"$URL(*/watch/$SET(rb_sc= \n"
"oncontextmenu="ph_sf.s.value = wv_id_sf; ph_sf.s.focus(); return false;")|)"
"(\2<form\saction="/search"*(<table[^>]++>)\3*(<td\sstyle="color:#999;">)\4|)"
"$SET(#=\n$FILE(html/search_form+.txt)\n\2\3\4)|[%EF][%BB][%BF]"
"|(\sif\s\(Cookie.get\('ph_cb_checked'[^!]++checked>';})\0($TST(sf_cb=2)$SET(#=\0)|)"
"|(> <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))"
"|<--rb_sc-->(\svalue=")\0$SET(#=$GET(rb_sc)\0)"
"|(<input[^>]++)\0<--checked-->$SET(#=$GET(checked))"
"($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))"
"|<!--a_his-->$SET(#=$GET(a_his))"
"|>( $NEST(<p,$URL(*/watch/)*<nobr><a[^>]++href=$AV(openlist/\0)*,</p>))\1"
"$SET(#=>\n<script type="text/javascript"><!--\nwv_id_sf = "\0";\n--></script>\1)"
"$STOP()"
Replace = "\@"
マッチ4行目 $SET(sf_ch=0) 読み込み時別窓チェックなし $SET(sf_ch=1) 読み込み時別窓チェック入り $SET(sf_ch=2) Cookieでチェックの状態を保存(標準) 動画ページで復元ボタン右クリックでの動作をダブルクリックでの動作に変更(右クリックで反応しない場合など) マッチ6行目のoncontextmenu=をondblclick=に ページ読み込み時は自動入力されないようにしたい場合(復元ボタンクリックでは入力される) マッチ8行目を下の2行に入れ替える $SET(#=\n$FILE(html/search_form+.txt)\n<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 (090417) たぶんIE8にも対応?(確認できない環境なので・・・)
入力フォームEnterでの動作を別窓チェックボックスと連動しないようにする場合、テキストの6行目jump('http://~を変更する
location.href=('http://~ 常時同じ窓で開く
window.open('http://~ 常時別窓で開く
入力フォームの幅を変えたい場合、13行目のwidth:180px;の値をいじる
検索・タグボタン右クリックでの動作をダブルクリックでの動作に変更する場合、oncontextmenu=をondblclick=に
[Patterns]
Name = "NicoVideo: add search link Google,YouTube,Veoh (090405)"
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)\#(^(^<p\sclass="TXT12">))"
"$SET(#=<p class="TXT12">"
"<a href="http://www.google.co.jp/search?q=$GET(query)"><img alt="" src="http://res.nicovideo.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.nicovideo.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.nicovideo.jp/img/common/icon/search.gif" class="txticon">"
"キーワード\n<strong style="background:#CCC;">$GET(keyword)</strong>\nをVeohで検索</a></p>)"
"(<p\sclass="TXT12">)\#($URL(http://[^/]+/(^search)*)$SET(#=\n"
"<a href="search/$GET(query)"><img alt="" src="http://res.nicovideo.jp/img/common/icon/search.gif" class="txticon">"
"キーワード\n<strong style="background:#CCC;">$GET(keyword)</strong>\n"
"が含まれる動画を検索</a>\n)|)$STOP()"
Replace = "\@"
(注 トップのでかい奴は対象外)
[Patterns]
Name = "NicoVideo: replace search button (090405)"
Active = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/(^\?g=)?"
Limit = 128
Match = "(action=")\#/search$SET(#=search/)|(this.action)\#\+'/'"
"|<input\s[^>]++submit_search.gif[^>]+>"
"$SET(#=<ul class="iconbar">"
"<li><input type="image" onclick="$(this).up('form').action='search/';" src="http://www.nicovideo.jp/img/favicon.ico"></li>"
"<li><input type="image" onclick="$(this).up('form').action='http://www.google.co.jp/search?q=';" src="http://www.google.co.jp/favicon.ico"></li>"
"<li><input type="image" onclick="$(this).up('form').action='http://www.youtube.com/results?search_query=';" src="http://www.youtube.com/favicon.ico"></li>"
"<li><input type="image" onclick="$(this).up('form').action='http://www.veoh.com/search/videos/q/';" src="http://www.veoh.com/favicon.ico"></li></ul>"
"<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;}"
"--></style>)$STOP()"
Replace = "\@"
[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行目は、「動画ページの場合のみ検索欄も消す」

Match行の上から3~8行目が検索バー、上から9~17行目がLINKバー、下から4~7行目がヘッダー右側の追加リンクです。
いらない部分は削除したり、または追加したりしてください。
[Patterns]
Name = "NicoVideo: header light (090629)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/"
Limit = 1024
Match = "(<table[^>]++class=$AV(topline))\#$SET(#= style="margin:-6px 0 -6px;")"
"|$NEST(<td,\snowrap>*,</td>) $NEST(<td,\swidth=$AV(100%)>*,</td>)$SET(#="
"<td>\n<form name="pagetop_searchform" action="search" method="get" onsubmit="if (this.s.value.strip() != '') location.href='http://www.nicovideo.jp/search/'+encodeURIComponent(this.s.value.strip()).replace(/%20/g, '+'); return false;">\n"
"<input type="hidden" name="ref">\n"
"<table border="0" cellpadding="0" cellspacing="4" summary="search"><tr>\n"
"<td><input type="text" name="s" value="" id="bar_search" class="toolbar_input_search" style="width:100px; font-size:12px; margin:-3px 0 0;"></td>\n"
"<td><input name="submit" type="image" src="http://res.nicovideo.jp/img/base/tool/submit_search.png" style="height:20px;"></td>\n"
"</tr></table>\n</form>\n</td>\n"
"<td width="100%">\n<form name="link"><select class="TXT10" name="link" onChange="jumpMENU('parent',this,0)">\n<option>LINK</option>\n"
"<option value="http://live.nicovideo.jp/">生放送</option>\n"
"<option value="http://ch.nicovideo.jp/">コミュニティ</option>\n"
"<option value="http://www.niconicommons.jp/">コモンズ</option>\n"
"<option value="http://dic.nicovideo.jp/">大百科</option>\n"
"<option value="http://ichiba.nicovideo.jp/">市場</option>\n"
"<option value="http://uad.nicovideo.jp/">広告</option>\n"
"<option value="http://blog.nicovideo.jp/niconews/">ニュース</option>\n"
"</select></form>\n</td>"
")"
"|(<td\snowrap\sid=$AV(topline_menu)>)\#$SET(#=\n"
"<a href="?g=all">TOP</a> |\n"
"<a href="major_tag">人気タグ</a> |\n"
"<a href="?p=premium_top">課金状態</a> |\n"
"<a href="https://secure.nicovideo.jp/secure/logout">ログアウト</a> |"
")"
"|(<script[^>]+><!-- flashCookie.write[^<]+</script> <table)\#$SET(#= style="display:none;")"
"|(<div\sclass="tool_bg_top")\#$SET(#= style="display:none;")$STOP()$STOP()"
Replace = "\@"

[Patterns]
Name = "NicoVideo: header light modoki (090629)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/|$TYPE(css)res.nicovideo.jp/css/*.css"
Limit = 9216
Match = "url\('/img/base/bg.gif'\)|"
"<table[^>]++(class=$AV(topline))\0>$SET(#=<table width="100%" border="0" cellpadding="0" cellspacing="0" \0 "
"style="height:24px; padding:0px 4px 0px 4px; background-color:#000;">)"
"|$NEST(<td,\snowrap> <span\sstyle=$AV(color:#FFF;)*,</td>)*</div>\s</td>"
"(\2<form\saction="/(search|tag)"*(<table[^>]++>)\3*(<td\sstyle="color:#999;">)\4|)"
"$SET(#=<td>\n$FILE(html/search_form+.txt)\n</td>\n"
"<td width="100%" align="left"><div style="margin:0px 4px 0px 4px;"><select class="TXT10" onChange=""
"jump(this.value)">\n<option value="">Link</option>\n$FILE(html/Link_List.txt)\n</select></div></td>\2\3\4)"
"|[%EF][%BB][%BF]"
"|(<td)\#(^(^><a\shref=$AV(migiue)))$SET(#= style="padding:0px 4px 0px 8px;")"
"|$NEST(<div,\sclass=$AV(tool_bg_top)$URL(*.jp/((^?)|\?g=))*for=$AV(bar_search)*,</div>)"
""
"|\s($NEST(<td,\snowrap\sid=$AV(migiue)[^>]++>*,</td>)*</td>)\0"
"$SET(hb_sw=2)"
"$SET(sOBJ1=showOBJ('hb1'); showOBJ('hbs1'); hideOBJ('hb2'); hideOBJ('hbs2');)"
"$SET(sOBJ2=showOBJ('hb2'); showOBJ('hbs2'); hideOBJ('hb1'); hideOBJ('hbs1');)"
"($TST(hb_sw=0)$SET(h_1=none)$SET(h_2=block)"
"|$TST(hb_sw=1)$SET(h_1=block)$SET(h_2=none)"
"|$TST(hb_sw=2)$SET(hb_sw_2=\n<script type="text/javascript"><!--\n"
"if (Cookie.get('hbs')=='1') {\n$GET(sOBJ1)}\n"
"else {\n$GET(sOBJ2)}\n--></script>\n))"
"$SET(#=\n\0\n"
"<td nowrap><div style="margin:0px 0px 0px 0px;">\n"
"<a style="color:#CCC; text-decoration:none; display:$GET(h_2);" id="hbs2" href="javascript:void(0)""
"onclick="$GET(sOBJ1)\nCookie.set('hbs', '1', 1000*60*60*24*365, '.nicovideo.jp', '/'); return false;">↑</a>\n"
"<a style="color:#CCC; text-decoration:none; display:$GET(h_1);" id="hbs1" href="javascript:void(0)""
"onclick="$GET(sOBJ2)\nCookie.set('hbs', '0', 1000*60*60*24*365, '.nicovideo.jp', '/'); return false;">↓</a>\n"
"</div></td>)"
"|\s(<div id="cookie_container">*</script>)\#"
"$SET(#=<div id="hb1" style="display:$GET(h_1);">"
"</div><div id="hb2" style="display:$GET(h_2);">$GET(hb_sw_2))"
"|\s(<div id="PAGEBODY">)\0$SET(#=</div>\0)"
""
"|(> <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-->(\svalue=")\0$SET(#=$GET(rb_sc)\0)"
"|(<input[^>]++)\0<--checked-->$SET(#=$GET(checked))"
"$SET(sf_cb=2)"
"($TST(sf_cb=0)$SET(checked=\0)|$TST(sf_cb=1)$SET(checked=\0 checked)"
"|$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)|)"
"|>( $NEST(<p,$URL(*/watch/)*<nobr><a[^>]++href=$AV(openlist/\0)*,</p>))\1"
"$SET(#=>\n<script type="text/javascript"><!--\nwv_id_sf = "\0";\n--></script>\1)$STOP()"
"|height=$AV(*)(>\s<input\stype="text"\sname="s"[^>]++)\0width:*;"
"$SET(#=height="24"\0width:240px;)"
Replace = "\@"
以下を保存しhtmlフォルダに入れる。
search_form+.txt (090417)
Link_List.txt (090404)
![]()
設定
Match上から3行目
$SET(ngbtn=1)で 検索バーの内容をNGtitle.txtに追加する 用のボタン追加
$SET(iconbtn=1)で 検索ボタンにGoogle、YouTube、Veohでの検索結果リンクを追加 の機能を追加
必要ない場合は1を消しておく。
Match下から3行目
動画ページで動画タイトルを検索バーに入れる前にpart1とかその1とかを削ってあるから
必要なかったらこの行を消すか使いやすいように修正しておく
Replace
menu1、menu2の中のリンクを色々編集しておく
(「ニコニコ動画」クリックでmenu1、menu2の表示切替)
[Patterns]
Name = "Nico:header 4 (090630)"
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"*(^(^<a))(($NEST(<a,</a>)\s(\|\s|))+)\0*(^(^<a))(($NEST(<a,</a>)\s(\|\s|))+)*(^(^<a))((($NEST(<a,</a>))\#(\|\s|<br>\s|)$SET(#= \| ))+)*(^(^<a))(($NEST(<a,</a>)\s(\|\s|))+)\7"
"*(^(^<div\sclass="tool_bg_top"))(($NEST(<div,*name="login_bar"*,</div>))\2|"
"$SET(ngbtn=1)$SET(iconbtn=1)"
"($TST(ngbtn=1)$SET(3="
"<td style="padding-left:3px;"><span onclick=""
"if(typeof Video!='undefined') {"
"new Ajax.Request('http://www.nicovideo.jp/search/NGtitle/vid/'+Video.id+'/'+str0,{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>)|)"
"($TST(iconbtn=1)$SET(4="
"<td style="padding-left:3px;" 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>)|)"
"$SET(5=<a href="https://secure.nicovideo.jp/secure/logout">ログアウト</a> |)"
"$SET(6="
"<td id="top_right"><form action="/search" method="get" id="top_search" onsubmit="key=$F('bar_search').strip();if(key!='') location.href=this.action+'/'+encodeURIComponent(key).replace(/%20/g,'+');return false;">"
"<input type="hidden" name="ref"><table cellspacing="0" cellpadding="0"><tr>"
"<td><label for="bar_search" onclick="$('bar_search').value=Video.title;"><img src="http://res.nicovideo.jp/img/base/tool/txt_search.gif" alt=""></label></td>"
"<td style="padding-left:3px;"><input type="text" name="s" value="$GET(key)" id="bar_search" class="searchbar"></td>"
"<td style="padding-left:3px;"><img src="http://res.nicovideo.jp/img/base/tool/switch_k.png" name="sw_target" usemap="#sw_target" style="height:16px;" alt=""><map name="sw_target">"
"<area shape="rect" coords="0,0,42,16" href="javascript:void(0);" onclick="if($F('bar_search').strip()!='') $('top_search').submit();" onmouseover="swapIMG('/img/base/tool/switch_k.png','sw_target');$('top_search').action='/search';">"
"<area shape="rect" coords="42,0,84,16" href="javascript:void(0);" onclick="if($F('bar_search').strip()!='') $('top_search').submit();" onmouseover="swapIMG('/img/base/tool/switch_t.png','sw_target');$('top_search').action='/tag';">"
"</map></td></tr></table></form></td>\3\4"
"<script type="text/javascript"><!--\nNico.onReady(function(){"
"str0=so.getVariable('wv_title');if(str0=='-') str0=so.getVariable('thumbTitle');"
"str=str0.replace(/(%E3%80%90|-|)((part|%E3%81%9D%E3%81%AE|%23)((%EF%BC%9|)\\d)+|%E5%85%B6%E3%83%8E|%E7%AC%AC.+(%E8%A9%B1|%E5%9B%9E)|(%E5%89%8D|%E5%BE%8C)(%E7%B7%A8|%E5%8D%8A)).*/i,'');"
"$('bar_search').value=decodeURIComponent(str.replace(/%E3%80%80/g,'%20').replace(/(%20){2,}/g,'%20')).strip();"
"});\n--></script>))*,</div>)$STOP()"
Replace = "<div id="PAGEHEADER">"
"<table cellspacing="0" cellpadding="0" class="topline"><tr><td width="100%">"
"<span onclick="$('menu1','menu2').invoke('toggle');" class="textbtn">ニコニコ動画</span> | "
"<span id="menu1"><a href="?g=">TOP</a> | \7 | \5</span>"
"<span id="menu2" style="display:none;">\0 | \@</span>"
"</td>\6</tr></table>\2</div>"
"<style type="text/css"><!--"
".topline td {white-space:nowrap;} .topline a:link, .topline a:visited {color:#FFF;} .tool_bg_top {margin-top:4px;}"
".searchbar {font-size:12px;width:220px;padding:1px;border:1px solid #99AAAA;}"
".textbtn {color:#FFF;text-decoration:underline;cursor:pointer;}"
".iconbtn img {border:1px solid #000;background-color:#FFF;cursor:pointer;}"
"#top_right td {height:24px !important;} #top_right input.submit {padding:1px !important;}"
"--></style>"
ヘッダ上部右側のリンクをいじる、検索フォームを強化するは動作しない
(090416 検索フォームを強化すると併用したときのレイアウトの崩れを修正?)
(090630 仕様変更にやっつけで対応してみた)
[Patterns] Name = "Nico: header bar top link (081029)" Active = TRUE Multi = TRUE URL = "$TYPE(htm)www.nicovideo.jp/" Limit = 64 Match = "(<td\snowrap\sid=$AV(topline_menu)>)\0$STOP()" Replace = "\0\n<a style="color:#FFF;" href="">TOP</a> |"
![]()
[Patterns] Name = "NicoVideo: top bar link+ (081120)" Active = TRUE Multi = TRUE URL = "www.nicovideo.jp/$TYPE(htm)" Limit = 1600 Match = " $NEST((<td nowrap id="topline_menu")\0>,*href=$AV(\1)$SET(rank_url=\1)\sid="menu-ranking">*</a>\2,</td>)" "$SET(#=\n\0 >\n$FILE(Lists/top_bar_link+.txt)\2</td>)|[%EF][%BB][%BF]" "|href="<--rank_url-->"$SET(#=href="$GET(rank_url)")$STOP()" Replace = "\@"
下のファイルを保存してListsフォルダに入れる
top_bar_link+.txt (081124)
[Patterns]
Name = "NicoVideo: HeaderBottom switch (090404)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/"
Limit = 1024
Match = "\s($NEST(<td\snowrap\sid=$AV(migiue)[^>]++>,</td>*</td>))\0"
"$SET(hb_sw=2)"
"$SET(sOBJ1=showOBJ('hb1'); showOBJ('hbs1'); hideOBJ('hb2'); hideOBJ('hbs2');)"
"$SET(sOBJ2=showOBJ('hb2'); showOBJ('hbs2'); hideOBJ('hb1'); hideOBJ('hbs1');)"
"($TST(hb_sw=0)$SET(h_1=none)$SET(h_2=block)"
"|$TST(hb_sw=1)$SET(h_1=block)$SET(h_2=none)"
"|$TST(hb_sw=2)$SET(hb_sw_2=\n<script type="text/javascript"><!--\n"
"if (Cookie.get('hbs')=='1') {\n$GET(sOBJ1)}\n"
"else {\n$GET(sOBJ2)}\n--></script>\n))"
"$SET(#=\n\0\n"
"<td nowrap><div style="margin:0px -4px 0px -4px;">\n"
"<a style="color:#CCC; text-decoration:none; display:$GET(h_2);" id="hbs2" href="javascript:void(0)""
"onclick="$GET(sOBJ1)\nCookie.set('hbs', '1', 1000*60*60*24*365, '.nicovideo.jp', '/'); return false;">↑</a>\n"
"<a style="color:#CCC; text-decoration:none; display:$GET(h_1);" id="hbs1" href="javascript:void(0)""
"onclick="$GET(sOBJ2)\nCookie.set('hbs', '0', 1000*60*60*24*365, '.nicovideo.jp', '/'); return false;">↓</a>\n"
"</div></td>)"
"|\s(<div id="cookie_container">*</script>)\#"
"$SET(#=<div id="hb1" style="display:$GET(h_1);">"
"</div><div id="hb2" style="display:$GET(h_2);">$GET(hb_sw_2))"
"|\s(<div id="PAGEBODY">)\0$SET(#=</div>\0)$STOP()"
Replace = "\@"
$SET(hb_sw=0) ページ読み込み時表示 $SET(hb_sw=1) ページ読み込み時非表示 $SET(hb_sw=2) 表示状態をCookieで保存(標準)
[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 (090619)"
Active = TRUE
URL = "www.nicovideo.jp/$TYPE(htm)"
Limit = 8192
Match = "onclick=$AV(switchCategoryTag*)"
"|$NEST(<td,[^<]++<div\sid=$AV(web_pc_uneune)*,</td>)"
"|$NEST(<table,[^<]++<tr[^<]++<td[^<]++<div\sid=$AV(web_pc_top)*,</table>)"
"|$NEST(<div,[^<]++<[^>]++id=$AV(web_pc_pr(emium|ime))*,</div>)"
"|$NEST(<table,\swidth=$AV(100%)*web_pc_megatext*,</table>)\s<textarea*</textarea>"
"|$NEST(<div,[^<]++<p\sid=$AV(web_pc_categorygroup_*)*,</div>)"
"|$NEST(<table,\swidth="800"[^<]++<tr[^>]++id=$AV(web_pc_hide)>*,</table>)"
"|$NEST(<tr$URL(*jp/((^?)|\?g=)),><td>\s<strong>[%E9][%96][%A2]*,</tr>)"
"|$NEST(<div$URL(*watch/),</div>)\s$NEST(<script,*rotationad.swf*,</script>)"
"|$NEST(<td,*/chacom_img_blank.gif"*,</td>)"
"|<img$URL(*watch/)[^>]++dic_off.gif"\sclass="txticon">"
"|$NEST(<p,\sclass="TXT12"\sstyle="color:#999;\smargin:4px;">*class=$AV(icons_mylist)*,</p>)"
"|$NEST(<table$URL(*watch/),((^<!--)?)++$AV(/mymemory_register)*,</table>)"
"|$NEST(<a,\shref=$AV(#{link})*dic_off.gif">,</a>)"
"|$NEST(<td$URL(*watch/),>\s<a[^>]++href=$AV(*//help*)*,</td>)(((^</table>)?)++</td>|)"
"|$NEST(<div,\sclass=$AV(ads_tag)>*,</div>)"
"|$NEST(<div,\sclass=$AV(mb16p4)*googlesyndication*,</div>)"
"|$NEST(<div,((^<!--)?)++form_iframe*,</div>)"
"|$NEST(<div,\sclass="mb8p4">*id=$AV(qr_container)*,</div>)\s<script*</script>"
"|$NEST(<p,>*$AV(JavaScript:ANCHOR\(\'PAGETOP\'\))*,</p>)*</td></tr>\s</table>"
## トップのカテゴリタブ選択時のフィルタ無効化防止 ## ヘッダ左の広告(極小) ## ヘッダ右の広告 ## 右部広告(大) ## 右部広告(小) ## トップの右下広告 ## カテゴリなどの下部PR広告 ## カテゴリの関連タグ ## 動画ページのヘッダの広告 ## 動画ページのチャンネル・コミュニティ未所属時の画像 ## 動画ページのタイトル横の大百科記事なし時の画像 ## 動画ページのメッセで視聴・マイリスト登録一覧〜 ## 動画ページのマイメモリー関連ボタン ## 動画ページのタグの横の大百科記事なし時の画像 ## 動画ページのつかいかた周辺(新プレーヤー関連リンク含む) ## 動画ページの市場の上の広告 ## 動画ページのフッタ上の広告 ## 動画ページやマイリストのブログパーツ ## マイリストの【マイリスト更新をメールでお知らせ】 ## フッタ
※使わない行の削除などでマッチの一番上の行が変わった場合、その行の先頭の"|"を必ず消してください
フィルタの編集で各自必要な物を追加したり入れ替えてください
※個別に更新されるのですべてが正常動作するとは限りません
| 上部アニメチャンネル等の広告 | |$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>) |
| 詳細情報・メニュー表示切替ボタンとリンク | |$NEST(<a,\shref=$AV(#)*,</a>) |
| カテゴリ~【ランキング推移を確認】 | |$NEST(<p,\sclass=$AV(TXT12)\s[^>]++>[%e3][%82][%ab]*[%E8][%AA][%8D][%E3][%80][%91]</a>,</p>) |
| タグ横の大百科画像 | |$NEST(<a,\shref=$AV(#{link})*$AV(*dic_o(n|ff).gif)>,</a>) |
| マイリスト:~"登録"ボタン | |$NEST(<form,\saction=$AV(watch/*)[^>]++name=$AV(mylist_form)*,</form>) |
| この動画は、~ | |$NEST(<p,\sclass=$AV(TXT12)>[%E3][%81][%93][%E3][%81][%AE][%E5][%8B][%95][%E7][%94][%BB][%E3][%81][%AF][%E3][%80][%81]*,</p>) |
| この動画は、~(ch・コミュ未所属動画のみ) | |<p\sclass=$AV(TXT12)>$URL(*watch/)\w<!((^<strong>)?)++-></p> |
| つかいかた周辺(新プレーヤー関連リンクは含まない) | |$NEST(<td$URL(*watch/),\sstyle=$AV(color:#999;)>*//help*,</td>) |
| 【!】現在、動画をエコノミー画質で~ | |$NEST(<p,$URL(*watch/)[^<]++<a\shref=$AV(/?p=premium*)*,</p>) |
| ニコニコ市場 | |$NEST(<div,\sstyle=$AV(padding:4px;)>\s<p><i[^>]++chiba/frm_top.gif*,</div>) |
| 下部動画情報 | |$NEST(<td$URL(*/watch/),\swidth=$AV(100%)>*<strong\sstyle=$AV(color:#455;)>*,</td>) |
| 一般回線で視聴 | |$NEST(<form,\smethod=$AV(get)*name=$AV(lo)*,</form>) |
| ブログパーツ | |$NEST(<div,\sstyle=$AV(border:solid\s1px*3px;)*form_iframe*,</div>) |
| タイトル横の大百科画像 | |$NEST(<a,*id=$AV(nicopedia_video)>*,</a>) |
| 上部帯部分右のふきだし | |$NEST(<td,\snowrap\sid=$AV(migiue)[^>]++>*,</td>)*</td> |
| ヘッダ左のアニメGIF | |$NEST(<td,\s><![^<]++<a\shref=$AV(related_tag/*)><script*</a>[^>]++->\s,</td>) |
| ヘッダの"ニコニコ動画(ββ)"などの画像とログインユーザー | |$NEST(<table,\swidth=$AV(984)\sborder=$AV(0)*wbeta.gif*,</table>) |
| 公式動画でヘッダ広告に表示される今日の右上 | |$NEST(<table,*$AV(web_pc_watch)*,</table>)\s$NEST(<script*/migiue.swf*,</script>) |
| 検索結果右側の広告削除 | |$NEST(<div,\sclass=$AV(content_312)>*,</div>) |
| 検索ページなどの【動画を?件表示】 | |$NEST(<a,[^>]++$AV(Cookie.set\('col',\s'(2|4)',\s1000\*60\*60\*24\*365*)*,</a>) |
| ランキングのカレンダー | |$NEST(<div,\sid=$AV(ranking_calendar)\sclass=$AV(in_active)>*,</div>) |
| フッタの"ページトップ"画像 | |$NEST(<div,\sclass=$AV(mb8p4)*nicoads/frm_btm.gif*,</div>) |
| 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 = "Nico: Nanika_del (090514)"
Active = TRUE
URL = "www.nicovideo.jp/$TYPE(htm)"
Limit = 8192
Match = "onclick=$AV(switchCategoryTag*)"
"|$NEST(<td,[^<]++<div\sid=$AV(web_pc_uneune)*,</td>)"
"|$NEST(<table,[^<]++<tr[^<]++<td[^<]++<div\sid=$AV(web_pc_top)*,</table>)"
"|$NEST(<div,[^<]++<[^>]++id=$AV(web_pc_pr(emium|ime))*,</div>)"
"|$NEST(<table,\swidth=$AV(100%)*web_pc_megatext*,</table>)\s<textarea*</textarea>"
"|$NEST(<div,[^<]++<p\sid=$AV(web_pc_categorygroup_*)*,</div>)"
"|$NEST(<table,\swidth="800"[^<]++<tr[^>]++id=$AV(web_pc_hide)>*,</table>)"
"|$NEST(<tr$URL(*jp/((^?)|\?g=)),><td>\s<strong>[%E9][%96][%A2]*,</tr>)"
"|$NEST(<div$URL(*watch/),</div>)\s$NEST(<script,*rotationad.swf*,</script>)"
"|$NEST(<td,*/chacom_img_blank.gif"*,</td>)"
"|<img$URL(*watch/)[^>]++dic_off.gif"\sclass="txticon">"
"|$NEST(<p,\sclass="TXT12"\sstyle="color:#999;\smargin:4px;">*(messenger|openlist).gif*,</p>)"
"|$NEST(<table$URL(*watch/),((^<!--)?)++$AV(/mymemory_register)*,</table>)"
"|$NEST(<a,\shref=$AV(#{link})*dic_off.gif">,</a>)"
"|$NEST(<td$URL(*watch/),>\s<a[^>]++href=$AV(*//help*)*,</td>)(((^</table>)?)++</td>|)"
"|$NEST(<div,\sclass=$AV(ads_tag)>*,</div>)"
"|$NEST(<div,\sclass=$AV(mb16p4)*googlesyndication*,</div>)"
"|$NEST(<div,((^<!--)?)++form_iframe*,</div>)"
"|$NEST(<div,\sclass="mb8p4">*id=$AV(qr_container)*,</div>)\s<script*</script>"
"|$NEST(<p,>*$AV(JavaScript:ANCHOR\(\'PAGETOP\'\))*,</p>)*</td></tr>\s</table>"
"|$NEST(<div,\sid=$AV(watch_channel_ad)\sstyle=$AV(*padding:4px;)>*,</div>) "
"|$NEST(<div,\sstyle=$AV(*padding:4px;)>((^<!-)?)++ad.doubleclick.net/adj/mtv.*</div>) "
"|$NEST(<a,\shref=$AV(#)*,</a>) "
"|$NEST(<p,\sclass=$AV(TXT12)\s[^>]++>[%e3][%82][%ab]*[%E8][%AA][%8D][%E3][%80][%91]</a>,</p>) "
"|$NEST(<a,\shref=$AV(#{link})*$AV(*dic_o(n|ff).gif)>,</a>) "
"|$NEST(<form,\saction=$AV(watch/*)[^>]++name=$AV(mylist_form)*,</form>) "
"|$NEST(<p,\sclass=$AV(TXT12)>[%E3][%81][%93][%E3][%81][%AE][%E5][%8B][%95][%E7][%94][%BB][%E3][%81][%AF][%E3][%80][%81]*,</p>) "
"|<p\sclass=$AV(TXT12)>$URL(*watch/)\w<!((^<strong>)?)++-></p> "
"|$NEST(<td$URL(*watch/),\sstyle=$AV(color:#999;)>*//help*,</td>) "
"|$NEST(<p,$URL(*watch/)[^<]++<a\shref=$AV(/?p=premium*)*,</p>) "
"|$NEST(<div,\sstyle=$AV(padding:4px;)>\s<p><i[^>]++chiba/frm_top.gif*,</div>) "
"|$NEST(<td$URL(*/watch/),\swidth=$AV(100%)>*<strong\sstyle=$AV(color:#455;)>*,</td>) "
"|$NEST(<form,\smethod=$AV(get)*name=$AV(lo)*,</form>) "
"|$NEST(<div,\sstyle=$AV(border:solid\s1px*3px;)*form_iframe*,</div>) "
"|$NEST(<a,*id=$AV(nicopedia_video)>*,</a>) "
"|$NEST(<td,\snowrap\sid=$AV(migiue)[^>]++>*,</td>)*</td> "
"|$NEST(<td,\s><![^<]++<a\shref=$AV(related_tag/*)><script*</a>[^>]++->\s,</td>) "
"|$NEST(<table,\swidth=$AV(984)\sborder=$AV(0)*wbeta.gif*,</table>) "
"|$NEST(<table,*$AV(web_pc_watch)*,</table>)\s$NEST(<script*/migiue.swf*,</script>) "
"|$NEST(<div,\sclass=$AV(content_312)>*,</div>) "
"|$NEST(<a,[^>]++$AV(Cookie.set\('col',\s'(2|4)',\s1000\*60\*60\*24\*365*)*,</a>) "
"|$NEST(<div,\sid=$AV(ranking_calendar)\sclass=$AV(in_active)>*,</div>) "
"|$NEST(<div,\sclass=$AV(mb8p4)*nicoads/frm_btm.gif*,</div>) "
"|function\spressKEY\(keyCode\)((^->)?)++</p>'\);}\s} "
"|$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 = "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 = "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 (081205)"
Active = TRUE
URL = "$TYPE(css)res.nicovideo.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 = "\@"
[Patterns]
Name = "NicoVideo: thumbnail left or right (090701)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/watch/(^*\?edit)"
Limit = 4096
Match = "(<html>)\#"
"$SET(thum=thum_l)"
"$SET(s_=<script type="text/javascript"><!--\nid=')"
"$SET(s2=';if(Cookie.get('nwns_'+id)=='0')hideOBJ(id)\n--></script>)"
"$SET(s3=o.display=o.display?'':'none';Cookie.set\('nwns_)"
"$SET(s4=,1000*60*60*24*365,'.nicovideo.jp','/'\);)"
"|$NEST(<p,*(<a[^>]++)\0>*alt="\1"*/watch/btn_menu.png*,</p>)"
"$SET(m_close=<nobr>\0 style="color:#09C;">( 詳細を\1 )</a></nobr>)"
"|<p>(<img[^>]++>)\0</p>( <div style="margin)\1:2px 0;">*(<p class="TXT12">)\2\3</p>"
"$SET(#=\1:0px 0 2px 0px;">\2<!--ns_$GET(thum)-->\0</a>\n\3$GET(m_close)\n</p>)"
"|<!--ns_([^-]+)\0-->$SET(#=<a href="javascript:void(0)" "
"onClick="o=$('\0').style;if(Cookie.get('nwns_\0')=='1'){"
"$GET(s3)\0','0'$GET(s4)}else{"
"$GET(s3)\0','1'$GET(s4)};return false;">)"
"|(> )\#<td> ((<a[^<]++|) <im[^>]++)\0class="img_w60h60">"
"$SET(chcm=<td valign="top" style="padding:4px 4px 4px 4px;">\0 style="height:72px; border:solid 2px #333;">)"
"$SET(thum_td=<td valign="top" style="padding:4px 4px 4px 4px;" id="$GET(thum)">)"
"($TST(thum=thum_l)$SET(td_l=$GET(thum_td))$SET(td_r=$GET(chcm))"
"|$SET(td_l=$GET(chcm))$SET(td_r=$GET(thum_td)))$SET(#=$GET(td_l))"
"|(</td> </tr> </table> )\0$NEST((<p[^>]++)\1;">,(*"ranking_graph/*</p>)\2)$SET(#=\n\1 0 0;">\2\0)"
"|(</td> )\0(^(^</tr> </table> <div[^>]++> $NEST(<p,*$AV(video_des_top)*,</p>)))"
"$SET(#=\0$GET(td_r)\0$GET(s_)$GET(thum)$GET(s2))"
"|(\("videoId", "\0"*\("thumbImage", "\1")\#$SET(w_thum=\1)$SET(num=\0)"
"|(<div id="WATCHFOOTER">)\#\s$SET(#="
"<script type="text/javascript"><!--\n"
"$('$GET(thum)').innerHTML='<a href="http://www.nicochart.jp/watch/$GET(num)" "
""title="ニコニコチャート">"
"<img style="width:96px; height:72px; border:solid 2px #333;" src="$GET(w_thum)"></a>';\n--></script>)"
"$STOP()"
Replace = "\@"
$SET(thum=thum_l)でサムネが左でチャンネル・コミュニティ画像が右に表示、$SET(thum=thum_r)で左右逆に
さらに、
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 (090425)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/ranking(^/*/*/ichiba)"
Limit = 2560
Match = "$NEST((div[^>]++class="thumb_frm"[^>]++>)\#,(*<p style="margin-bottom:2px;)\0">"
"(<img[^>]++>)\1(</p><p[^>]++><a[^>]++href=$AV(*watch/($LST(MovID))\2))\3>"
"(<img[^>]++)\4class="video_w96"([^>]++>*)\5<h3(>*</h3> )\6"
"$NEST(<p class="TXT12">,</p>)( $NEST(<p class="vinfo_last_res">,</p>)|)(*)\7,</div>)"
"$SET(#=\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()">"
"\4width="72" height="54" style="border:solid 1px #333;"\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:390px;"に変更
[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 (090412)"
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[^>]++)\3class="video_w(80|96)""
"(> </a> </p>)\4( <p class="TXT10")\5*(</td> <td[^>]++>)\6*<p[^>]++>( <img[^>]++)\7>*(<strong*</p>)\8\9</span></a></p>(*($NEST(<p id=,</p>))\#|)*,</div>)"
Replace = "div\0<p style="font-size:10px; float:right; margin:0px 0px -9px 0px;"></p>"
"\2 onMouseOver="return popThumb('thumb/\1', 0)" onMouseOut="return nd()"\3width="48" height="36" "
"style="border:solid 1px #333;"\4\6\5>\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(090209)"
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="TXT10"[^>]++> <strong class="vinfo_length")\2 >"
"(([#0:2])\3$SET(4=background:white; border:#ECECEC)$SET(5=font-size:14px; color:gray;)"
"|([#3:6])\3$SET(4=background:#F7F7F7; border:#E4E4E4)$SET(5=font-size:12px; color:black;)"
"|([#7:12])\3$SET(4=background:ghostwhite; border:lavender)$SET(5=font-size:12px; color:royalblue;)"
"|([#13:22])\3$SET(4=background:#FFFFF5; border:#FDF6C9)$SET(5=font-size:12px; color:orange;)"
"|([#23:*])\3$SET(4=background:#FFF9F9; border:mistyrose)$SET(5=font-size:14px; color:red;))"
"(*)\6,</div>)$SET(#=<div\0\1 \4"\2 style="\5">\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件を表示しています。 コメントページを参照
|