widevine_keys icon indicating copy to clipboard operation
widevine_keys copied to clipboard

Peacock get PSSH failed

Open PuMa2006 opened this issue 3 years ago • 22 comments

With Peacock l3.py simply can't even get pssh from mpd

Input MPD URL: https://e0e005bd81f241e9b59d2fbf8addde0f.mediatailor.us-west-2.am azonaws.com/v1/dash/6f3f45fea6332a47667932dede90d20a96f2690c/peacock-cmaf-dash-v od-2s-021821/pub/global/iS4/968/PCK_1637605188890.8127_01/cmaf/mpeg_cenc_2sec/ma ster_cmaf.mpd?aws.sessionId=a8bfc3db-3d20-40e9-8385-6fc0349e0600&c3.ri=125194738 12177933808 License URL: https://ovp.peacocktv.com/drm/widevine/ Traceback (most recent call last): File "C:\Users\Helen\Documents\widevine_keys-main\l3.py", line 24, in

pssh = get_pssh(MDP_URL)

File "C:\Users\Helen\Documents\widevine_keys-main\getPSSH.py", line 8, in get_ pssh tracks = mpd['MPD']['Period']['AdaptationSet'] TypeError: list indices must be integers or slices, not str

PuMa2006 avatar Dec 10 '21 22:12 PuMa2006

Enough of these stupid child pywidevine based tools. We need Chrome CDM and extension. We need another Satsuoni, another Tommer. Ain't nobody got time to bother with Headers and License URL and PSSH and Python scripts and EME Logger and JSON.DUMPS and shit...

yeah, you just stupid and like monkey needed two button program, so it's not for you, just go f-off

PuMa2006 avatar Dec 10 '21 22:12 PuMa2006

fixed

medvm avatar Dec 11 '21 01:12 medvm

Enough of these stupid child pywidevine based tools. We need Chrome CDM and extension. We need another Satsuoni, another Tommer. Ain't nobody got time to bother with Headers and License URL and PSSH and Python scripts and EME Logger and JSON.DUMPS and shit...

Why don't you do it yourself? You'll just be there barking like a dog, you look so pathetic that's all

huliad2022 avatar Dec 11 '21 02:12 huliad2022

I must be missing something in the headers of Peacock because when I try it, I get either Response 403 or Response 400 but no actual keys.

I also tried the license URL with and without "bt=" and still no go.

RedPenguin2 avatar Dec 11 '21 07:12 RedPenguin2

I must be missing something in the headers of Peacock because when I try it, I get either Response 403 or Response 400 but no actual keys.

I also tried the license URL with and without "bt=" and still no go.

403 it's cause you need US IP to get the keys or refer to license server

400 -- yes, cause looks like Peacock need additional json params

PuMa2006 avatar Dec 11 '21 12:12 PuMa2006

I must be missing something in the headers of Peacock because when I try it, I get either Response 403 or Response 400 but no actual keys.

I also tried the license URL with and without "bt=" and still no go.

copy correct request as curl, text here

medvm avatar Dec 11 '21 17:12 medvm

I must be missing something in the headers of Peacock because when I try it, I get either Response 403 or Response 400 but no actual keys. I also tried the license URL with and without "bt=" and still no go.

copy correct request as curl, text here

here you go:

https://ff877e3318004defa8d187b671d96811.mediatailor.us-east-1.amazonaws.com/v1/dash/6f3f45fea6332a47667932dede90d20a96f2690c/peacock-cmaf-dash-vod-2s-021821/pub/global/iS4/968/PCK_1637605188890.8127_01/cmaf/mpeg_cenc_2sec/master_cmaf.mpd?aws.sessionId=a5390272-d079-40a1-8678-2a2624e272f0&c3.ri=3778550010247784911

mpd

headers (curl to py)

https://ghostbin.com/snMUq

Looks like that peacock, like kinopoisk and many others site needs some token to be applied to get keys

PuMa2006 avatar Dec 11 '21 17:12 PuMa2006

With the token, everything is fine here, just the license request should be sent not in base64, but in binary form.

medvm avatar Dec 11 '21 18:12 medvm

Some mpd don't have pssh How do I get it Any Help

zxx511 avatar Dec 11 '21 18:12 zxx511

