【ニコ生】新配信録画ツール(仮、livedl Part10at SOFTWARE
【ニコ生】新配信録画ツール(仮、livedl Part10 - 暇つぶし2ch202:名無しさん@お腹いっぱい。
26/07/03 22:28:07.32 19KBsbkB0.net
二段階認証は切り替えできるのね
SlNicoLiveRec使う時だけ外せばいいのか

それにしてもuser_sessionの値が違っていてもログインできましたと出るのね
あの表示は当てにしない方がいいんだね

203:nnn-revo2012
26/07/03 22:41:39.41 y0k944TJ0.net
>>202
>それにしてもuser_sessionの値が違っていてもログインできましたと出るのね
>あの表示は当てにしない方がいいんだね

ちょっと前にもここに書いたけど
・Streamlinkのプラグインは実際にログインできたかの確認はしていない
・SlNicoLiveRecはStreamlinkを呼び出すだけのツールなのでその辺は関知しない(というより知らない)
なので「実際には」ログインできなくてもそう表示される
これはStreamlink、SlNicoLiveRecの仕様

昔からニコ生のツールを作ってきた人はニコニコのそういう仕様に詳しくて実際にログインできたかどうかとかチェックしてたけど、海外製のツールやニコニコの仕様に詳しくない人がツールを作るとこうなるっていう事例
例えれば前者は「かゆいところに手が届く」ってところ
そういう意味ではAES128暗号化されたのってユーザーには痛手でしたねw

204:nnn-revo2012
26/07/04 13:35:16.34 6Lr15kCV0.net
Streamlinkのニコ生プラグインの仕様
・--niconico-user-sessionはcacheより優先順位が高い(cacheがあっても必ず引数の値を使用する)
 ※この時user_sessionの有効無効はStreamlinkは確認しない
・user_sessionまたはuser/passでログインして成功した場合必ずuser_sessionが保存される
・下記の3.と4.は既にcacheがあると必ずcacheのuser_sessionが使用されuser/passログインはされない
 ※この時user_sessionの有効無効はStreamlinkは確認しない
・下記の3.と4.で強制的にログインしたい場合はcacheのsessionを削除する(--niconico-purge-credentials)
・ログインなしで使用する場合はcacheのsessionを削除する(--niconico-purge-credentials)
 (またはStreamlinkで一度もログインしていない場合は不要)

nicolive.py の def niconico_web_login(self): の実際の処理
1.引数でuser_sessionが指定されている場合はその値をcookieにセットしsessionに保存して処理を続ける
 ※この時user_sessionの有効無効はStreamlinkは確認しない
2.plugin-cacheにuser_sessionがあればその値をcookieにセットして処理を続ける
 ※この時user_sessionの有効無効はStreamlinkは確認しない
3.引数でuser/passが指定されている場合はログインしてuser_sessionが取得できればsessionに保存して処理を続ける
4.3.でMFAだった場合(user_sessionがない)MFAログインしてuser_sessionが取得できればsessionに保存して処理を続ける
 ※3.と4.ではそのuser_sessionは必ず有効

205:名無しさん@お腹いっぱい。
26/07/04 16:57:19.89 fdE24+3L0.net
user_sessionが変わるならuser/passでログインしておいた方が良さそう

206:nnn-revo2012
26/07/04 17:39:27.13 6Lr15kCV0.net
>>205
>user_sessionが変わるならuser/passでログインしておいた方が良さそう

既にcacheがあると必ずcacheのuser_sessionが使用されuser/passログインはされない
 ※この時user_sessionが無効でもStreamlinkは確認しないので永遠にログインされない

なのでどっちもユーザーが自分で気づかない限り永久にわからない仕様
なおかつSlNicoLiveRecはuser/passログインの際に2段階認証できないしその場合エラーが出ないのでおすすめしない
※海外からのログインやクリ奨もらってるアカウントは2段階認証を解除できないため

>>204の仕様を踏まえ、どう設定するかは自分がどういう頻度で(ニコニコの他のツールやブラウザーも踏まえ)使ってるか次第
ログインの仕組みはStreamlink(SlNicoLiveRec)だけでなく録画ツール、チェックツール、NCV、ニコ動のツール、ニコニコ実況のツールまで共通だから

207:nnn-revo2012
26/07/04 18:01:34.48 6Lr15kCV0.net
>>206
自己レス
・user_sessionがそもそも何者か?(ニコニコのcookieの値でユーザーのデータを示す)
・user_sessionの値はブラウザやスマホ、外部ツールでログインする度新規に作られる
・user_sessionの有効期限はログイン時から1年(スマホだともっと長いともいわれてる)
・user_sessionはログインログアウトを繰り返すと古いuser_sessionから有効期限関係なく無効になる
・最近はニコ生に過剰アクセスのためBOT判定した場合にもuser_sessionは無効になるらしい

これがuser_sessionの仕様で、最後の2つが特に外部ツールを使ってるときに困るのでは、と

208:名無しさん@お腹いっぱい。
26/07/04 19:36:20.50 5cyOOVs80.net
・user_sessionの値はブラウザやスマホ、外部ツールでログインする度新規に作られる
→新規に作られるけどそれぞれで生成されたuser_sessionが無効になるわけではない
同一アカウントで複数user_session共存可能

・最近はニコ生に過剰アクセスのためBOT判定した場合にもuser_sessionは無効になるらしい
→2回ぐらいでたことあるけど、いずれの場合も無効にならなかったからこの情報は怪しい

209:nnn-revo2012
26/07/04 19:54:42.15 6Lr15kCV0.net
>>208
>→新規に作られるけどそれぞれで生成されたuser_sessionが無効になるわけではない
>同一アカウントで複数user_session共存可能
これはその通りですねすみません
で、同一アカウントでブラウザ、スマホ、外部ツールなどで新規にログインを繰り返すと複数user_session共存してるものの中で古いものが無効になるというのが仕様らしい というのが正確なところ
その回数やどのタイミングというのは言うまでもなくニコニコ側から公開されていませんしされないでしょう

BOT判定うんぬんについても違ってるかもしれません それはすみません
BOT判定自体実際発生してるようだが、それがニコニコがBOTと判定してるかからかどうかという情報すら公開されていない(はず?な)のでこの手の情報は全て推測です

210:nnn-revo2012
26/07/04 22:08:00.74 6Lr15kCV0.net
>>209
>で、同一アカウントでブラウザ、スマホ、外部ツールなどで新規にログインを繰り返すと複数user_session共存してるものの中で古いものが無効になるというのが仕様らしい というのが正確なところ

追加訂正
で、同一アカウントでブラウザ、スマホ、外部ツールなどで新規にログインを繰り返すと複数user_session共存してるものの中で一番古いもの1つだけが順に無効になるというのがどうも仕様らしい
こういう仕様ってニコニコ側からはもちろん仕様公開されてないし、ぐぐったりAIに聞いても全く情報得られないのな

211:名無しさん@お腹いっぱい。
26/07/04 22:49:22.62 5cyOOVs80.net
昔は有志によるニコニコの技術ブログ等が充実してたけど
今はここかあっちの掲示板ぐらいかしか無いのかね…

212:名無しさん@お腹いっぱい。
26/07/05 01:09:41.76 ks1eoeU70.net
使う都度user_sessionを確認するしかないのかね

213:名無しさん@お腹いっぱい。
26/07/05 01:42:40.55 1C53OtZK0.net
そこまで意識しなくてもいいと思うけどね
194のケースが起こることの方が稀だから他の掲示板でも指摘がなかったわけで

214:nnn-revo2012
26/07/05 03:37:57.49 2ryZ8/SH0.net
user_sessionが無効(=ログインできてない)だとほとんどの場合タイムシフトを取得できないからその時点でわかるけど
チャンネルの有料放送は気づかないまま録画できるからその場合だけ面倒だね
Streamlink(SlNicoLiveRec)はfirefoxのcookieをそのまま指定できないから面倒なのね
yt-dlpはそれができるけどアレだしどっちもどっち
結論はAES128が(略

215:名無しさん@お腹いっぱい。
26/07/05 07:12:48.34 1K7S4pcc0.net
ラッパーexeを作ればよくね?

216:nnn-revo2012
26/07/05 09:02:28.61 2ryZ8/SH0.net
user_sessionのチェック
cookieにuser_sessionの値をSetしてドワンゴトップページかどこかにアクセス
※マイページや放送ページはトラブルで落ちてる可能性があるので

で、以下のどれか
・戻ってきたレスポンスヘッダの値を確認(x-niconico-authflag > 0 ログイン中)
 x-niconico-authflag自体存在しない場合も未ログインとみなす
・ページのヘッダにuser.login_status = 'login';があるか?
 ログインしてないとき user.login_status = 'not_login';
 もしくは上記文字自体存在しない場合
・ページの中にユーザー情報があるか?
 
ほかにも方法があるかもしれません

217:名無しさん@お腹いっぱい。
26/07/05 09:40:35.39 757IPQnd0.net
毎回cacheクリアしてuser/passでログインすればいいんじゃね?

218:nnn-revo2012
26/07/05 10:21:51.82 2ryZ8/SH0.net
>>217
それでよければそれでいいんじゃない
実際それでいいとは思うけど

219:名無しさん@お腹いっぱい。
26/07/05 10:24:02.65 1C53OtZK0.net
そこまで検証する必要があるのかとは思うけど・・・

自分の環境
・チェックツールは一般垢(フォローも同時にするから普段使いの方でフォローしてる人を監視されたくないから)
・録画用プレ垢とch録画用プレ垢(普段使い)を使う
・チェックツールからはch録画or通常録画のバッチを起動
→バッチ内でuser_sessionが記述されてるテキストファイルを読み込んで毎回引数でuser_session指定してStreamlink起動
・ニコ生メンテのタイミングでトップページでニコニコからログアウトしてログインし直してトップページにアクセスしてブラウザの開発者ツールからcookieのuser_sessionを取得してuser_sessionが記述されてるテキストファイルを新しいuser_sessionの値に更新(cookieの有効期限なんか1年くらいあるから問題ないけど)
・基本は480pで録画、推しは720pで録画(best指定ではなく画質は720p指定、27日リリースされる1080p60fps対応のため)、後で登録直後の人のTSを録画することもある

これでuser_session関係でなにも問題が起きたことがないしチャンネルも有料限定でもちゃんと録画できてる、TSの録画も出来る、プレ垢限定の720pの録画もできてる
そこまで検証しなくていいと思う

・ニコ生専用の環境を構築してキャッシュを消す or SlNicoLiveRecならキャッシュされたログイン資格情報を消去にチェック
・チェックツール用ツールは専用の一般垢を指定
これで普通に対応できると思う、要は使い方じゃない?
同じユーザーIDで色々なブラウザで開いたり、ツールで使わないようにすれば良いだけの話だと思う、チェックツールを分けるだけで効果あると思う

問題があるとしたら合言葉設定配信くらい、チェックツールで拾えないから

220:名無しさん@お腹いっぱい。
26/07/05 12:01:00.57 8cvGT/zl0.net
>>218
①毎回の頻度にもよるけどその都度ログインAPI叩くことになるから、それこそBot判定食らうリスク高い

②ログインのたびに新しいuser_sessionが発行されるから
他端末のセッションが押し出されて勝手にログアウトされる原因にもなる

③2段階認証必須の垢だと毎回確認求められる

何をもって「実際それでいいとは思うけど」って結論になる?
前提条件明確にしてくれないとさすがに一般ユーザーにはデメリットでかい

221:nnn-revo2012
26/07/05 12:13:56.46 2ryZ8/SH0.net
>>220
>何をもって「実際それでいいとは思うけど」って結論になる?
何度も同じこと説明するのめんどくさくなったからやりたきゃそれでいいよって意味

>>220 と使用頻度や他のツールとの兼ね合い(アカウント共用か分けてるか)
この辺もめんどくさくなったわ
頻繁にツール起動するヘヴィーユーザーさんなら問題になるけど、おそらく大多数の人は問題ないと思う
ヘヴィーなユーザーさんならこの辺ある程度わかってらっしゃるしなんか対策してるんじゃね?
プログラム作りに戻んないと

222:名無しさん@お腹いっぱい。
26/07/05 12:27:46.69 1C53OtZK0.net
>>218,220-221
自分の運用でbot扱いはされたことはない、ただチェックツールと録画用のアカウントは別にしたほうが無難だとは思うってのが正直な感想
注意点としては結果的に以下の通りかと
・チェックツールと録画アカウントをできるだけ共有しない
・共有するならそういうこともあるという想定は必要
・複数のツールやブラウザでログインすることは避けるべき(user_sessionが無駄に生成され場合によっては正しく動かない)

これはシステムで対応するのではなくて自分の環境を整備するべきだと思うけどな、こんなのにも対応してたキリがない


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch