WKSKEY-2.0
==================
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.
Main Features
-----------------
- Modular Service Handling: WKSKEY-2.0 has a modular structure that separates logic for each streaming service into individual modules. Currently, it supports two services: prime and astro. Each module can handle service-specific DRM requests, including how they handle parameters, cookies, and data sent in requests.
- Automatic Key Retrieval: Using PSSH data provided or extracted from the URL MPD, WKSKEY-2.0 can automatically request and process Widevine keys, simplifying the process of obtaining keys for decryption purposes.
- High Flexibility: Users can easily add support for new services by creating new service modules and integrating them into the main script.
Usage
-----
To use WKSKEY-2.0, users need to specify the Widevine license URL and other options through command-line arguments. Here's a basic usage example:
Adding New ServicesCode:python main.py --license-url [URL_LICENSE] --mpd-url [URL_MPD] --service prime
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, the new module can be integrated into main.py by adding a special condition for the service in the function get_license_keys.
Directory Structure
- modules/: Contains modules used for device configuration and DRM processing.
- services/: A per-service module that provides service-specific logic for handling DRM requests and processing.
- main.py: The main script that coordinates the key retrieval and processing process.
Contribution
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.
Source: https://github.com/ThatNotEasy/Widevine-KSKEY
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays!
Try StreamFab Downloader and download streaming video from Youtube, Netflix, Amazon! Download free trial.
+ Reply to Thread
Results 1 to 8 of 8
Thread
-
Last edited by apidotmy; 15th May 2024 at 03:40. Reason: repo
-
Hello,
Thanks for the work.
I think that the main.py file should not be modified every time we add a service or that service requires something special.
Maybe you have to put a "functions.py" where it is created, for example:
def getWwidevineShape2Challenge(challenge):
return data['widevine2Challenge'] = b64encode(challenge).decode()
And so on with the different formats and from any service that requires that format, which calls that function and returns it from the service to main.py.
Same with the response "license_b64 = response.json()["widevine2License"]["license"]"
In this way, getFormaWwidevine2Challenge could be used in several services without having to modify main.py.
Greetings -
Last edited by apidotmy; 15th May 2024 at 03:39. Reason: typo
-
do you have any info how to make it work. how to configure our CDM in this version?
-
-
-
is there anyone who could explain how to make WKSKEY 2.0 work. Old WKS is easy to configure but not him. I would like to have the explanation of how and what to do so that detects my CDM please.