Files
Vineless/devices/sg_sample_cdrm_wv.json
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

61 lines
1.9 KiB
JSON

{
"type": "WIDEVINE",
"device_name": "public",
"device_type": "ANDROID",
"host": "https://cdrm-project.com/remotecdm/widevine",
"name_override": "SuperGeneric Sample for CDRM-Project Widevine",
"security_level": 3,
"system_id": 22590,
"sg_api_conf": {
"headers": {
"Content-Type": "application/json"
},
"generateChallenge": [
{
"method": "GET",
"url": "/{device_name}/open",
"sessionIdResKeyName": "data.session_id"
},
{
"method": "POST",
"url": "/{device_name}/set_service_certificate",
"sessionIdKeyName": "session_id",
"serverCertKeyName": "certificate",
"serverCertOnly": true
},
{
"method": "POST",
"url": "/{device_name}/get_license_challenge/AUTOMATIC",
"bodyObj": {
"privacy_mode": true
},
"sessionIdKeyName": "session_id",
"psshKeyName": "init_data",
"challengeKeyName": "data.challenge_b64"
}
],
"parseLicense": [
{
"method": "POST",
"url": "/{device_name}/parse_license",
"sessionIdKeyName": "session_id",
"licenseKeyName": "license_message"
},
{
"method": "POST",
"url": "/{device_name}/get_keys/CONTENT",
"sessionIdKeyName": "session_id",
"contentKeysKeyName": "data.keys"
},
{
"method": "GET",
"url": "/{device_name}/close/%s"
}
],
"keyParseRules": {
"keyKeyName": "key",
"kidKeyName": "key_id"
},
"messageKey": "message"
}
}