MCPcopy Index your code
hub / github.com/Ap0dexMe0/T00LK1D-WidePlay

github.com/Ap0dexMe0/T00LK1D-WidePlay @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
299 symbols 758 edges 87 files 13 documented · 4%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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!

Core symbols most depended-on inside this repo

get
called by 89
services/learnyst.py
handle
called by 22
modules/utils.py
setup_logging
called by 8
modules/logging.py
execute
called by 8
services/learnyst.py
used_proxy
called by 7
modules/proxy.py
run
called by 4
services/learnyst.py
process_data
called by 4
services/learnyst.py
_get_file
called by 4
services/learnyst.py

Shape

Function 223
Method 58
Class 16
Route 2

Languages

Python100%

Modules by API surface

services/learnyst.py54 symbols
modules/proxy.py19 symbols
modules/downloader.py16 symbols
modules/utils.py15 symbols
modules/pssh.py13 symbols
modules/license_retrieval.py8 symbols
modules/tracks.py6 symbols
services/skyshowtime.py5 symbols
main.py5 symbols
services/youtubetv.py4 symbols
services/virgintv.py4 symbols
services/vdocipher.py4 symbols

For agents

$ claude mcp add T00LK1D-WidePlay \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page