マイリスト検索 > NicoCache_nl

NicoCache_nl

べっ、別にアンタのためにキャッシュしてるんじゃないんだからね!!

[2008/02/09] NicoCache_nl rc1 is now available!! ScreenShots: -1-, -2-, -3-, -4-, -5-.
使い方とか機能に関する説明の更新は間に合わなかったのでまたこんど!

[2008/02/16] 雑誌掲載・Webでの再配布などについての文章を追加いたしました。

[2008/02/21] 聖地巡礼しててふと思いついて、こんなのをつくった。少し反省している。

[2008/04/21] 関連タグ検索をスタート。nlの拡張からでも使えます。

NicoCache_nlって?

ニコニコ動画(RC2)で見た動画をキャッシュするツールNicoCacheの改造版です。
オミトロンと2つ使用するのはなんかだるいので勝手に改造。

増えた機能は、おおよそ次の感じ。

他にも書ききれないほどあります。拡張による機能も豊富です。
設定がカオスになってきました。が、一回多少設定すれば、それなりに便利に使っていただけるかと思います。

ダウンロードと設定

NicoCache_nlのダウンロード

クイックリンク:NicoCacheスレ part.3NicoCacheコミュNicoCacheあぷろだNicoCacheうぃき

更新履歴 兼 新機能の説明

MP4Boxはこれでもどうぞ (win32用)。nlFilter.txtのサンプル

2get失敗したので(違)、NicoCacheコミュ作った。co17ですお気軽に~。
といっても掲示板も無いようじゃ何もできなくね?

nlShareLogin rev.0
●新規公開

NicoCache_nl 夏.04(2008/07/14)
●外部からアクセスできなくなっていたのを修正

NicoCache_nl 夏.03 (2008/07/13)
●マイメモリ・コミュニティ動画のコメDLリンクを2つに分けた
  恐らくコミュニティ動画は権限が無いと0コメのxmlがDLされる。
●watchページのDL/音楽抽出リンクを新ハンドラに変更
●コミュニティco???のツールチップに対応

nlThumbInfoRewriter beta 20 (2008/07/13)
●コミュニティco???のリンク化・ツールチップに対応
●thumbでも作者コメの追加読み込みをできるようにした

nlThumbInfoRewriter beta 19 (2008/07/12)
・仕様変更に対応 (thx >>539)

NicoCache_nl 夏.02 (2008/07/06)
●watchで日付の上や右にある「コミュニティ動画」や「マイメモリー」を通常版へのリンクに置換
●簡易フィルタのEachLine時に、Matchに対応するReplaceが無いときは空文字列と仮定するようにした
●夏.01で追加した movie, audio ハンドラをエコノミー対応にした
・nlFilter.txtが無いときにスクリプト置換が利用できなかったのを修正 (thx >>508)

NicoCache_nl 夏.01 (2008/07/05)
●夏で動作確認。バージョン番号を変更
●動画の種類にかかわらずダウンロード・音声抽出を行えるハンドラを追加
  動画は /cache/smXXX/movie 音声は /cache/smXXX/audio
・↑に伴いデフォルトのキャッシュ管理画面を少し更新

nlSearchAutoPager rev.7 (2008/07/05)
・夏の仕様変更に対応(Fxで件数などの位置がずれるのは元のHTMLのせいです)

nlTagSearchExtension (2008/06/29)
●タグ一覧を更新(アーカイブ内のものは古いので個別にDLしてください)

nlProxNGWord rev.0 (2008/06/29)
●オミトロンのNGWord追加ハンドラ
  本体から分離。使い方は同じです。

NicoCache_nl SP1.13 (2008/06/29)
●サブフォルダインポート機能を追加
  メインキャッシュフォルダ内に "マリオ関連.folder" といったファイルを作成し、
  そのファイルの1行目に実際に動画が格納してあるフォルダのパスを記述します。
  サブフォルダ内は直下の動画のみ検索されます。
・オミトロンのNGWord追加機能を外した

