Hatena::ブログ(Diary)

by edvakf in hatena

2011-03-08

複数のブラウザでニコニコ動画にログインし直さなくていい NicoCache_nl の Extension 作ってみた

NicoCache_nl という、ニコニコ動画専用キャッシュプロキシがあって、今は NicoCache_nl+mod というやつのほうがデファクトらしいのだけど、これが便利で使わせてもらっている。

これを OS のプロキシ設定 (後述) で使っているのだけど、どうせなら FirefoxOpera と NNDD (ニコニコ動画専用ブラウザ) でいちいちログインし直さずに使えたら便利かと思って、NicoCache_nl 用の Extension を書いた。

ダウンロードして、NicoCache_nl の extensions というフォルダに入れて NicoCache_nl を再起動すれば使えるはず。2ch で指摘されたので早速アップデート。色々試したけど問題なく動いた。

NicoCache_nl (9).12 と NicoCache_nl+110219mod で動くのを確認した。


ニコニコ動画へのアクセスだけを NicoCache_nl を通すようにする

↑のような感じでファイルまたは URL を指定するんだけど、NicoCache_nl の zip を展開した場所に proxy_sample.pac というのが入ってるのでそれを指定すればいい。

Windows の場合は C:\ほにゃらら\proxy_sample.pac という形式でも file://C:/ほにゃらら/proxy_sample.pac という形式でもどちらでもいけるみたい。Mac は忘れた。file:///Users/ユーザー名/ほにゃらら/proxy_sample.pac と書かないといけなかったかもしれない。Mac は「ファイルを選択」というボタンがある。

Opera の場合は OS のプロキシ設定を使わないので、詳細設定→ネットワーク→プロキシサーバーからこんなふうに指定する。

f:id:edvakf:20110309022644p:image:w400

せっかくなので NicoCache_nl についてもちょっと解説

NicoCache_nl は Java で書かれてて、Java ランタイムさえ入っていればインストールせずに(というと語弊があるけど、zip 展開するだけで)使えるソフトです。

↑を読むとちょっと使うのが難しそうな感じですが、「NicoCache_nl+110219mod」というリンクから zip をダウンロードして展開して、中にはいってる NicoCache_nl.jar というやつをダブルクリックすればそれだけで使えるはずです。

OS の起動時に起動させると便利なので、Windows の場合はウィンドウズメニュー(スタートメニュー?)の「スタートアップ」という項目を右クリックして、フォルダを開いて、そこに NicoCache_nl.jar へのショートカットを作ります。

Mac の場合は、「システム環境設定」の「アカウント」に入り、「ログインアイテム」タブで NicoCache_nl.jar を追加します。

↑のページには mp4box とか swfextract とか書いてありますが、自分はそのへんの機能は使ってないので知りません。設定ファイルもとりあえずは何も弄らなくても大丈夫です。設定ファイル等の文字コードSHIFT_JIS なので、エディターによっては文字化けするかもしれません (特に Mac)。

zip 展開したフォルダ内の cache というフォルダに、ニコニコ動画の動画キャッシュがどんどん溜まっていきます。たまに消してあげたほうがいいかも。

それから上に書いたプロキシの設定をすれば設定完了です。


設定について

NicoCache_nl+mod だと起動時にウィンドウが開いてしまうのはどうかならないかな。NicoCache_nl だったら静かにスタートするんだけど。NicoCacheGUI.property というファイルの HideWindow=false を true にすればいいらしい。

設定は config.properties に書けばよくて、defaults というフォルダに入っている設定を上書きする形になる。

自分は

touchCache=true
cacheThumbnail=true

だけ書いてある。再生時にファイルのアクセス時間を変更するのと、サムネイルまでキャッシュする。

あと動画へのリンクにマウスオーバーポップアップするのが嫌なので、nlFilters/15_thumbInfoFilter(基本).txt というファイルを消してある。

