Utiliza un submodulo de widevine
ejemplo:
https://github.com/CrackerCat/video_decrypter
transforma los tokens JWT con:
https://jwt.io/ (Debugger)
Obtenga su clave de verificacion de netflix de la siguiente forma:
busque la solicitud:
tipo: POST
LT:
x-netflix.client.request.name:
ui/cl
cookie
clSharedContext=
memclid= (Donde sera distribuido el cliente y dato normalmente es algo asi: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx)
lhpuuidh-browse-(Cliente)= Distribuido
los videos provienen desde nflxvideo.net
headers:
busque la siguiente URL:
donde indica parametro uno va su ciudad abreviada ejemplo miami => mia
https://www.netflix.com/{Parametro1}/playapi/cadmium/logblob/1
reqAttempt=1
&reqPriority=0
&clienttype=XX
&uiversion=v9000b4e7 (cambia cada mes)
&browsername=chrome
&browserversion=CC
&osname=ZZ
&osversion=CC
Netflix tiene varios tipos de reproductores internos, el mas frecuente es akira.js
luego regrese al proyecto de github mencionado anteriormente
busque la carpeta <scripts>
- urls_episodes.txt establezca los enlaces blob del contenido o MPD ( en netflix llamado
www.netflix.com/nq/msl_v1/cadmium/pbo_manifests )
En los manifiestos encontrara un header encriptado de forma asíncrona ve a jwt.io y sigue paso por paso las encriptaciones:
Ver el archivo adjunto 403367
Ver el archivo adjunto 403369
finalmente reemplace de la siguiente forma:
type-ip: ipv4 o ipv6
{type-ip}-{sequencenumber}-{ciudad-abreviada}{rango dinamico de 000 a 999}-{compañia telefonica}-isp.1.{continente}.nflxvideo.net/range/{desde 0}-{incremente en 25,000}?o={segunda imagen primer elemento reemplaza = por _ y subtituya las 0 por _}-{primeta imagen ultimo / del primer elemento}&v=5&e={primera imagen expiration}&t={segunda imagen parametro iv}
Ver el archivo adjunto 403373
las primeras letras debe ser su ciudad abreviada de caso contrario no funcionara.
guarde este archivo en el script de github
video_decrypter/examples/
licence_key.txt
y ejecute el proceso
script_download.py
luego
script_decrypt.py y luego
script_video.py