79 lines
2.2 KiB
Markdown
79 lines
2.2 KiB
Markdown
## WVGuesserExtension-NextGen
|
|
Extension works standalone.
|
|
|
|
Not anymore need WVCore.Server API setup!
|
|
|
|
Looking for legacy version?: https://github.com/FoxRefire/wvg/tree/legacy
|
|
|
|
### Instalation
|
|
|
|
1. Download or clone this code
|
|
2. At the same directory of `manifest.json`(root directory of this extension), put the one of the following Android L3 CDM file(s).
|
|
* Supported CDM Types
|
|
|
|
1\. `device.wvd`
|
|
|
|
2\. `device_client_id_blob` + `device_private_key`
|
|
|
|
3\. `client_id.bin` + `private_key.pem`
|
|
3. Install extension
|
|
|
|
* Firefox
|
|
|
|
1\. Navigate to `about:debugging#/runtime/this-firefox`
|
|
|
|
2\. Load temporary addon
|
|
|
|
* Chrome
|
|
|
|
1\. Navigate to `chrome://extensions/`
|
|
|
|
2\. Load unpacked
|
|
|
|
* Kiwi Browser(Android)
|
|
|
|
1\. Navigate to ︙ --> Extensions
|
|
|
|
2\. \+(from .zip/.crx/.user.js)
|
|
|
|
### Demo
|
|
[demo.webm](https://github.com/FoxRefire/wvg/assets/155989196/f2f41e88-1fc5-4954-89d4-3dc4552258e2)
|
|
|
|
|
|
### Todo
|
|
|
|
* Improve UI
|
|
* Localization
|
|
* JSON rules for License URL and scheme selection
|
|
|
|
For contributors, see here:
|
|
https://github.com/FoxRefire/wvg/blob/next/CONTRIBUTION.md
|
|
|
|
### Disclaimer
|
|
|
|
This extension is for educational and researchment purpose.
|
|
|
|
Only use it for content for which you own the rights and do not use it for piracy purposes.
|
|
|
|
### How it works?
|
|
|
|
![image](https://github.com/FoxRefire/wvg/assets/155989196/91a52607-9d24-4072-8c25-c4dc7d062415)
|
|
|
|
|
|
1. inject.js injected by content.js gets Widevine PSSH by hooking EME.
|
|
2. background.js fetches POST URLs/Headers
|
|
3. PSSHs will passed by this route inject.js-->content.js-->background.js-->popup.js
|
|
4. PSSHs+URLs+Headers will passed by this route background.js-->popup.js
|
|
5. popup.js will contols UI(popup.html)
|
|
6. User input into UI
|
|
7. popup.js calls pywidevine script using pyodide in browser
|
|
|
|
## Third-party libraries
|
|
* [Pyodide](https://github.com/pyodide/pyodide) ([MPL-2.0](https://github.com/pyodide/pyodide/blob/main/LICENSE))
|
|
* [Pywidevine](https://github.com/devine-dl/pywidevine) ([GPL-3.0](https://github.com/devine-dl/pywidevine/blob/master/LICENSE))
|
|
* [json-view](https://github.com/pgrabovets/json-view) ([MIT](https://github.com/pgrabovets/json-view/blob/master/LICENSE))
|
|
|
|
### Big Thanks and inspired by
|
|
https://github.com/emarsden/pssh-box-wasm/
|
|
|