最終更新日: 2026-08-31 02:32 JST
Usage Guide¶
1. Installation¶
GitHubページのリリースページからダウンロードすること。
このガイドでは、NicoCache_nl本体のルートを NICO_APP_ROOT、実行時データのルートを NICO_DATA_ROOT と表記する。現在確認しているWindows構成の例は次の通り。
| 表記 | 現行の例 | 主な内容 |
|---|---|---|
NICO_APP_ROOT |
C:\Users\UserName\AppData\Local\NicoCache_nl |
NicoCache_nl本体、JAR、ランチャー、config.properties、scripts |
NICO_DATA_ROOT |
C:\Users\UserName\Documents\NicoCache_nl |
extensions、local、nlFilters、cache、data、NicoCacheGUI.property |
NICO_DATA_ROOT は NICO_APP_ROOT\config.properties の userDataRoot で確認する。ランチャーや起動オプションで別のデータルートを指定している場合は、実際に extensions、local、nlFilters があるそのルートを使用する。ポータブル構成では2つのルートが同じ場合もある。
注意事項
- ディレクトリ構造を壊さず、
local、nlFilters、extensionsはNICO_DATA_ROOTの同名フォルダに上書きする。scriptsはNICO_APP_ROOTに配置する。 - シンボリックリンクを利用している場合は、削除や置換の前にリンク自体と参照先を確認する。
- フィルタの抜き差しは上級者向けなのでnlFiltersの文法を完全に理解し、HTML/CSS/JavaScriptの知識が十分にあり、デベロッパーコンソールを十全に扱え、自己解決できる者だけが自己の責任で対応すること。
Note
問題を発見した場合はGitHubのIssueにて報告する。あるいはIssueで相談してからPull Requestを送る。
標準手順¶
$env:USERPROFILE\Downloads にダウンロードし、上記のWindows構成を使う例。
- 7zファイル
filter-matome-<version>.7zを7-Zipで展開する。 - NicoCache_nl本体のGUIまたは標準ランチャーで本体を終了する。matome-toolboxはNicoCache_nl本体のプロセス管理を行わない。
- 展開先の
NicoCache_nl\extensions、NicoCache_nl\local、NicoCache_nl\nlFiltersを、それぞれNICO_DATA_ROOTの同名フォルダへ上書きコピーする。 -
必要な場合は、展開先の
NicoCache_nl\scriptsをNICO_APP_ROOT\scriptsへ上書きコピーする。Note
scriptsフォルダにはビルド済みmatome-toolboxのJARが含まれる。matome-toolboxを使わない場合はコピー必須ではない。 -
以前の版から更新する場合、
NICO_DATA_ROOT\local\list.jsとlist.js.mapがfilter-matomeのlocal\features\dist\features.jsを参照するシンボリックリンクなら、参照先を確認してリンク自体だけを削除する。通常ファイルや別の参照先は削除しない。 - NicoCache_nl本体に付属する標準ランチャーから起動する。その後、ブラウザーで
Ctrl+F5を押してハード再読み込みする。
クリーンインストール手順¶
- mylist2、comment-filter2、watch-history、mlink-video-controllerの各管理画面から必要な設定とデータをエクスポートし、
local\background-imagesに自分で追加した画像も別の場所へバックアップする。 NICO_APP_ROOT\config.propertiesのuserDataRootを確認し、バックアップ後にNicoCache_nlを終了する。NICO_DATA_ROOT\extensionsから、「同梱される拡張機能」に記載した8種の.classと.javaを削除する。旧版のCustomCacheReturner*、downloadThruFFmpeg*、FilterMatomeCacheControl*、nlMediaInfo*、nlGpac$*.classが残っている場合も削除する。NICO_DATA_ROOT\localからbackground-images、features、images、mime.types、list.js、list.js.mapのうちfilter-matomeが配置したものを取り除く。background-imagesに自分で追加した画像は残す。シンボリックリンクは参照先を確認し、リンク自体だけを削除する。NICO_DATA_ROOT\nlFiltersから100_features.txt〜105_premium_hide.txtのうちfilter-matomeが配置した100番台フィルターと、nlFilters_編集ガイド.mdを取り除く。- matome-toolboxも入れ直す場合は、
NICO_APP_ROOT\scriptsがfilter-matomeのコピーまたはリンクであることを確認して取り除く。 - 上記の標準手順で現行版を配置し、NicoCache_nlを起動してブラウザーをハード再読み込みする。
削除しないデータ
NICO_DATA_ROOT\cache、data、certs、list、NicoCacheGUI.property などの実行時データは、filter-matomeのクリーンインストールで削除しない。用途を確認できない通常ファイルや、他の拡張機能が配置したファイルも削除しない。
参考資料¶
1.1 extensions(NicoCache_nl拡張機能)¶
extensions/ は、ブラウザへ挿入されるJavaScriptやCSSでは実行できないサーバー側の処理をNicoCache_nlへ追加するディレクトリである。ローカルキャッシュファイルの探索、外部コマンドの実行、NicoCache_nl GUIへのログ表示、外部サイトからの限定的な情報取得などを担当する。
配布物には、次の全8種について同名の .class と .java が含まれる。
.class: NicoCache_nlが実行時に読み込むコンパイル済み拡張機能。本機能を利用するために必要。.java: 拡張機能のソースコード。通常利用時のコンパイルには使用せず、実装確認や開発用として同梱している。
同梱される拡張機能¶
| ファイル | 役割 | 主な利用箇所・追加要件 |
|---|---|---|
CommentFilterLogger.class |
comment-filter2から送信されたフィルター結果を受け取り、NicoCache_nl GUIのログタブへ表示する | comment-filter2の「ログ送信」を有効にした場合に使用。GUIなしで起動した場合はログタブを表示しない |
DestroyAds.class |
公式HTML・JavaScriptが広告DOMやローダーを生成する前にレスポンスを書き換え、残った広告要求も上流接続前に破棄する | 表示後のDOM削除やCSS非表示は行わない。既存proxy.pacは同じproxyへ広告ホストだけを追加し、変更前をproxy.pac.destroy-ads.bakへ保存する。NicoCache_nlとブラウザーの再起動後に有効になる |
ExtUtil.class |
拡張機能向けの共通処理を提供する補助クラス | 単独で操作する機能ではない。他の .class と一緒に配置する |
FilterMatomeSeriesAlerts.class |
watch-historyのアラート設定を保持し、NicoCache_nlの60秒定期イベントからシリーズ新着を確認してOS通知を表示する | NicoCache_nlが起動していればwatch-historyやブラウザを閉じても動作する |
FilterMatomeSmartFetcher.class |
動画取得の永続予約、暗号化Cookie、帯域・容量判定、再試行、取得履歴を管理する | nlMovieFetcher.classと組み合わせ、動画取得スケジューラーで使用する |
NicochartInfoProxy.class |
video-playerが通常の動画情報を取得できない場合だけ、サーバー側からnicochart.jpの公開情報を取得する | 接続先と動画IDを制限した読み取り専用処理。PACやgenCerts.bat / genCerts.shの変更は不要 |
nlGpac.class |
キャッシュファイルまたはHLS/CMAFプレイリストをGPACのinspect:xml:stats:allpで全期間解析し、映像・音声の仕様を一つのJSONへまとめて返す。HLSマスターは最高帯域の品質を選択する |
movie-infoのGPAC表示とhttps://nicocachenl.test/api/v1/extensions/filter-matome/gpac/<動画ID>で使用。GPACのgpac.exeが必要 |
nlMovieFetcher.class |
署名済みDomand playlistの全CMAFリソースをNicoCache_nl経由で取得し、進捗確認と中止APIを提供する | 一覧の即時取得とsmartFetcherの実行エンジンとして使用する |
nlGpac.classは単一クラスで完結し、キャッシュを変更せず、通常のメディアファイルはそのまま、.hlsディレクトリはローカルのmaster.m3u8を入力としてGPACへ渡す。HLS/CMAFでもセグメントごとの結果を返さず、GPACが全期間を消費して得たPIDの解像度、Codec、ビットレート、フレーム数、時間、音声サンプルレート、チャンネル数などをまとめる。movie-infoのGPACビューでは、これらに加えてコンテナ入力、GPACバージョン、品質選択、色空間、ピクセル形式、アスペクト比、チャンネル配置などをストリーム別に表示し、GPACが返した未知の属性も全属性表で確認できる。キャッシュ解析で意図せず外部配信へ接続しないよう、プレイリストにHTTP等のリモートURLが含まれる場合は解析を拒否する。GPACの実行ファイルは、-Dgpac.path=...、GPAC_PATH環境変数、C:\PathArea\GPAC\gpac.exe、ユーザーの%LOCALAPPDATA%\Programs\GPAC\gpac.exe、C:\Program Files\GPAC\gpac.exe、最後にPATHの順で探索する。
mlink-video-controllerの削除操作は、NicoCache_nl本体のDELETE /api/v1/videos/<動画ID>/hls-cache-entriesを使用する。完了済み・停止済みHLSは即時削除し、取得中HLSは変種単位で完了前の削除を予約する。MP4・FLV・SWFは対象にしない。
video-playerはNicoCache_nl本体の/api/v1/videos/<動画ID>/mediaだけを再生候補に使う。movie-fetcherが自己プロキシーから受け取るCMAF断片はnicocachenl.test/media/v1/playback-sessions/に限定し、旧www.nicovideo.jp/cache/*経路は使用しない。
watch-history常駐シリーズアラート¶
FilterMatomeSeriesAlertsがシリーズアラートの正本を管理し、watch-historyのシリーズアラート画面はextension APIから一覧取得・追加・変更・削除する管理フロントエンドとして動作する。NicoCache_nlは約60秒ごとに期限到来を確認し、対象動画の公開ウォッチページから次動画を検出する。ログインCookieやブラウザの通知権限には依存しない。
- Windowsなどシステムトレイ通知を利用できる環境ではOS通知を表示し、通知をクリックすると新着動画を開く。
- システムトレイ通知を利用できない環境では、NicoCache_nl GUIの
Series Alertsタブへ記録し、可能なら通知音を鳴らす。 - 設定と最終確認状態は
NICO_DATA_ROOT\data\filter-matome-series-alerts.jsonへ原子的に保存する。破損を検出した場合は同じ場所へ.corrupt-<時刻>付きで退避する。 - 旧版のIndexedDBにあるアラートは、更新後にwatch-historyを最初に開いた時点でextensionへ一度だけ移行される。以後の追加・変更・削除とJSON入出力はIndexedDBを経由しない。
- NicoCache_nlを停止している間は確認できない。再起動後、期限を過ぎたアラートは次の定期処理で確認する。
- シリーズアラート画面で
拡張DB: 接続済み・通知有効または拡張DB: 接続済み・GUIログ/通知音と表示されることを確認する。通知テストで実際の通知経路を確認できる。
動画取得スケジューラー¶
ニコニコ動画の動画カードにあるカレンダーボタンから予約画面を開く。「動画を選ぶ」「日時を選ぶ」「内容を確認」の3段階に従い、動画情報と推定サイズを確認して保存する。通常は今夜・平日夜・週末の候補から選ぶだけでも登録できる。1回/日/週/月/年の繰り返しを選び、必要な場合だけ「予約の詳細設定」を開いて曜日、祝日、優先度、再試行回数を変更する。
帯域上限、推定サイズの余裕、タイムゾーンは「通信・容量判定の詳細設定」にまとめている。帯域モードを選ぶと、そのモードで使う項目だけが表示される。「固定」は指定B/s、「回線速度の割合」は設定した回線速度×利用割合、「自動学習」は初回を制限せずに測定して2回目以降を実測速度×利用割合に制限する。自動学習で実測値がない間だけ、回線速度を初回の完了可能時間判定に使う。「推定サイズの余裕」はディスク使用率や空き容量ではなく、時間判定で推定サイズに掛ける倍率で、120%なら20%を上乗せする。通常の予約登録では変更する必要はない。
NicoCache_nlが起動している間だけ約60秒ごとに期限を確認する。PC停止中に過ぎた実行枠は失敗履歴へ記録し、次回がある予約は将来へ進める。取得失敗・不完全取得は再試行後に履歴へ残り、NicoCache_nlの完成キャッシュが実在する場合だけ完了扱いにして次の予約へ自動的に進む。不要な取得履歴は各項目の「履歴から削除」、または見出しの「履歴をすべて削除」から確認後に消せる。この操作では予約と取得済み動画キャッシュは削除されない。予約画面は /local/features/dist/pages/movie-fetcher/index.html から直接開くこともできる。
認証Cookieは許可された4種類だけをAES-GCMで暗号化し、NICO_DATA_ROOT\data に状態とは別ファイルで保存する。ログイン中にニコニコ動画を一度開いてから予約画面の「保存Cookie」が保存済みであることを確認する。共有PCではNicoCache_nlのユーザーデータルートを他ユーザーから読めないようにし、不要になった場合は予約画面の「保存Cookieを削除」を実行する。
配置と更新¶
- 配布物の
extensions/にある.classと.javaを、ディレクトリ構造を変えずにNICO_DATA_ROOT\extensionsへ上書きコピーする。 - リリースノートで削除された拡張がある場合は、古い
.classをNICO_DATA_ROOT\extensionsから削除する。古い.classを残すと、廃止済みの処理が読み込まれ続ける場合がある。 - NicoCache_nlを再起動する。ブラウザの再読み込みだけでは、追加・更新・削除した
.classは反映されない。
拡張機能の取り扱い
- 拡張機能はNicoCache_nlと同じJavaプロセス内で動作し、ローカルファイルの読み取りや外部コマンドの起動、ネットワーク通信を行える。信頼できる配布元の
.classだけを配置する。 .javaだけを更新しても動作は変わらない。通常利用者は配布済みの.classを使用し、自分で再コンパイルしない。- 一部の拡張だけを任意に抜くと、対応する画面機能が404や取得失敗になる。基本的には配布物の一式を使用する。
- 動画・音声保存はNicoCache_nl本体APIを使用する。
nlGpac.classはGPACを外部プロセスとして呼び出すため、gpac.exeをPATHへ追加するか、C:\PathArea\GPACやユーザー領域へ導入してGPAC_PATHまたは-Dgpac.path=...で指定する。
動作しない場合¶
.classがNICO_DATA_ROOT\extensions直下にあることを確認する。サブフォルダへ移動しない。- NicoCache_nlを再起動し、起動ログに対象拡張の読み込み失敗やJavaバージョンのエラーがないか確認する。
- 保存機能では
ffmpeg -version、GPAC機能ではgpac -hまたは導入先のgpac.exe -hが成功するか確認する。GPACがPATHにない場合は、設定したGPAC_PATHまたはC:\PathArea\GPAC\gpac.exeの実体を確認する。 - 更新後にだけ失敗する場合は、古い
.classの残存を確認してから、標準手順でextensions/を再度上書きする。 NicochartInfoProxyが失敗してもvideo-playerはキャッシュ再生を継続する。詳細はNicoCache_nlの警告ログでNicochartInfoProxyを確認する。- HLS削除が
pendingのままの場合は対象動画のキャッシュが継続中か確認する。完了または中断後、最大約60秒の定期再確認で削除される。 - シリーズアラートが
拡張DB: 未接続の場合は、FilterMatomeSeriesAlerts.classが配置されているか、起動ログにFilterMatomeSeriesAlertsがあるか確認してNicoCache_nlを再起動する。
2. Filter Descriptions¶
注意事項
- 毎回リリースノートを確認すること。
- 各 nlFilter は
<link rel="...">や<script src="...">で./local/features/*から呼び出す形になっているため、ファイルの更新日が変わっていないことがあることに注意する。更新による差分を見たいときはWinMergeが便利。 - また、
nlFiltersフォルダから削除された nlFilter(txt)や、local/features から削除された css,js ファイル、または中身のないファイル群は deprecated(廃止予定)又は abolition(廃止)としているため削除すること。
免責事項:
- 全てのフィルタは同時使用を前提に設計しているため、自分で勝手に取捨選択した結果動作しなくても動作保証外・サポート(返信)対象外とする。
- 基本的にこのフィルタは私が使用しているものをお裾分けしているという形を取っている為、あなたが自分で変更・改変・改造した結果不具合が起きても私は一切の責任を負わない。自身の力に於いて解決すること。困ったらクリーンインストール!
- MITライセンス(MIT license)(日本語訳リンク)を宣言する。改変・再配布・商用利用・非商用利用等自由、但し再配布する際に私の名前(roflsunriz)を明記すること。
100_features.txt¶
ページ判定用の軽量features.jsをニコニコ動画全体に1回挿入するフィルタ。ページルーターがURLに応じて必要な共通機能、mlink-video-controller、comment-filter2、video-player、watch-trackerの分割ファイルだけを遅延読み込みして起動する。
ログイン中に公式CommonHeaderのベルを開くと、通知パネル上部にすべて既読ボタンが表示される。押すと通知先ページを開かず、公式通知一覧の続きがなくなるまで未読通知を取得して既読化する。途中で一部だけ失敗した場合は成功件数と失敗件数を表示し、パネルを閉じずに失敗分を再試行できる。通知APIの応答形式を確認できない場合は、誤った通知を操作しないよう既読処理を開始しない。
CommonHeaderにはNicoCacheのキャッシュ操作メニューとは別にfilter-matomeメニューが表示される。101番の再生速度同期、102番のコメント再取得、103番のコメントメニュー挿入は、ページ開始時、対象資産の読込時、ページ復帰時と180秒ごとに自動検査される。ホバーまたはキーボードフォーカスで開くと、現在の結果を有効、自動検査中、未検出、版不一致、検査失敗で確認できる。コメントメニューは読込済みの公式ExpandedComment資産を認証情報なしで再取得し、103番固有markerの有無をread-only検査するため、公式コメントメニューを右クリックで開く必要はない。赤い状態が続く場合は、まずCtrl+F5でWatchページをハード再読み込みする。

上図は検索ページで開いた状態のため、Watchページ専用の3項目はWatchのみと表示される。
HTMLページの配信URL¶
HTMLを使用する各機能は、NicoCache_nl経由で次のURLに配信される。
| 機能 | URL |
|---|---|
| mylist2 | https://www.nicovideo.jp/local/features/dist/pages/mylist2/index.html |
| movie-fetcher | https://www.nicovideo.jp/local/features/dist/pages/movie-fetcher/index.html |
| movie-info | https://www.nicovideo.jp/local/features/dist/pages/movie-info/index.html |
| video-player | https://www.nicovideo.jp/local/features/dist/pages/video-player/index.html |
| watch-history | https://www.nicovideo.jp/local/features/dist/pages/watch-history/index.html |
101_disable_official_function.txt¶
Watchページのserver-context直後へ設定JSONと同期スクリプトを挿入し、設定で有効にした項目だけを公式クライアントが読み込む前に書き換える。配布時の設定ではsessionUser.typeをpremiumとして表示上の分岐を調整するが、認証状態、視聴権限、サーバー側で判定されるプレミアム権限は付与されない。
同じファイルに、公式プレイヤーのmedia controllerへ版付きの最小APIを接続するnimg用フィルタも含まれる。mlink-video-controllerはこのAPIから公式内部状態と動画要素を同時に更新するため、公式設定の再生速度と0.1~5倍のmlink設定を併用できる。公式UIの候補、会員判定、保存処理は変更しない。APIがないローカルvideo-playerでは動画要素へ直接設定する。公式JavaScriptを置換するため、追加・更新・除去後はCtrl+F5でWatchページをハード再読み込みする。
102_comment_reload_api.txt¶
公式コメントストアの再取得処理へ、版付きの最小APIを接続するフィルタ。comment-filter2の「今すぐ適用」はこのAPIを使い、動画・再生位置・ページを維持したまま公式コメントだけを再取得して変更後のルールを反映する。公式資産の更新や古いHTTPキャッシュによりAPIを利用できない場合は、自動で通常再読み込みを繰り返さず、一度だけCtrl+F5が必要なことを通知する。
103_official_comment_menu.txt¶
公式プレイヤーで描画中のコメントを右クリックしたとき、公式Reactメニューへcomment-filter2の操作を追加するフィルタ。DOMや表示文言を探索せず、公式側が保持するコメントモデルを版付きAPIへ渡す。コメントのコピー、Google検索、本文がHTTP(S) URLの場合の新規タブ表示、全動画対象のNGワード・NGユーザーID追加ができ、既存の公式NG操作も維持する。
104_watch_harajuku_style.txt¶
Watchページで原宿風表示用CSSを公式CSSより先に読み込み、公式root CSSを専用のcascade layerへ隔離する。原宿風表示が有効な間だけactive scopeを開くため、モジュール無効時の公式表示には影響せず、有効時は大量の!importantに頼らず通常のCSSカスケードで表示を切り替える。
mlink-video-controller¶


ニコニコ動画の視聴ページを開くと、右下に紫色のメニューが現れる。そのメニューを開くと、順に、コメントヒートマップと再生関連の微調整タブ、音量微調整タブ、再生速度変更タブ、コメント検索タブ、関連リンクタブ、モジュール設定タブに切り替えられる。
再生関連タブでは、シークバーによる位置調整、ヒートマップ切り替え、0:00に戻るボタン、再生一時停止切り替え、最後までスキップ、繰り返し再生、秒数指定スキップ、ワンクリック秒数スキップボタンがある。
音量タブでは、音量バーによる調整、音量ゼロ、微小、最大、各パーセンテージによる調整ができる。
再生速度タブでは0.1倍から5倍まで0.01刻みの調整バー、0.1・0.5・1・1.5・2・3・4・5倍のプリセット、0.01または0.1刻みの微調整ができる。
コメント検索タブでは通常表現と正規表現による検索ができる。詳細表示チェックボックスをオンにすると、ID, No., 投稿日時, コメントコマンド, プレミアムステータス, スコアといった情報が表示される。
関連リンクタブでは、filter-matome関連リンク、niconico関連リンク、NicoCache_nlリンクが表示される。
キャッシュリストはNicoCache_nl本体のhttps://nicocachenl.test/cacheを直接開くため、廃止したcache-data-managerやlocal/list.jsには依存しない。保存:動画、保存:音声、保存:コメントはNicoCache_nl本体のエクスポートAPIを使用し、ブラウザーの通常のダウンロードとして保存する。
モジュールタブではmlink-video-controllerに統合された各種機能モジュールのオン・オフができる。
ヘッダープライバシーモジュールはニコニコ動画のコモンヘッダー(画面上部の黒いヘッダ)に表示されるユーザー名とアイコンを非表示にできる。モジュール設定タブのヘッダープライバシー行にある設定から、ユーザー名とアイコンを個別にオン・オフできる。スクリーンショットでユーザー名を共有したくない場合に便利。
デイリー福引ハイライトモジュールはニコニコインフォで配布されているニコニ広告用のポイント福引で、特定のキーワードを含むものをハイライトすることで簡単に福引にアクセスできるように支援する補助機能。
タグカウンターモジュールはWatchページのタグ数を表示し、動画タイトルと短縮URLを共有用にコピーできる。
原宿風WatchモジュールはWatchページをニコニコ動画(原宿)風の表示に変更する。再生数・コメント数・マイリスト数・投稿日時の集約表示、ライト/ダークテーマ切り替え、カラースキームと背景画像の優先切り替えに対応する。
タブセッション拡張モジュールは通常一般会員では同時に開ける視聴ページが3つまでに制限されているものを無制限に拡張する。
サムネイルフィルターモジュールは検索ページやその他ページで非表示にしたい動画を指定してサムネイルを非表示にしてくれるモジュールだがニコニコ動画の構造変化が激しいため動作しないかもしれない。モジュール設定タブのサムネイルフィルター行にある設定から調整できる。キーワードの追加・削除・一時停止は保存直後に現在の一覧へ反映される。
背景セレクターモジュールはラジアル背景画像セレクターと背景画像自動適用をオンにする。視聴ページの右横に半透明のハンドルにマウスホバーするとラジアル背景画像セレクターが現れ、回転とクリックで背景画像を変更可能。背景画像設定で変更可能。
マトリックス背景は映画マトリックスシリーズに出てくる緑色の縦書きカタカナプログラムコードの動的表示背景を設定する。背景セレクターと排他的動作。
コメントヒートマップモジュールはコメント密度を再生タブのタイムライン、または動画上のオーバーレイとして表示する。表示方式と配色はモジュール設定から変更できる。
即時適用・・・すぐにモジュールの変更を適用(リロードなし)
再読み込みして適用・・・ページをリロードして適用(より確実)
設定エクスポート・・・モジュールの各種設定をローカルに保存
設定インポート・・・モジュールの各種設定をローカルから読み込み
設定リセット・・・デフォルト設定に戻す
comment-filter2¶


コメントAPI応答を捕捉し、IndexedDBへ保存したJSONルールまたは互換ルールでコメントの非表示・置換・コマンド制御を行う。非表示に一致したコメントは空文字へ変換せず、コメントエントリごと除去して公式プレイヤーまたはローカルvideo-playerへ渡す。大量データはWorkerで処理し、利用できない場合はメインスレッドへ安全にフォールバックする。
設定画面ではルールの追加・編集・有効化、JSON・JSONL・CSV等の入出力、正規表現診断、NGユーザー、ニコる数条件、コメントコマンドの置換方式、フィルターログ送信を管理できる。公式プレイヤーでは「今すぐ適用」と右クリックメニューが102_comment_reload_api.txt、103_official_comment_menu.txtを介して動作する。
詳しい使い方はcomment-filter2.mdを参照されたい。
mylist2¶

ブラウザーのIndexedDBへ保存する独自マイリストSPA。複数マイリスト、動画、キーワード、メモを管理し、選択中または全マイリストを対象にした検索、並び替え、選択項目の一括移動・コピー・削除、動画情報更新、JSONのインポート・エクスポート、Google DriveへのZIPバックアップと復元を提供する。
動画検索は空白区切りの各語をAND条件で照合し、動画ID、タイトル、投稿者、タグ、説明文、メモ、公開状態を対象にする。動画リンクは設定と公開・キャッシュ状態に応じて、公式Watchまたはローカルvideo-playerへ移動する。mlink-video-controllerのmylist2に追加から視聴中の動画を登録できる。
movie-info¶

一つの動画IDについて、NicoCache_nlのキャッシュ情報、ニコニコ動画の動画情報、Watchページ情報、GPAC解析結果を並列取得して表示するダッシュボード。一部の情報源が失敗しても取得できたパネルを残し、失敗元と確認点を表示する。GPACパネルではコンテナ、再生時間、解像度、ビットレート、フレーム、色、映像・音声ストリームの属性を確認できる。
コメントは自動取得せず、必要なときだけフィルター前の全フォークデータを取得してプレビューする。各情報源のRaw JSONはコピーまたはファイル保存できる。mlink-video-controllerのmovie-info、またはHTMLページの配信URLから開く。
movie-fetcher¶

ニコニコ動画の動画カードへ追加される取得ボタンから、現在利用できる最高画質・音質のDomand/CMAFキャッシュをNicoCache_nlへ取得する。取得中に同じボタンを押すと中止を要求でき、ページを閉じてもJava拡張側の処理は継続する。
カレンダーボタンまたは専用HTMLページから動画取得スケジューラーを開くと、動画、日時、確認の3段階で予約できる。1回/日/週/月/年、曜日・祝日、優先度、再試行、帯域上限、完了可能時間を設定し、予約と取得履歴を管理する。利用にはnlMovieFetcher.classとFilterMatomeSmartFetcher.classを配置してNicoCache_nlを再起動する必要がある。
video-player¶
NicoCache_nlのローカルキャッシュをコメント付きで再生するスタンドアロンプレイヤー。キャッシュ済みの有料期限切れ動画、削除動画、非公開動画を対象にし、通常のWatch情報を取得できない場合はNicoCache_nl拡張経由のnicochart.jp公開情報へフォールバックする。情報源がnicochartの場合は画面上に明示する。(削除済み動画と非公開動画では公式側でコメントも非公開になり、取得できない場合がある)
コメント一覧と動画上のオーバーレイ、表示切り替え、透明度・色・NGワード・NG正規表現、音量、全画面、背景、繰り返し、自動次動画を設定できる。ログイン状態と投稿先を確認できる動画では、75文字までの本文と公式風コマンドパレットを使ってコメントを投稿し、成功したコメントを一覧とオーバーレイへ即時反映する。未ログイン、投稿禁止、レート制限、CAPTCHA要求はフォーム内に理由と再試行方法を表示する。
再生方法¶
- URLを直接指定する方法(https://www.nicovideo.jp/local/features/dist/pages/video-player/index.html?videoId=<動画ID>)
- mylist2に該当動画を登録して自動ルーティングさせる方法(https://www.nicovideo.jp/watch/soXXXXXXXX などを登録するとキャッシュがあれば自動でリダイレクトする)
動画IDはsoXXXXXXXXに限らず、smXXXXXXXX、nmXXXXXXXX、ssXXXXXXXXなどのニコニコ動画IDに対応する。
任意で用意した動画をコメントを被せて再生¶
- Hohoemaを使用する方法
NICO_DATA_ROOT\cache(現行例:C:\Users\UserName\Documents\NicoCache_nl\cache)に動画IDで名前を付けて保存soXXXXXXXX.mp4、smXXXXXXXX.mp4、nmXXXXXXXX.mp4、ssXXXXXXXX.mp4などとし、該当動画IDのページを開く。NICO_DATA_ROOT\local\cacheに同様の名前で保存し、該当動画IDのページを開く。
Note
mp4ファイルを配布済みmatome-toolboxでFastStart変換すると、読み込みから再生開始までの待ち時間が短縮される。通常利用ではMavenなどのビルドは不要。
java -jar "C:\Users\UserName\AppData\Local\NicoCache_nl\scripts\matome-toolbox\target\matome-toolbox-0.1.0-SNAPSHOT.jar" --headless --plugin media --action faststart --input "C:\Users\UserName\Documents\NicoCache_nl\cache\movie.mp4" --dry-run
Note
動画ファイルを追加した後はNicoCache_nlに認識させるためにNicoCache_nlの再起動が必要。
105_premium_hide.txt¶
コモンヘッダーのプレミアム会員勧誘要素を非表示にする。
watch-history¶

視聴履歴タブでは、視聴ページで再生した動画の履歴が表示される。左のサイドバーから検索、ソート、フィルタ、削除、簡易統計が可能。右サイドバーでは各動画をクリックすると動画IDや投稿者などの詳細情報が表示される。更にそこから動画を開いたりメモを追加することも可能。
統計タブでは詳細な再生アクティビティを確認可能。
シリーズタブでは投稿者が設定した動画シリーズのナビゲーションが利用可能。
シリーズアラートでは新規アラート追加で対象と間隔を設定すると、NicoCache_nlの常駐extensionがページやブラウザを閉じていても新規動画を定期確認する。手動チェックで即時確認を依頼でき、通知テストでOS通知またはGUIログ・通知音の経路を確認できる。NicoCache_nlを停止している間は確認されない。
画面上部の管理から、視聴履歴とシリーズアラートをローカルJSONへエクスポート・インポートできる。Google DriveへエクスポートではWatch History BackupsフォルダーへZIPで保存し、Google Driveからインポートでは一覧から選んだバックアップを現在の履歴へマージする。Google Drive連携はユーザー操作時だけ認証し、この機能が作成したファイルへアクセスするdrive.file権限を使用する。
データベース管理では、より大容量の履歴を保存するためのデータベース永続化と、旧データからの自動マイグレーションなどの設定が可能。
3. Enabling/Disabling Filters¶
nlFilter の文法を参照
必要に応じフィルタを有効化する方法と無効化する方法を紹介する。フィルタのカギ括弧にシャープ記号を付けると無効状態になる。
使用例:
| 無効状態 | 有効状態 |
|---|---|
#[Replace] |
[Replace] |
Note
VSCodeでのnlFiltersのシンタックスハイライト機能はNLF Codeが利用可能。
4. Watch Page Background Image Settings¶

背景画像を変更するには、まず画像をSquooshなどでブラウザが扱える形式に変換する。変換は必須ではない。次に、NicoCache_nl の local/background-images/favorites など、local 配下の任意のフォルダに画像を配置する。NicoCache_nl から参照できるのは local 配下のファイルだけである。
そのうえで、mlink-video-controller の設定タブにある「背景画像設定」から背景画像を指定する。指定方法は URL 指定とファイル選択の 2 種類である。ファイル選択した画像は、IndexedDB に base64 形式で保存される。
URL は https://www.nicovideo.jp/local/background.jpg のように、NICO_DATA_ROOT\local 配下のファイルをそのまま指定するのが最も単純な例である。たとえば C:\Users\UserName\Documents\NicoCache_nl\local\background-images\favorites\background1.avif に画像を置いた場合、URL は https://www.nicovideo.jp/local/background-images/favorites/background1.avif になる。さらに、local フォルダ内の hoge フォルダに image.jpg がある場合は、https://www.nicovideo.jp/local/hoge/image.jpg になる。https://www.nicovideo.jp/local/ 以外の外部 URL も指定できるが、読み込み時に外部サーバーへ無用な負荷をかけるおそれがあるため非推奨である。フォルダ構成や指定数に厳密な制限はないが、常識的な範囲で設定することを推奨する。
注意事項(nico_wallpaperG併用時)
nico_wallpaperGと併用している場合衝突が起きるので、そのときはどちらを優先するかによるが mlink-video-controller にて背景セレクターとマトリックス背景を無効化し、「wp1.css」に以下を追記する。(デフォルトの場合)
:root {
--bg-img: url('https://www.nicovideo.jp/local/nico_wallpaperG/wp1.jpg') repeat center fixed !important;
}
5. Important: Data Deletion Warning¶
ブラウザデータ削除時の注意¶
以下の操作を行うと設定データが消去される:
- サイトデータの削除
- オフライン作業用データの削除
- Cookieと他のサイトデータの削除
- Cookieとサイトデータの削除
- …等の表記がある閲覧履歴データの削除
削除されてしまう設定:
- mlink-video-controller(IndexedDBに保存された背景画像の設定全般)
- mylist2(IndexedDBに保存されたマイリストのデータ全般)
- comment-filter2(IndexedDBに保存されたNGコメントの設定全般)
- その他「ローカルストレージ」に保存されている音量、再生速度設定等
事前対策:
- 各機能の設定画面から「エクスポート」を実行
- エクスポートファイルを安全な場所に保存
- データ削除後に「インポート」で復元
保存されている各データはWebサイトにフォーカスがある状態でF12キーを押すと開発者ツールが開き、「ストレージ」タブや「アプリケーション」タブで確認できる。
各機能のエクスポート方法¶
mlink-video-controller
- モジュール設定: ニコニコ動画の対象ページ > 画面右下のmlink-video-controller > 設定タブ >
設定エクスポート - 背景画像: 同じ設定タブ >
背景画像設定>設定をエクスポート
mylist2
mylist2 > 対象マイリストの「マイリスト設定」 > 「データ管理」 > 「エクスポート」。Google Driveを使う場合はマイリスト設定の「クラウドにバックアップ」から保存・復元する。
watch-history
watch-history > 「管理」 > 「エクスポート」または「Google Driveへエクスポート」
comment-filter2
ニコニコ動画の視聴ページ > 画面右下のmlink-video-controller > 関連リンクタブのcomment-filter2 > 「データ管理」のエクスポート
6. License¶
MIT LICENSE
The MIT License
Copyright 2017-2026 roflsunriz
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
法的に有効なのは英語版のライセンス条文。詳細は日本語訳と英語原文を参照。
7. Related Links¶
開発ツール¶
- Apache Ant (Javaビルドツール)
- Adoptium Temurin OpenJDK 25 LTS
- BouncyCastle (暗号化ライブラリ)
- GPAC (メディア解析)
- WinMerge (ファイル差分比較)