edvakfedvakf 2011/03/09 11:49 http://hibari.2ch.net/test/read.cgi/software/1293033706/687
ソースを見たけど*.nicovideo.jp全てをProcessorで処理すると、他のExtensionやRewriter(nlFilter含む)に
処理が回らなくなるのでまずいっす。nlShareLoginみたいにRequestFilterで処理しないと…。

と書かれてたのでちょっと修正する。つーか nlShareLogin というのがあったのね。

edvakfedvakf 2011/03/09 12:17 nlShareLogin というのは配布サイトごと消えちゃったみたい。読もうと思ったが残念。

edvakfedvakf 2011/03/09 18:39 ver.2 で修正した。ソースも簡潔になった。

edvakfedvakf 2011/03/09 20:47 nlShareLogin のソースを読んだ。あれだと、キャッシュをクリアした状態のブラウザどうしでしか使えない。車輪の再発明でなくてよかった。

指摘した人指摘した人 2011/03/10 12:13 2chのスレ見てたのね。概ねそれで問題無いです。(requestHeaderのnullチェック位置とかまずいけど)
あと、起動時ウインドウの件はNicoCacheGUI.propertyにHideWindow=trueでおk。(スレの過去ログ参照)

edvakfedvakf 2011/03/10 15:02 どうもありがとうございます。誰かに教えてもらったので見てました。普段は見てないですが。

>requestHeaderのnullチェック位置
こっそり直しておきます。

edvakfedvakf 2011/03/10 16:57 Ver.2.1 にアップデート。

edvakfedvakf 2011/05/28 15:14 Ver.2.2 にアップデート。
ext.nicovideo.jp を除外。

ニコ厨ニコ厨 2011/08/06 10:59 いつもお世話になっております。
LoguinUnifierを使わせて頂いておりますが、
Nicocache_nlのログがLouinUnifierであふれてしまいます。
ログの量を減らすか別のタブに移動したりするにはどうしたらいいでしょうか?
よろしくお願いします。

edvakfedvakf 2011/08/06 11:12 そうですね。自分もちょっと気になってました。
今まで通りログを出すほうをデバッグ版として、ログをあまり出さないのを正式版としてリリースしようかと思います。
と言いたい所なんですが、今パソコンを修理に出してるので数週間かかるかもしれません。
別のマシンに Java 開発環境あったかな…
アップデートしたらこのコメント欄にまた書き込みますね。
まあソース公開してるのでご自分で修正してコンパイルしてもいいんですが。

通りすがり通りすがり 2011/08/19 07:54 マルチユーザー・マルチマシン共有対応できませんか?
今だと別人とニコニコのアカウントを共有してしまいます。

edvakfedvakf 2011/08/19 08:03 マルチアカウントはこのソースを修正すればできるかもしれませんが、面倒なので(UIがゴチャゴチャしそうなので)やりません。すいません。

通りすがり通りすがり 2011/08/25 14:42 8/19にコメントしたものです。
ソースを修正しようとしたのですが力不足でした。
マルチアカウントでなく、現在のアカウントを切り替えるため
ニコニコ動画からログアウトだけできるようにはならないでしょうか?
今はログアウトできないので。

kuronkuron 2011/09/01 20:23 iiiiiiiii

通りすがり通りすがり 2011/09/11 21:18 済みません。
ログアウトは出来なかったのですが、ログインフォームをブックマークしてアクセスすれば
https://secure.nicovideo.jp/secure/login_form
別ユーザに変更できました。

edvakfedvakf 2011/09/20 04:52 2.3にアップデートしました。
http://edv.sakura.ne.jp/nicocache/LoginUnifier.class が通常版
http://edv.sakura.ne.jp/nicocache/LoginUnifier.class.debug がデバッグ版となります。
.debug を導入するときはファイル名を LoginUnifier.class に変更して使用してください。

ニコニコ動画のログアウトフォームは https://secure.nicovideo.jp/secure/logout っていう HTTPS になってるので、ログアウトしたことを nicocache_nl 側からは確認できないんですよね。同様にマルチアカウントのやつも HTTPS なのでなかなか難しいです。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/edvakf/20110308/1299605635
Connection: close