NicoCache_nl SP1.12 (2008/06/28)
●簡易フィルタにEachLineオプションを追加
  1行ごとにマッチパターンと置換先を複数書けます。
  簡易フィルタの用途は、拡張にするまでもない細かな書き換えを簡単に書ければ、的な感じ。
  HTML系のアクセス時にファイルの更新時間が変わっていればリロードされます。
  文字コードは“OS標準”のものを使用してください(WinならシフトJIS)。
  フィルタ名に日本語を使ったときにログ表示で読めるようならOKです。

NicoCache_nl SP1.11 (2008/06/27)
●簡易フィルタのテスト実装
  nlFilter.txtを作成し、中にパターンを書き込むことでページを置換します。
  URLとMatchは正規表現で、Javaの正規表現が使用できます。<の次の行から>のみの行の前の行まで認識します。
  読み込みが適当なので上にあるサンプル通りに記述しないときちんと読み込みません。

nlWatchCushion beta 3 (2008/06/07)
・thumbMode=falseのとき一部ブラウザで動かなかったのを修正 (thx >>206-214)

NicoCache_nl SP1.10 (2008/05/25)
・403,404で帰ってくるページのRewriteに対応 (thx >>166)
・gzip, deflate圧縮のRewriteに対応
・「オススメ」タブにあるサムネのキャッシュに対応 (thx >>166)
・gzip圧縮が有効なときにコメントのDLができないのを修正

nlThumbInfoRewriter beta 18 (2008/05/06)
・thumbのアドレス変更に対応
・cw,na,za,zbのリンク化

NicoCache_nl SP1.09 (2008/05/06)
・ext.~がRewriterの対象になるようにした
・watchのfromアイコンと日付の間の改行を無くす部分を修正
・popThumb.js:thumbのアドレス変更に対応

nlSearchAutoPager preview 6 (2008/04/30)
・検索結果の最後のページから開くと無限にロードしてしまうのを修正

nlSearchAutoPager preview 5 (2008/04/28)
・ページの仕様変更に対応
・newarrival, recentでも何件目の表示か分かるようにした

nlWatchCushion beta 2 (2008/04/28)
●外部からwatchページを開いたときはFlashを表示させず、クリックにより表示させるモードを実装
  beta 1 時の動作(外部から開いたときは一旦thumbの内容を表示)は、
  設定ファイルに nlWatchCushion.thumbMode=true と記述すると利用できます。

nlTagSearchExtension beta 3 (2008/04/26)
●タグリストを更新。
  標準添付は「生存する動画が10件以上ある」タグのリスト(tags_alive_10.gzと同じ)になりました。
●検索結果にtagrelates(関連するタグ検索)へのリンクを追加
  タグ検索の結果が無いときは検索窓の上のタグ名がリンクに変わります。

NicoCache_nl SP1.08 (2008/04/19)
●4/1以降のページ使用変更に対応
●Windows以外でのMP4からの音楽抽出に対応 (thx スレの皆さん)
●nlCommentDownloaderを統合
  コメントダウンロードURLは /cache/smXXX.xml に変更となりました。
●XMLパッチを取り込ませていただきました (thx スレの皆さん)
  テンプレート機能は、/local/list.html が存在するか、
  設定ファイルの templateFile に指定したファイルが存在するときに利用されます。
●サムネイルキャッシュを復活。デフォルトはOFF (thx スレの皆さん)
・全然本家0.33の機能は取り込んでないけど実質同じなので0.33準拠ってことで
●開発者向け:拡張の形式を少し変更。従来の方式も今のところ使えます。

nlCommentDownloader (2008/04/19)
×本体へ統合のため配布終了

nlTagSearchExtension beta 2 (2008/04/19)
●ソート条件を変えても1ページ目なら表示するようにした (thx >>818)
・4/1以降のページ仕様変更に対応

nlSearchExtension beta 13 (2008/04/19)
●MP4の音楽抽出リンクを追加
●ソート条件を変えても1ページ目なら表示するようにした (thx >>818)
・4/1以降のページ仕様変更に対応

nlSearchAutoPager preview 4 (2008/04/19)
・4/1以降のページ仕様変更に対応

nlThumbInfoRewriter beta 17 (2008/04/19)
・4/1以降のページ仕様変更に対応

