Skip to content

This script is a tool designed to obtain Widevine keys from Media Presentation Description (MPD) URLs. It leverages the Widevine DRM (Digital Rights Management) system to retrieve the necessary keys for protected content playback.

Notifications You must be signed in to change notification settings

ThatNotEasy/T00LK1D-WidePlay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

T00LK1D-WidePlay

T00LK1D-WidePlay is a tool designed to obtain Widevine keys from Media Presentation Description (MPD) URLs. It uses a modular approach to handle various streaming services, allowing users to easily customize and expand its functionality according to their needs.

Table of Contents

  1. Introduction
  2. Features
  3. Installation
  4. Usage
  5. Directory Structure
  6. Adding New Services
  7. Contribution
  8. License

Introduction

T00LK1D-WidePlay is designed to streamline the process of obtaining Widevine keys required for decrypting DRM-protected content from streaming services. It supports a modular architecture, making it easy to extend functionality to new services.

Features

  • Modular Service Handling: Separate logic for each streaming service into individual modules.
  • Automatic Key Retrieval: Automatically requests and processes Widevine keys using PSSH data from MPD URLs.
  • High Flexibility: Easily add support for new services by creating and integrating new service modules.

Installation

To install T00LK1D-WidePlay, clone the repository and install the required dependencies:

git clone https://github.com/thatnoteasy/T00LK1D-WidePlay.git
cd T00LK1D-WidePlay
pip install -r requirements.txt

Usage

To use T00LK1D-WidePlay, specify the Widevine license URL and other options through command-line arguments. Create a new directory named device and place the .wvd CDM file in that directory. Refer to KeyDive for more information.

Basic:

python main.py --license-url [URL_LICENSE] --mpd-url [URL_MPD] --service bitmovin

With Proxy (COUNTRY CODE):

python main.py --license-url [URL_LICENSE] --mpd-url [URL_MPD] --service bitmovin -pp US

With Proxy (ROTAETE PROXY):

python main.py --license-url [URL_LICENSE] --mpd-url [URL_MPD] --service bitmovin -pp rotate

With Proxy (SCRAPE PROXY):

python main.py --license-url [URL_LICENSE] --mpd-url [URL_MPD] --service bitmovin -pp scrape

Netflix, Skyshowtime & HBOGO

python main.py -m "<WATCH_URL>" -s "skyshowtime"
python main.py -c "<CONTENT_ID>" -s "netflix"
python main.py -c "<CONTENT_ID>" -s "hbogo"

Directory Structure

  • modules: Contains modules used for device configuration and DRM processing.
  • services: Per-service modules that provide service-specific logic for handling DRM requests and processing.
  • main.py: The main script that coordinates the key retrieval and processing process.

Adding New Services

To add a new service, create a module in the services folder with an implementation that handles specific DRM requests from that service. The module should provide methods such as get_headers(), get_params(), get_cookies(), and get_data(). After that, integrate the new module into license_retrieval.py by adding a condition for the service in the function get_license_keys.

Contribution

Contributions to T00LK1D-WidePlay are greatly appreciated. If you have bug fixes, enhancements, or want to add support for new services, please make a pull request.

License

T00LK1D-WidePlay is released under the MIT License.


Feel free to reach out if you have any questions or need further assistance!

About

This script is a tool designed to obtain Widevine keys from Media Presentation Description (MPD) URLs. It leverages the Widevine DRM (Digital Rights Management) system to retrieve the necessary keys for protected content playback.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages