Ingan121
92bca46aee
* Implement proper support for 'webm' initDataType instead of relying on previously logged PSSH with same KID
...
* Still prefer saved logs from same-origin to prevent duplicate entries
* Fix remove individual log button not working with new logs with origin data
2025-08-31 14:38:41 +09:00
Ingan121
658fad9a6b
* Isolate incognito logs to incognito windows
...
* Use an array instead of an object with useless and duplicate internal log identifier keys, when exporting log JSON
2025-08-31 12:59:09 +09:00
Ingan121
1a03a7e484
Use temp storage for logs from incognito windows
2025-08-30 23:58:41 +09:00
Ingan121
721d964c5c
Disable persistence for incognito windows
2025-08-30 23:46:04 +09:00
Ingan121
de8ce64157
Fix persistent randomly failing
2025-08-30 23:31:04 +09:00
Ingan121
26653092b9
Misc
2025-08-30 21:23:31 +09:00
Ingan121
5d7991f9fa
Check sessionTypes instead of persistentState when denying, just like the real CDM
2025-08-30 20:44:07 +09:00
Ingan121
11637a784f
* Fix the collapse button bar in dark mode
...
* Fix mks.remove() and the session remover in panel UI ignoring the origin
* Misc logic changes
2025-08-30 19:56:39 +09:00
Ingan121
55a910e4fe
* Refactor the persistent log saving logic to use one log entry for all sessions associated with a pssh on a specific origin
...
* Some other misc refactor
* Auto reload all command boxes when changing the command options
* Add origin isolation to prevent cross-origin fingerprinting, etc. with webm-type initData or persistent licenses
* Logs from different origins can have duplicate entries even if pssh is same
2025-08-30 19:30:45 +09:00
Ingan121
19d14fb28b
* Small redesign after the merge
...
* Fix 'some' coding style inconsistencies (but there are still many)
* Also make the command options collapsible, and save the collapsed state
* Next commit: change the decision of keeping duplicate sessions for persistent sessions
2025-08-30 15:34:10 +09:00
Ingan121
43274a6115
Merge pull request #10 from SunilPrasadRegmi/master
...
Please Merge this Brother!!!
2025-08-30 14:20:33 +09:00
Sunil Prasad Regmi
f79b9652b5
Merge branch 'Ingan121:master' into master
2025-08-29 20:25:19 +05:45
Sunil Prasad Regmi
312fa127e2
Update README.md
2025-08-29 20:21:36 +05:45
Sunil Prasad Regmi
a4976332b8
Update README.md
2025-08-29 20:20:37 +05:45
Sunil Prasad Regmi
4837d3a87a
Fixup Yeah!
2025-08-29 20:16:29 +05:45
Sunil Prasad Regmi
af64409715
Added More Functionality So Users Can Have Less Annoy
...
yes! i mean that
2025-08-29 20:09:26 +05:45
Sunil Prasad Regmi
242c329b22
Update panel.css
2025-08-29 19:59:03 +05:45
Sunil Prasad Regmi
6de5c7b2c4
Update panel.js To Support New Handy Features
2025-08-29 19:57:34 +05:45
Sunil Prasad Regmi
39653dfd8a
Prepare for saving commands and not limiting to Shaka Packager
...
yeah, i am saying that.!
2025-08-29 19:49:28 +05:45
Ingan121
d563b48912
Misc
2025-08-29 23:02:06 +09:00
Ingan121
e4eff06567
* Support removing individual log entries
...
* Fix scrolling to top when clicking the copy links
2025-08-29 22:58:18 +09:00
Ingan121
c856ab9d07
Support persistence regardless of browser CK handler's persistence support
2025-08-29 22:33:35 +09:00
Ingan121
a10eef88bf
* Add a separate error viewer popup for long errors
...
* Block persistentState: required keySystemAccess if persistence is disallowed
* Finish persistent license support
* Tested on https://biograf-155113.appspot.com/ttt/episode-2/ , it's a bit broken so you should put sessionId in IndexedDB manually with the console
2025-08-29 20:22:15 +09:00
Ingan121
7bb893e31e
* Some refactor for persistent license support
...
* Always use the JS-facing sessionId for internal handling (on both WV and PR) for simplicity
* Replace dirty string-based inter-script communication with JSON one
* Not tested yet at all due to lack of functional test material
2025-08-28 23:51:14 +09:00
Ingan121
bbd73bd587
* Prefer decoded WRM Header instead of raw base64 initData on PlayReady remote, unless sg_api_conf.prPsshAsIs: true
...
* It is always used for logging regardless of that SG conf, to prevent duplicate log entries when switching PR local and remote
2025-08-28 12:49:05 +09:00
Ingan121
ea549d7d9a
Add getStatusForPolicy hook
2025-08-27 23:31:30 +09:00
Ingan121
0749632fa4
Misc optimization
2025-08-27 20:59:55 +09:00
Ingan121
6a41be227d
* Omit {secret} header if it's not provided in JSON
...
* Allow SuperGeneric devices to be imported without having a base URL set ('host' key)
* Abort remote requests if expected key is not found
* Prevent duplicate log entries if a entry was added while the panel was open
2025-08-27 20:56:51 +09:00
Ingan121
9e429479d1
Misc
2025-08-27 00:41:28 +09:00
Ingan121
1c48859e90
* Misc panel UI change
...
* Remove old dark mode config leftover
2025-08-26 22:52:33 +09:00
Ingan121
0e9486393a
* New dark mode styles bcs why not
...
* Partly inspired by ingan121.com/index.css
2025-08-26 22:33:43 +09:00
Ingan121
7309882004
* Add newline to exported remote devices
...
* Fix the toggle switch (to remove profile) not getting enabled when switching from <no origin> to a overridden origin
2025-08-26 20:57:39 +09:00
Ingan121
ca90cbac2a
* Don't show the reload button when editing profiles of another site
...
* Fix typo in the codebase
2025-08-26 20:17:48 +09:00
Ingan121
88f743d5a5
* Allow putting device names dynamically in the SuperGeneric API URL field
...
* Prevent importing invalid device files
* Misc panel UI changes
* Allow removing site profiles without actually visiting the page
* Fix special characters in the back of the site scope label going to the front of the label
* Fix encoding and formatting of the exported log JSON files
* Remove unused code
2025-08-26 20:09:35 +09:00
Ingan121
4254856826
Ignore invalid serverCert config
2025-08-25 23:19:00 +09:00
Ingan121
b4726880f1
* Fix Local Widevine not actually setting the server certificate
...
* Fix keys from Bitmovin demo mistakenly being included in hardcoded.js (in contradiction of the comments above)
2025-08-25 23:17:44 +09:00
Ingan121
a249a8d6ae
Misc consistency
2025-08-25 22:26:02 +09:00
Ingan121
aa1b0ff95e
Misc
2025-08-25 20:52:44 +09:00
Ingan121
e262977381
Fix server certificates not being used with "webm" initType in Widevine Remote
2025-08-25 20:48:00 +09:00
Ingan121
706310c25b
Fix borked manifest combobox
2025-08-25 20:27:53 +09:00
Ingan121
4e9e7cf7ba
* Add support for forced client ID encryption mode
...
* One more refactor to remove redundancy
2025-08-25 20:15:11 +09:00
Ingan121
0a69dc3204
* More friendly error messages for remote failures
...
* Prevent error message showing when a page calls close() on unload
* Add support for server certificates for Widevine remote
2025-08-24 22:56:14 +09:00
Ingan121
330988d926
Misc
2025-08-23 22:56:57 +09:00
Ingan121
2c51730486
Misc design change
2025-08-23 22:53:46 +09:00
Ingan121
ba9d4c6a52
* Better error notification (prevent unnecessary multiple notifs, etc.)
...
* Add support for overwriting devices
2025-08-23 22:47:08 +09:00
Ingan121
7797ebf6b3
* Update HardcodedDevice to reflect the code change that mandated returning sessionKey
2025-08-23 21:01:56 +09:00
Ingan121
665853f6da
* Refactor to use the same device interface when parsing license (attempt to make it survive config changes mid-run)
...
* Better error handling for the panel
* Fix error message not showing if an empty content key array is returned from the remote server
* Fix PlayReady remote not working with raw pyplayready serve
2025-08-23 20:32:28 +09:00
Ingan121
6cabc3c1ce
Remove remote workflow queueing that is indeed useless and impossible to fix
2025-08-23 15:42:33 +09:00
Ingan121
460b1d4546
* Remove unused argument
...
* Temp commit that adds queueing for remote requests (attempt to fix CDRM invalidating second sessions)
* Will be removed in the next commit cuz I realized queueing the whole workflow (getReq+parseLic) is not possible if webpage generateRequests in parallel
2025-08-23 15:41:29 +09:00
Ingan121
f19ecf5fc1
Add support for intercepting ClearKey EME requested with decodingInfo
2025-08-23 01:10:23 +09:00