I must be missing something in the headers of Peacock because when I try it, I get either Response 403 or Response 400 but no actual keys. I also tried the license URL with and without "bt=" and still no go.

403 it's cause you need US IP to get the keys or refer to license server

400 -- yes, cause looks like Peacock need additional json params

I have a US IP.

I have extremely similar headers to the poster above, so I guess I need to figure out how to send as binary form.

RedPenguin2 avatar Dec 11 '21 18:12 RedPenguin2

It is not a problem to send a license request in binary form, but your site requires not only it, but also some additional information and also in binary form. First you need to figure out what kind of data it is. explanation

medvm avatar Dec 11 '21 18:12 medvm

It is not a problem to send a license request in binary form, but your site requires not only it, but also some additional information and also in binary form. First you need to figure out what kind of data it is. explanation

Thanks for the info. I will keep giving it a try.

I can sense I am getting closer and closer to pay dirt, but I am just not there quite yet.

RedPenguin2 avatar Dec 12 '21 02:12 RedPenguin2

I must be missing something in the headers of Peacock because when I try it, I get either Response 403 or Response 400 but no actual keys. I also tried the license URL with and without "bt=" and still no go.

copy correct request as curl, text here

here you go:

https://ff877e3318004defa8d187b671d96811.mediatailor.us-east-1.amazonaws.com/v1/dash/6f3f45fea6332a47667932dede90d20a96f2690c/peacock-cmaf-dash-vod-2s-021821/pub/global/iS4/968/PCK_1637605188890.8127_01/cmaf/mpeg_cenc_2sec/master_cmaf.mpd?aws.sessionId=a5390272-d079-40a1-8678-2a2624e272f0&c3.ri=3778550010247784911

mpd

headers (curl to py)

https://ghostbin.com/snMUq

Looks like that peacock, like kinopoisk and many others site needs some token to be applied to get keys

А как вы на peacock заходите? У меня через британский vpn показывает заглушку р недоступности. Мне для теста нужна живая лицензия

medvm avatar Dec 13 '21 12:12 medvm

Так сервис-то американский :) Через него и захожу

PuMa2006 avatar Dec 13 '21 12:12 PuMa2006

Там x-sky-signature поле в заголовке генерируется динамически для каждого запроса, причем запрос, возвращающий сигнатуру я не нашел. image

medvm avatar Dec 13 '21 13:12 medvm

I was told sky.js is what generates the signature if that helps.

RedPenguin2 avatar Dec 13 '21 21:12 RedPenguin2

I was told sky.js is what generates the signature if that helps.

I'll try, it's just not very convenient to test through VPN

medvm avatar Dec 14 '21 13:12 medvm

https://forum.kodi.tv/showthread.php?tid=355867 it looks like getting keys from this service will be quite difficult

medvm avatar Dec 17 '21 07:12 medvm

https://forum.kodi.tv/showthread.php?tid=355867 it looks like getting keys from this service will be quite difficult

I've seen around it done by a few people. (They wouldn't share their method 100% though).

I also found https://github.com/T3rry7f/NoDRM/issues/9

I do know the trick is in the Javascript.

I've heard personas and user-token along with x-sky-signature and x-sky-usertoken.

There main trick I'm told is that there are hmac signatures that's really the main issue.

I wish I had more info, but this is all that I gathered so far.

I have spent time looking in Web Console but I am new to hmac type stuff.

RedPenguin2 avatar Dec 17 '21 07:12 RedPenguin2

With Peacock l3.py simply can't even get pssh from mpd

Input MPD URL: https://e0e005bd81f241e9b59d2fbf8addde0f.mediatailor.us-west-2.am azonaws.com/v1/dash/6f3f45fea6332a47667932dede90d20a96f2690c/peacock-cmaf-dash-v od-2s-021821/pub/global/iS4/968/PCK_1637605188890.8127_01/cmaf/mpeg_cenc_2sec/ma ster_cmaf.mpd?aws.sessionId=a8bfc3db-3d20-40e9-8385-6fc0349e0600&c3.ri=125194738 12177933808 License URL: https://ovp.peacocktv.com/drm/widevine/ Traceback (most recent call last): File "C:\Users\Helen\Documents\widevine_keys-main\l3.py", line 24, in

pssh = get_pssh(MDP_URL)