nlTagSearchExtension beta 1 (2008/03/14)
●新規リリース
  指定されたキーワードを含むタグ名を検索し、tag, searchページに埋め込みます。
  添付のタグリストには10件以上の動画(削除も含む)を持つタグが含まれています。
  タグを減らしたい場合はリストから削除してNicoCache_nlを再起動してください。

nlThumbInfoRewriter beta 16 (2008/03/13)
●user/123, myvideo/123なページの書き換え対応。
●user/123な文字列のリンク化・ポップアップ化。
●機能別に無効にする設定を本体準拠の disableRewriterFeatures にまとめた。
  popup(ポップアップ)、color(キャッシュのある動画IDの色変更)
  icon(キャッシュアイコン付与)、movieid(サイトアイコンを動画IDに)
  append(続きを読み込むリンク)、autolink(一覧でのリンク化)

NicoCache_nl SP1.07 (2008/03/11)
●mp4からの音楽トラック抽出を追加(MP4Boxを使用)
  NicoCache_nl.jarと同じフォルダに MP4Box.exe を置いてください。
  mp4コンテナ入りのAACで拡張子が m4a なものができます。
  適当認識なので、Track1に音楽が入っている時は映像のみのファイルができます・・・
●SP1.04で導入した設定を廃止し、disableRewriterFeaturesにまとめた。
  現在は popup, color の2つが指定できます。
・タイムアウトのエラーは簡単に表示するだけにした。

NicoCache_nl SP1.06 (2008/03/08)
●動画のダウンロード前に動画サイズ分の領域をHDDに確保するオプションを追加
  ダウンロード開始がほんの若干遅くなりますが、ファイルの断片化はかなり減ります (Windows上で確認)。
  cacheAllocateFirst=true と設定ファイルに書き込んでください。
  現在デフォルトは false ですが、実装後の様子を見て、デフォルトで true に変更します。
・たまに ClosedSelectorException が出るのを修正
・接続時の内部エラーメッセージを詳細に表示するようにした
・ほか内部的にもぞもぞと改良中・・・

NicoCache_nl SP1.05 (2008/03/08)
・リクエストの1行目以外はUTF-8で解釈することにした (FxでRefererがinvalidになる対策)
・新設定の判定が逆だったのを修正

NicoCache_nl SP1.04 (2008/03/08)
・リクエストをUTF-8で解釈するのを廃止 (thx スレの方々)
・watchページの動画リンク関係を無効にする設定
  設定ファイルに noPopupThumb=true とか noColoredVideoid=true とかを追加する

nlSearchExtension beta 12 (2008/03/06)
・仕様変更に対応。
・flv以外の保存/音声リンクの修正。

nlThumbInfoRewriter beta 15 (2008/03/06)
・サムネの大きさをCSSから取得するようにした。
  nl起動後にCSSが再読込されるまではデフォルトのサイズと仮定します。
・smXXX以外の動画でも ... から作者コメを読み込めるようにした。
・少し軽量化

NicoCache_nl SP1.03 (2008/03/06)
●resサーバのリソースもRewriterに通せるようにした。
・watchページでポップアップが点滅することがあるのを修正。

NicoCache_nl SP1.02 (2008/03/06)
●埋め込みプレイヤーからのリクエスト時に、動画サイト識別子(smとかnmとか)を推測するようにした。
  sm以外で始まる動画でもタイトルを正常に取得可能に。
・リクエスト/レスポンスヘッダの処理をUTF-8対応にした。
・niconicoModeを高速化
●本家v0.32での新たな設定項目に対応
  readTimeout=数値 :リクエストのタイムアウト時間を設定
  fileNameCharset=文字コード名 :ファイル名に使えない文字を予めエスケープする際の文字コード

nlSearchAutoPager preview 3 (2008/03/06)
・ページの仕様変更に対応

nlThumbInfoRewriter beta 14 (2008/03/06)
・トップページでポップアップが効かなかったのを修正
・mylist, historyでのアイコンずれを修正
●mylist, historyでもタイトル部分でポップアップするようにした

