# NicoCache_nl 設定ファイル(文字コード判定用なのでこの行は削除しないこと)

# *** 最近新たに追加された設定 ***

# nl本体の改造･修正で新規に追加された設定が記述されています
# バージョンアップで上書きされるので、このファイルを直接修正しないで下さい
# 値を変更する場合は、config.properties に転記･修正してください


# NicoCache_nl+120609mod
# -------------------------- ネットワーク関係 --------------------------

# 制限ヘッダを許可 [S]
#	Java ランタイム側で制限しているリクエストヘッダを許可します
#	（内部で sun.net.http.allowRestrictedHeaders=true を設定するだけ）
#	CORS で使う Origin ヘッダを通すために必要ですが、副作用もあるので
#	注意が必要です（Content-Length 等のヘッダも上書きできるようになる）
# [NicoCache_nl+150304mod+161224mod] 常に有効になります
#allowRestrictedHeaders=true

# CORS(Cross-Origin Resource Sharing)を常時許可
#	リクエストヘッダに Origin が含まれる場合に、nl側でレスポンスヘッダに
#	  Access-Control-Allow-Credentials: true
#	  Access-Control-Allow-Origin: <Originの値>
#	を付加します。結果として、全てのサイトで XMLHttpRequest level 2 を
#	使ったクロスドメインリクエストが通るようになります
#	※true にした場合はセキュリティホールとなり得るので注意が必要です
alwaysAllowOrigin=false


# NicoCache_nl+111225mod
# ------------------------- ページ置換・その他 -------------------------

# フォルダの更新監視を無効 [S] (Java7以降のみ)
#	フォルダの更新監視に何か問題があった場合のみ true に設定すると、
#	従来通りにリクエスト毎に更新をチェックする(ただしレスポンスは悪い)
#	※Java7 より前のバージョンでは常に無効です
disableDirectoryWatcher=false

# JAR が更新されたら終了 [S] (Java7以降のみ)
#	この値が0より大きい場合、NicoCache_nl.jar が上書き等で更新されると
#	この値を終了コードとして NicoCache_nl の実行を終了する
#	添付の起動スクリプトでは終了コードをチェックして再起動します
exitStatusIfJarModified=25


# NicoCache_nl+110522mod
# ------------------------- ページ置換・その他 -------------------------

# フィルタファイルの更新チェック間隔 (ミリ秒)
#	リクエスト処理時に、前回更新チェックしてからここで指定した時間
#	以内であれば、フィルタファイルの更新チェックをスキップします
#	基本的にチェック間隔は長い方が連続リクエスト時の効率は良いですが、
#	頻繁にフィルタを修正する人は5秒程度に留めておくのが良いです
#	Java7 以降でフォルダの更新監視が有効の場合は、リクエスト処理時に
#	更新チェックしないので設定を変更しても意味がありません
nlFilterCheckInterval=5000


# NicoCache_nl+110411mod
# ----------------------------- サムネ関係 -----------------------------

# サムネイルキャッシュをブラウザが保持する日数
#	この値が0より大きい場合、Cache-Control ヘッダを付加してサムネを
#	ブラウザに指定日数だけサムネイルを保持させようとします
#	thcacheMode=folder の場合のみ有効
#	デフォルト値はニコ動のサムネ鯖が返す値と同じです(150日=12960000秒)
thcacheExpires=150

# ------------------------- キャッシュ保存関係 -------------------------

# 動画ID→キャッシュID 対応ファイル [S]
#	smidと動画鯖へリクエストするIDが異なる場合に、動画IDをsmidに対応
#	付ける情報を保存するためのファイルを指定します
#	getflvでIDが異なることを検出した場合は都度書き出します
#	また、ファイルが更新されていれば自動で読み込みます(手動変更OK)
vid2cidFile=local/vid2cid.json

# 削除動画IDの指定 (数値のみ)
#	smidと動画鯖へリクエストするIDが異なる場合に、削除動画と判断する
#	ための動画IDに完全一致する正規表現で指定します
#	通常、削除された動画に対してはgetflvがdeleted付きで返ってきますが、
#	一部の動画ではdeleted無しで削除動画のIDを返してくるので、ここで
#	指定した動画IDにマッチする場合はdeletedとして扱います
deletedVideoId=543715[4-7]|163809(?:20|62|96)|173920(?:25|40|55)


# NicoCache_nl+110219mod
# ------------------------- ページ置換・その他 -------------------------

# 書き換え処理のデフォルト文字セット
#	書き換え処理対象から文字セットが取得出来なかった場合に使用する
#	文字セットを指定します。この値を指定しない場合は、文字セットが
#	取得出来ない場合に書き換え処理を行いません(以前の動作)
rewriterDefaultCharset=ISO-8859-1


# NicoCache_nl+101219mod
# ----------------------------------------------------------------------
# 以下は NicoCache_nl (9).12 からデフォルト値を変更したいもの
# 10_NicoCache_nl.properties には上書きを考慮して未だ反映していません
# あと、本家 00_NicoCache.properties と重複する記述は削除したいなぁ…
touchCache=true
checkRealCache=true
cacheThumbnail=true
thcacheMode=folder

# 以前のデフォルト値が良い人は、上記を全てコメントアウトすれば良いと思うよ


# -------------------- ローカルファイルサーバー関係 --------------------

# ローカルファイルサーバ機能 (true/false)
#	プロキシ接続では無く、NicoCache_nl自体にリクエスト要求した場合に
#	ローカルファイルを参照できるようになります
#	http://localhost:8080/Readme.txt とか表示できるようになります
localFileServer=true

# ローカルファイルの書き換え処理を行う (true/false)
#	ローカルファイルに対する書き換え処理を有効にします
#	現状、nlFilterのみ機能します(他のRewriterは内部で抑制しています)
#	既存のnlFilterは MatchLocal = TRUE を記述しないとマッチしません
localRewriter=true

# ローカルファイル用のContent-Type設定ファイル
#	ローカルファイルサーバ機能、およびに/local/以下に適用されます
#	書式は Apache のものと同じなので直接指定することもできます
mimeTypes=local/mime.types


# ------------------------- ページ置換・その他 -------------------------

# 書き換え処理を行うContent-Typeの指定
#	書き換え処理を行うContent-Typeに部分一致する正規表現を記述します
#	ここで指定したContent-Type以外は安全のため書き換え処理を行いません
#	ただし、Content-Typeが存在しない場合は書き換え処理を行います
#	nlFilterの場合はContentType=を記述していればそちらを優先します
rewriterContentType=^text/|javascript|/xml|/json|application/x-www-form-urlencoded

# 書き換え処理を行わない拡張子の指定
#	書き換え処理を行う必要が無い拡張子に完全一致する正規表現を記述します
#	ここで指定した拡張子で終わるURL(パラメータ部分は除外します)は
#	書き換え処理の冒頭で弾かれるので処理効率が良くなります
rewriterExtIgnore=gif|jpe?g|png|bmp|ico|flv|mp4|swf

# 読み込みを行わないnlFilterの指定
#	読み込みたくないnlFilterのファイル名に部分一致する正規表現を記述します
#	以下は99_3列Filter.txtを読み込まずに99_3列Filter+mod.txtを利用する記述
nlFilterIgnore=^99_3列Filter(_mine)?\.txt$


# ----------------------------- サムネ関係 -----------------------------

# サムネイルキャッシュ時の転送タイムアウト (ミリ秒)
#	指定時間以内に転送が終わらない場合、次のサムネ鯖から再取得します
#	混雑時間帯にいつまで経っても読み込みが終わらない事への対策です
#	thcacheMode=folder の場合のみ有効、5000未満の値は設定できません
#	なお、同時タイムアウトを避けるために10%のゆらぎを設けています
thcacheTimeout=10000


# ------------------------ メモリキャッシュ関係 ------------------------

# 外部サムネをメモリにキャッシュする (true/false)
cacheExtThumb=true

# 外部サムネを最大何件キャッシュするか
cacheExtThumbMax=500

# 外部サムネキャッシュの寿命(秒単位)
cacheExtThumbExpire=3600


# NicoCache_nl+150304mod+161224mod
# ----------------------------------------------------------------------

# どの範囲が取得済みかを格納したファイルを何秒おきに更新するか
#   (拡張子の最後の文字が_になっているnltmpファイル)
mapFileUpdatingInterval=30


# NicoCache_nl+150304mod+161226mod
# ----------------------------------------------------------------------

# 非dmcのflvがキャッシュ済みの時にmp4が要求された場合に変換して応答 [S]
#   ffmpegコマンドが実行できる場所に存在する必要がある
#   flvのコーデックがh264/{mp3,aac}ではない場合は
#   h264/mp3に変換するので応答に時間がかかる．
#   falseの場合は処理せずに素通しする．
convertFlv2Mp4=false