File "C:\Users\Helen\Documents\widevine_keys-main\getPSSH.py", line 8, in get_ pssh tracks = mpd['MPD']['Period']['AdaptationSet'] TypeError: list indices must be integers or slices, not str

I have managed to get PSSH for Peacock. But it couldn't grab the keys.

Traceback (most recent call last): File "/content/widevine_keys/l3.py", line 130, in correct, keys = WV_Function(pssh, lic_url) File "/content/widevine_keys/l3.py", line 52, in WV_Function data=f'token={headers.token}&provider={headers.provider}&payload={str(request, "utf-8" )}' AttributeError: module 'headers' has no attribute 'token'

I copied the curl command into the header.py after converting it into python but it's asking for some token! Can anyone help?

Randomcoolguy123 avatar Dec 17 '21 16:12 Randomcoolguy123

With Peacock l3.py simply can't even get pssh from mpd Input MPD URL: https://e0e005bd81f241e9b59d2fbf8addde0f.mediatailor.us-west-2.am azonaws.com/v1/dash/6f3f45fea6332a47667932dede90d20a96f2690c/peacock-cmaf-dash-v od-2s-021821/pub/global/iS4/968/PCK_1637605188890.8127_01/cmaf/mpeg_cenc_2sec/ma ster_cmaf.mpd?aws.sessionId=a8bfc3db-3d20-40e9-8385-6fc0349e0600&c3.ri=125194738 12177933808 License URL: https://ovp.peacocktv.com/drm/widevine/ Traceback (most recent call last): File "C:\Users\Helen\Documents\widevine_keys-main\l3.py", line 24, in

pssh = get_pssh(MDP_URL)

File "C:\Users\Helen\Documents\widevine_keys-main\getPSSH.py", line 8, in get_ pssh tracks = mpd['MPD']['Period']['AdaptationSet'] TypeError: list indices must be integers or slices, not str

I have managed to get PSSH for Peacock. But it couldn't grab the keys.

Traceback (most recent call last): File "/content/widevine_keys/l3.py", line 130, in correct, keys = WV_Function(pssh, lic_url) File "/content/widevine_keys/l3.py", line 52, in WV_Function data=f'token={headers.token}&provider={headers.provider}&payload={str(request, "utf-8" )}' AttributeError: module 'headers' has no attribute 'token'

I copied the curl command into the header.py after converting it into python but it's asking for some token! Can anyone help?

You can try putting token = '' (blank) to get it to go past that. You might run in to further issues down the road though. I have only gotten so far, myself.

RedPenguin2 avatar Dec 17 '21 22:12 RedPenguin2

With Peacock l3.py simply can't even get pssh from mpd Input MPD URL: https://e0e005bd81f241e9b59d2fbf8addde0f.mediatailor.us-west-2.am azonaws.com/v1/dash/6f3f45fea6332a47667932dede90d20a96f2690c/peacock-cmaf-dash-v od-2s-021821/pub/global/iS4/968/PCK_1637605188890.8127_01/cmaf/mpeg_cenc_2sec/ma ster_cmaf.mpd?aws.sessionId=a8bfc3db-3d20-40e9-8385-6fc0349e0600&c3.ri=125194738 12177933808 License URL: https://ovp.peacocktv.com/drm/widevine/ Traceback (most recent call last): File "C:\Users\Helen\Documents\widevine_keys-main\l3.py", line 24, in

pssh = get_pssh(MDP_URL)

File "C:\Users\Helen\Documents\widevine_keys-main\getPSSH.py", line 8, in get_ pssh tracks = mpd['MPD']['Period']['AdaptationSet'] TypeError: list indices must be integers or slices, not str

I have managed to get PSSH for Peacock. But it couldn't grab the keys.

Traceback (most recent call last): File "/content/widevine_keys/l3.py", line 130, in correct, keys = WV_Function(pssh, lic_url) File "/content/widevine_keys/l3.py", line 52, in WV_Function data=f'token={headers.token}&provider={headers.provider}&payload={str(request, "utf-8" )}' AttributeError: module 'headers' has no attribute 'token'

I copied the curl command into the header.py after converting it into python but it's asking for some token! Can anyone help?

The same happens to me :(

anonyymous2021 avatar Jan 10 '22 16:01 anonyymous2021