jrudess / streamdvr

DVR for streaming entertainment
GNU General Public License v3.0
67 stars 16 forks source link

[Feature Request] Support for sessionid/devicetoken for Pixiv login #145

Closed henao941 closed 3 years ago

henao941 commented 5 years ago

Could you add support for sessionid and devicetoken to be used instead of the username/password login process. There's been a bug in streamlink were you can't use username/password to login anymore to pixiv, but sessionid/devicetoken can still be used.

This is the link to were the bug is discussed, https://github.com/streamlink/streamlink/issues/2515.

The command to set your sessionid/devicetoken are --pixiv-devicetoken and --pixiv-sessionid. I believe after that streamlink uses plugin-cache.json save your cache sessionid and devicetoken until it expires.

YuuichiMizuoka commented 4 years ago

I think those features where added with https://github.com/streamlink/streamlink/pull/2529 :)

as you said, its now possible to use --pixiv-sessionid and --pixiv-devicetoken to set the session id and device token

jrudess commented 3 years ago

Are you manually modifying m3u8_streamlink.sh to add the --pixiv-sessionid and --pixiv-devicetoken options to streamlink? If so, I can add a field in pixiv.yml for user-defined recorder options and pass them to the record scripts.

NanaKG commented 3 years ago

I was going to create a request for the same thing. The --pixiv-sessionid and --pixiv-devicetoken options are in the most recent streamlink build by default, you dont have to modify files for it. I can use it to log in on a old streamlink file I have set up with python. I tried to copy the pixiv.py file and put it into the ubuntu version that I use for streamdvr but I still recieve the "error:No playable streams found on this URL"

jrudess commented 3 years ago

All site.yml files now allow passing custom arguments to youtube-dl or streamlink for both looking up m3u8/online-status as well as launching recordings.

For this use case, you can add the following to ~/.config/streamdvr/pixiv.yml to setup the sessionid and devicetoken for pixiv:

m3u8fetch_args:
  - "--pixiv-sessionid bleh"
  - "--pixiv-devicetoken bleh"
recorder_args:
  - "--pixiv-sessionid bleh"
  - "--pixiv-devicetoken bleh"