# flv2mp4変換で変換した一時mp4ファイルを置く場所
#   空にするとシステムのデフォルトの一時フォルダを使用する
# [NicoCache_nl+150304mod+170322mod] 廃止．常にconvertedCacheFolderに生成
#flv2mp4TmpDir=


# NicoCache_nl+150304mod+170106mod
# ----------------------------------------------------------------------

# dmcサーバからFLV形式の動画をキャッシュしない
#   nlFilterではtrueにするとflv形式のdmcキャッシュは無視する
disableCacheDmcFlv=false


# NicoCache_nl+150304mod+170111mod
# ----------------------------------------------------------------------

# 再エンコードされていない非dmcキャッシュを持っていたら使う
useNotReEncodedCache=true

# 再エンコードされている非dmcキャッシュを自動削除
#   trueにすると高画質なdmc動画をキャッシュした時に
#   非dmcキャッシュが再エンコードされたものなら削除する．
#   また，再エンコードされていない非dmc動画をキャッシュ
#   したときにdmc動画を削除する．
removeReEncodedCache=true


# NicoCache_nl+150304mod+170114mod
# ----------------------------------------------------------------------

# ストリーミング検出時にメッセージを表示しない
disableStreamingWarning=false


# NicoCache_nl+150304mod+170120mod
# ----------------------------------------------------------------------

# キャッシュ再開時と中断時にキャッシュ済みの割合を表示する
reportCachingProgress=true


# NicoCache_nl+150304mod+170320mod
# ----------------------------------------------------------------------

# 処理に時間のかかったフィルタを表示 (ミリ秒)
#  指定した値(ミリ秒)以上，処理に時間のかかったフィルタを表示する．
#  0を指定すると表示しない．
slowFilter=2000

# nlFilterプロファイラ
#   処理に時間のかかったフィルタを時間のかかった方から最大10件を表示する．
#   表示される時間はマッチングにかかった時間のみならず
#   該当するキャッシュの存在チェックなど関連する処理を全て含めた時間です．
#   初回は最初に処理したフィルタだけ時間がかかると言った事態が発生しますので
#   正確には2回以上アクセスした時の結果を参照してください．
enableFilterProfiler=false


# NicoCache_nl+150304mod+170322mod
# ----------------------------------------------------------------------

# 大サイズ(.Mや.L)のサムネイルをキャッシュする (true/false)
#   thcacheMode=folder の時のみ機能する．
thcacheLargeSize=true

# ローカルで変換して生成したmp4をキャッシュするフォルダ [S]
#	パスの区切り"\"は"\\"にエスケープ必須です。"/"でも可能
#   *注* キャッシュフォルダとは異なるフォルダを指定してください．
#   指定しなかった場合のデフォルトフォルダ名: cvcache
convertedCacheFolder=cvcache


# NicoCache_nl+150304mod+170414mod
# ----------------------------------------------------------------------

# キャッシュの置き換え時に最終更新日時を維持
#   trueにすると，エコノミーキャッシュを通常キャッシュで置き換えるときに
#   通常キャッシュの最終更新日時をエコノミーキャッシュのものに設定する．
keepCacheLastModified=false


# NicoCache_nl+150304mod+170425mod
# ----------------------------------------------------------------------

# 非dmcの通常キャッシュを持っている場合にdmcのエコノミー時に使用
#   非dmcの通常キャッシュを持っているがdmcの高画質なキャッシュを持っておらず，
#   かつ，アクセス時にdmcのエコノミーだった場合，この設定がtrueならば
#   非dmcの通常キャッシュを代わりに使用する．
useSmileCacheInsteadOfDmcEconomy=true


# NicoCache_nl+150304mod+170509mod
# ----------------------------------------------------------------------

# NicoCache_nl内部で処理するPOSTリクエストの最大長
#   POSTされたデータがこのサイズを超えると，次のような処理が行われなくなる．
#   ・フィルタでのPOST書き換え
#   ・Processorがnullを返した時に次のProcessorの処理
#   デフォルト値: 16MiB
postSizeMax=16777216


# NicoCache_nl+150304mod+170513mod
# ----------------------------------------------------------------------

# flv2mp4で生成されるmp4キャッシュをFlashでも再生可能にする (true/false)
#   trueにするとflv2mp4変換時に音声コーデックとしてaacを強制する．
#   つまりaacではない場合はaacに変換する．エンコードにさらに時間がかかるようになる．
flv2Mp4AdaptToFlash=false