NicoCache_nl SP1.01 (2008/03/06) ※本家0.31ベース
●swf動画(nmXXX)のキャッシュに対応(↑の対象URLも要更新)
●ユーザーバーのダウンロードリンクからswf, mp4もダウンロード可能にした(Content-Typeもセット)
・動画ページの作者コメに色々する機能+動画アイコンと日付の改行消しが効かなくなっていたのを修正
・タイトル関係の処理バグを修正 (thx >>425)
・mp3変換のリンクをflvの時のみ表示するようにした

NicoCache_nl SP1.00a (2008/03/05)
・/cache/なURIのクラスを読み込み忘れていたのを修正orz
・22:12頃バージョン番号が間違ってたのをひっそりと差し替え

NicoCache_nl SP1.00 (2008/03/05)
●ニコニコ動画SP1のmp4のキャッシュに暫定対応(拡張子もmp4にしてます)
  ローカルFLVはまだ対応してません(仕様とかwrapperの実装方法待ち)
  MP3抜き出しはflvのみ対応ですが、mp4でも実行しようとして失敗します。
・タイトルに含まれるファイル名に使用できない文字で全角にできるのは全角に変換するようにした
・文字コードの問題(?)に適当に対処
・Cache.tidyTitleを少し高速化(nlSearchExtensionが少し早くなった)
・あとなんかあったと思うけど忘れた

nlWatchCushion beta 1 (2008/02/19)
●新規リリース
  RequestFilterによる拡張です。nl RC2.03以降対応。
  外部から直接 watch に飛んだ際に、一旦 thumb の内容を表示させます。

これ以前の更新履歴は、RC2本家v0.20以降ベースのベータ版本家v0.20以前ベースです。

NicoCache_nlの実行

ダウンロード→解凍→一度batを実行してすぐ終了→config.propertiesを開いて編集→batを実行して起動 って流れになると思います。

実行にはJavaのランタイムが要ります。JREとかで検索すればでるかと。たぶんこういうのでいいかも。インストールしてあるのにjavaコマンドが見つからないとエラーが出る場合は、batファイルのsetlocalの次の行くらいに

set PATH=%PATH%;C:\Program Files\Java\jre1.6.0_03\bin

というふうに、JREへのパスを追加すればいけます(パスは環境に合わせて適宜変更してください)。

以下の説明は少し古い可能性がありますが、だいたい最新版でも同じ感じです。

NicoCache_nlの設定例

プロキシポート8080番、JavaScript付与対象は動画ページのみ、flvplayer_wrapper使用。
localフォルダに、script.jsとflvplayer_wrapper.swfを配置する。

一つずつ設定する場合は、config.properties.default をコピーして config.properties にリネームした後、エディタで開いて編集します。項目の意味や設定値もコメントとして書かれていますので、そちらを参照してください。

# filename => config.properties
#NicoCache config file
listenPort=8080
proxyHost=
proxyPort=8081
title=true
allowFrom=local
scriptOn=0
scriptTarget=/watch/[^ ]+
scriptText=<script type\="text/javascript" charset\="utf-8" src\="/local/script.js" defer></script>
flvWrapper=true
localFlv=false
smartCookie=false
touchCache=false
continueDownload=true
resumeDownload=true

プロキシ設定ファイル

ブラウザの設定で全ての通信をプロキシ経由にしても良いですが、ニコニコ以外には関係のないツールですので、プロキシ設定ファイルを使って、ニコニコへのアクセスだけNicoCacheを通すようにしましょう。

いろんな場合のサンプルファイルを用意してみました。
望ましいものを選んで、プロキシのポート番号を変更してご使用ください。
NicoCache_nlでは、[ニコニコへのアクセスを全てNicoCache_nl経由にする]か、[メッセージサーバは経由させない]あたりがオススメです。

proxy.pacなど適当な名前のファイルを作ってコピペ後、IE→[ツール]→[インターネットオプション]→[接続]タブ→[LANの設定]ボタンにある、「自動構成スクリプト」をチェック、アドレスに file://C:/path/to/proxy.pac のように指定でおk。

JavaScriptの例

再生開始時に動画部分をいちばん上になるようにするだけ。localフォルダにscript.jsとか適当なファイル名で保存する。flvplayer_wrapperと併用してます。

