Skip to content

Latest commit

 

History

History
83 lines (60 loc) · 3.36 KB

README.md

File metadata and controls

83 lines (60 loc) · 3.36 KB

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!