Commit Graph

30 Commits

Author SHA1 Message Date
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
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
ea549d7d9a Add getStatusForPolicy hook 2025-08-27 23:31:30 +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
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
Ingan121
3e1000227a * Add proper support for pyplayready remote API
* Merge SuperGeneric with the normal remote mode
* Refactor the previous non-generic remote CDM code to use SuperGeneric with generated default API config
* Improve error handling and notification
* Fix removing a remote device of a system messing with the other system's selected remote device
* Log tab titles and use that for generating m3u8dl commands
2025-08-22 23:23:30 +09:00
Ingan121
227d078f78 Add back PlayReady support for SuperGeneric 2025-08-22 17:27:27 +09:00
Ingan121
462dbfb41b * Show more friendly error messages for remote API failures
* Return a Widevine EME disabled on Firefox+Widevine (just like the real message) when WV is blocked
* Refactor SuperGeneric to be more flexible about number of requests
2025-08-18 23:41:30 +09:00
Ingan121
6068a747b1 * Improve panel UI
* Finish SuperGeneric
* Add support for PlayReady remote device (never tested cuz I don't own one)
* Fix ClearKey not working when blockDisabled is enabled
* Notify background script failures
2025-08-17 16:47:57 +09:00
Ingan121
6632b952a0 * Some major refactor
* Improve the custom scope input UI
2025-08-16 17:05:20 +09:00
Ingan121
4544369780 * Show some text for empty origins to allow clicking it to load different site's profile
* Update readme
* Fix typo
2025-08-14 22:37:39 +09:00
Ingan121
ab7a05657e * Completely disable the content script injection when it's globally disabled
* Ignore per-site enabled config if globally disabled
* Show button to reload the current tab after changing the config
* Show active icon in the panel UI if active
2025-08-11 23:36:02 +09:00
Ingan121
0ff4b4638e * Add per-site config
* Completely disable EME hooks when disabled
* Add ClearKey toggle
* Add an option to block disabled key systems (for forcing pages to use a specific key system, without messing with the browser configs/files)
* Panel UI now follows the system/browser dark mode setting
* Show all saved logs
* Add badge text for active status indicator
2025-08-11 04:38:01 +09:00
Ingan121
0ec34da0bc * Add proper support for server certificates (only for local WV devices)
* Fix issues with some services that append extra data, which is not a PR WRM initData, to the WV PSSH
2025-07-21 20:39:24 +09:00
Ingan121
267b1c335b Fix the getRealConfiguration regression in the previous commit 2025-07-18 20:07:36 +09:00
Ingan121
d7574957a9 Fix more services 2025-07-17 23:43:11 +09:00
Ingan121
cc7ba7aada setServerCertificate fix when disabled 2025-07-17 08:39:48 +09:00
Ingan121
7757a60272 Misc
Mistake?
2025-07-16 21:30:13 +09:00
Ingan121
aee3c3081b Misc logging changes 2025-07-16 21:27:17 +09:00
Ingan121
42143619f0 * Fix some sites with server certificate usage not working (proper server cert support is not yet done) 2025-07-15 20:00:56 +09:00
Ingan121
5fe27eea28 * Finish the webm initType support
* Add active state indicator
* Prevent polluting the global namespace
2025-07-14 23:21:37 +09:00
Ingan121
5f89a4193c * Fix PRD remove button not working
* Trying to implement the "webm" type initData
  * Didn't fully understand the logic yet and just made it fail for now - which works quite well for triggering fallback
2025-07-07 23:55:18 +09:00
Ingan121
36df571076 * Fix audio/video codec support detection to check for real browser support for them
* Fix logic error when comparing the key system name
* Fix for services that checks all of the availalbe kids in keyStatus
  * Also work around for some services that expect flipped bytes
* Handle cases where a website sends a mixture of WV and PR PSSH
* Add handler for MediaKeySession.close
2025-07-06 20:45:27 +09:00
Ingan121
39121ae0e7 Remove an unnecessary log 2025-07-04 18:30:11 +09:00
Ingan121
157eb42fad Shim HTMLMediaElement.mediaKeys 2025-07-04 18:28:41 +09:00
Ingan121
4aad854427 Initial commit 2025-07-02 21:04:47 +09:00