# nlフィルタ定義(文字コード判定用なのでこの行は削除しないこと)

#original 20170201
#Updated 20170409
#Updated 20170411
#Updated 20170420
#Updated 20170422
#Updated 20170521

[Replace]
Name = watch:有効期限切れの購入済み動画でキャッシュ利用
URL = www\.nicovideo\.jp/watch/[0-9]{1,12}
Require = &quot;isNeedPayment&quot;:true
ContentType = text/html
Match<
("|&quot;)(smileInfo\1:\{\1url\1:\1)\1
>
Replace<
$1$2http:\/\/www.nicovideo.jp/cache/<smid>/auto/movie$1
>

[Style]
Name = watch:催促文の表示
URL = www\.nicovideo\.jp/watch/[0-9]{1,12}
Require = &quot;isNeedPayment&quot;:true
Append<
.VideoPaymentLinkContainer{
display: none !important;
}
.InView.VideoContainer.is-dummy:before{
font-weight: 700;
font-size: 22px;
white-space: pre;
content: "有効期限切れの購入済み動画でキャッシュ利用:有効\A\A\A\A\A\A\A再生を開始するには\Aページをリロードしてください🔄\Aキャッシュがある場合は再生されます";
position: absolute;
top: 20%;
left: 15%;
}
>

[Replace]
Name = watch:isNeedPaymentステート書き換え
URL = www\.nicovideo\.jp/watch/[0-9]{1,12}
Require = &quot;isNeedPayment&quot;:true
ContentType = text/html
Match<
&quot;isNeedPayment&quot;:true
>
Replace<
&quot;isNeedPayment&quot;:false
>

#[Replace]
Name = flapi:公開されてない公式動画でキャッシュが使われないこと対策1
URL = flapi.nicovideo.jp/api/getflv
idGroup = 3
Match<
&url=&(link=http%3A%2F%2Fwww.smilevideo.jp%2Fview%2F(\d+)%2F)
>
Replace<
&url=http%3A%2F%2Fsmile-pcm42.nicovideo.jp%2Fsmile%3Fm%3D$2.0000&$1
>

[Replace]
Name = watch:公開されてない公式動画でキャッシュが使われないこと対策2 [zero ver]
Require = &quot;isNeedPayment&quot;:1
URL = www.nicovideo.jp/watch/
idGroup = 3
Match<
(,&quot;videoId&quot;:&quot;so(\d+)&quot;,[\s\S]*?,)&quot;isNeedPayment&quot;:1,
>
Replace<
$1
>