mirror of
https://github.com/DevLARLEY/WidevineProxy2.git
synced 2026-04-02 10:39:02 +00:00
9b52bd0c3a56f14080a0fd19c5dc1db4cc89a63b
WidevineProxy2
An extension-based proxy for Widevine EME challenges and license messages.
Modifies the challenge before it reaches the web player and obtains the decryption keys from the response.
Features
- User-friendly / GUI-based
- Bypasses one-time tokens, hashes and license wrapping
- JavaScript native Widevine implementation
- Supports Widevine Device files
- Manifest V3 compliant
Widevine Devices
This addon requires a Widevine Device file to work, which is not provided by this project.
- Follow this guide if you want to dump your own device.
- Ready-to-use Widevine Devices can be found on the VideoHelp forum.
Compatibility
- Compatible (tested) browsers: Firefox/Chrome on Windows/Linux.
- Works with any service that accepts challenges from Android devices on the same endpoint.
Installation
- Chrome
- Download this repository as a ZIP file
- Navigate to
chrome://extensions/ - Enable
Developer mode - Click
Load unpackedand the select downloaded file
- Firefox
- Persistent installation
- Download the XPI file from the releases section
- Navigate to
about:addons - Click the settings icon and choose
Install Add-on From File... - Select the downloaded file
- Temporary installation
- Download this repository as a ZIP file
- Navigate to
about:debugging#/runtime/this-firefox - Click
Load Temporary Add-on...and select the downloaded file
- Persistent installation
Setup
- Once installed, open the extension, click
Choose Fileand select your Widevine Device file. - The files are saved in the extension's
chrome.storage.syncstorage and will be synchronized across any browsers into which the user is signed in with their Google account. - Due to the sync storage limit of 100KB, the maximum amount of installable of devices at the same time is ~30.
- Check
Enabledto activate the message interception and you're done.
Usage
All the user has to do is to play a DRM protected video and the decryption keys should appear in the Keys group box (if the service is not unsupported, as stated above).
Keys are saved:
- Temporarily until the extension is either refreshed manually (if installed temporarily) or a removal of the keys is manually initiated.
- Permanently in the extension's
chrome.storage.localstorage until manually wiped or exported via the command line.
Issues
- DRM playback won't work when the extension is disabled and EME Logger is active. This caused by my fix for dealing with EME Logger interference (solutions are welcome).
Demo
Disclaimer
- This program is intended solely for educational purposes.
- Do not use this program to decrypt or access any content for which you do not have the legal rights or explicit permission.
- Unauthorized decryption or distribution of copyrighted materials is a violation of applicable laws and intellectual property rights.
- This tool must not be used for any illegal activities, including but not limited to piracy, circumventing digital rights management (DRM), or unauthorized access to protected content.
- The developers, contributors, and maintainers of this program are not responsible for any misuse or illegal activities performed using this software.
- By using this program, you agree to comply with all applicable laws and regulations governing digital rights and copyright protections.
Credits
Description
An extension-based proxy for Widevine EME challenges and license messages. Modifies the challenge before it reaches the web player. Bypasses Hashes, one-time-tokens and license wrapping.
chrome-addonchrome-extensiondrmdrm-bypassencrypted-mediaencrypted-media-extensionsfirefox-addonfirefox-extensionforgenode-widevineprotobufjspywidevineweb-extensionswidevinewidevine-dlwidevine-drmwidevine-l3-decryptor
Readme
GPL-3.0
4.9 MiB
Languages
JavaScript
92.6%
HTML
4.5%
CSS
2.9%