WKSKEY-2.0 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.
- Introduction
- Features
- Installation
- Usage
- Directory Structure
- Adding New Services
- Contribution
- License
WKSKEY-2.0 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.
- 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.
To install WKSKEY-2.0, clone the repository and install the required dependencies:
git clone https://github.com/yourusername/WKSKEY-2.0.git
cd WKSKEY-2.0
pip install -r requirements.txt
To use WKSKEY-2.0, specify the Widevine license URL and other options through command-line arguments. Here's a basic usage example:
python main.py --license-url [URL_LICENSE] --mpd-url [URL_MPD] --service bitmovin
python main.py --license-url [URL_LICENSE] --mpd-url [URL_MPD] --service bitmovin -pp US
python main.py --license-url [URL_LICENSE] --mpd-url [URL_MPD] --service bitmovin -pp rotate
python main.py --license-url [URL_LICENSE] --mpd-url [URL_MPD] --service bitmovin -pp scrape
python main.py -m "<WATCH_URL>" -s "skyshowtime"
python main.py -c "<CONTENT_ID>" -s "netflix"
python main.py -c "<CONTENT_ID>" -s "hbogo"
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.
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
.
Contributions to WKSKEY-2.0 are greatly appreciated. If you have bug fixes, enhancements, or want to add support for new services, please make a pull request.
WKSKEY-2.0 is released under the MIT License.
Feel free to reach out if you have any questions or need further assistance!