// てきとーなwatchページ置換スクリプト
//	/watch 以外に適用する場合は、URIで分岐しないとエラーになるかも。

// 動画がいちばん上になるようにスクロール
var flvp_container = $('flvplayer_container');
if (flvp_container)
	flvp_container.scrollTo();

flvplayer_wrapper.swf

様々な追加機能がついた、flvplayer.swfのラッパflvplayer_wrapper(RC1用)および、そのcustom版(RC2用)を利用できる様にします。

詳しい説明は、flvplayer_wrapperの説明と設定へどうぞ。

ローカルFLVサーバ

flvplayer_wrapperの持つローカルFLV再生機能に、NicoCacheのキャッシュを渡します。
持ってるファイルの一覧も自動で作成するのでらくちん。
これにより、削除された動画もキャッシュにあれば再生できます。

07/10/12版より、サブフォルダに分けても、ローカルFLVが利用できるようになりました。

利用には、設定ファイルに

localFlv=true

を追加し、flvplayer_wrapperの[設定]ボタン→[ローカルFLVサーバを使う]にチェック、その下のテキストボックスに

http://www.nicovideo.jp/cache/
http://www.nicovideo.jp/cache/flvlist

と入力してください。
title=trueでタイトル付きになっているキャッシュでもそのまま利用できます。

ローカルFLVサーバの効率の良い運用例

サブフォルダも認識されることを利用して、取りあえず見ただけの動画と、今後もずっと残しておきたい動画を分けます。ダウンロードされたキャッシュはまず /cache/ フォルダに入るため、ここは単に貯めていくだけのフォルダとします。好みの名前でサブフォルダを作成し、その中に残しておきたい動画をエクスプローラなどで移動します。適宜フォルダ分けを実施すれば、要らないのだけが /cache/ に残っていると思いますので、/cache/ 直下にあるファイルだけを消せば、要らないキャッシュを効率的に消せます。

/cache/  ←取りあえずダウンロードしてくるフォルダ
/cache/favorite/  ←分類はしないけどお気に入り
/cache/改造マリオ/  ←カテゴリ分けしてみた
/cache/改造マリオ/KAS/  ←更に分けてみた

こうした運用の場合でも、ローカルFLVやキャッシュ機能は動作しますので、動画が多すぎてよく分からなくなってきてる人は是非どうぞ。

キャッシュ管理機能

下の画像のようなキャッシュ一覧を生成し、そのページからキャッシュの再生・保存・削除を簡単に行えます。

キャッシュ管理機能

利用にはローカルFLVサーバ機能を有効にする必要があります。設定ファイルで

localFlv=true

と指定した後、http://www.nicovideo.jp/cache/ へアクセスすると表示されます。
(この機能により、ニコニコ動画にアクセスすることはありません)

キャッシュ管理ページのUIは、list.js(あるいはlist.js.default)とlist.cssにより生成されています。新たなlist.jsを作成することで自由にUIをカスタマイズできます。現在、カスタマイズ版UIとしては、NicoCacheスレ発祥のListXがあります。ListXでは、サブフォルダごとの表示や画面推移の必要ないキャッシュの削除やフォルダ移動ができます。

また、/watchページのユーザバー(マイページなどへのリンクが有る場所)に、
ユーザバー
のような保存、管理用のリンクを挿入します。

実装予定など

連絡先

_nl版のバグ報告、_nlで欲しい機能要望などについては、

runanあっとnicolist.net

へメールしてください。
チェック自体はそれなりにしてますが、返信にはお時間を頂くことが多々ありますご了承ください。
なお、設置方法についての質問にはお答えできません。

hotmailに転送していたのですが、最近かなり弾かれてしまうようですので、設定を変更しました。
返信がこないなーって方は、お手数ですがもう一度送信してみてください。申し訳ありません。

メールアドレスを教えたくない! って人は、IRCのwide系サーバ #nicolist へ常駐してますのでそちらでもおkです。需要あるかは不明だけど他で常駐してるので取りあえず受け付け。要望などの場合はこちらの方が通りやすいです。ただし、わりと離席中+IPがバレます。