From 4975988cf6c0f712b8b8d8f57ab2a66009944e2f Mon Sep 17 00:00:00 2001 From: FoxRefire <155989196+FoxRefire@users.noreply.github.com> Date: Mon, 13 May 2024 04:28:48 +0900 Subject: [PATCH] Attempt for corsFetch --- content.js | 2 +- python/schemes/Amazon.py | 3 +-- python/schemes/Comcast.py | 3 +-- python/schemes/RedBee.py | 9 ++------- python/schemes/VdoCipher.py | 4 +--- python/schemes/Youku.py | 3 +-- 6 files changed, 7 insertions(+), 17 deletions(-) diff --git a/content.js b/content.js index 1612812..6c70547 100644 --- a/content.js +++ b/content.js @@ -39,7 +39,7 @@ chrome.runtime.onMessage.addListener( console.log("DEBUG:"+JSON.stringify(request)) let res = fetch(request.u, { method: request.m, - headers: request.h, + headers: JSON.parse(request.h), body: request.b }).then((r)=>r.arrayBuffer()).then((r)=>{ sendResponse( diff --git a/python/schemes/Amazon.py b/python/schemes/Amazon.py index deef01d..5ceb36b 100644 --- a/python/schemes/Amazon.py +++ b/python/schemes/Amazon.py @@ -1,8 +1,7 @@ import urllib.parse -from pyodide.ffi import to_js payload = f"widevine2Challenge={urllib.parse.quote(base64.b64encode(challenge).decode())}&includeHdcpTestKeyInLicense=true" -res = await js.corsFetch(licUrl, "POST", to_js(licHeaders), payload) +res = await js.corsFetch(licUrl, "POST", json.dumps(licHeaders), payload) res = json.loads(base64.b64decode(res.encode()).decode()) licence = base64.b64decode(res['widevine2License']['license'].encode()) diff --git a/python/schemes/Comcast.py b/python/schemes/Comcast.py index 1b9c758..dabf0c2 100644 --- a/python/schemes/Comcast.py +++ b/python/schemes/Comcast.py @@ -1,7 +1,6 @@ -from pyodide.ffi import to_js req = json.loads(base64.b64decode(licBody.encode()).decode()) b64challenge = base64.b64encode(challenge).decode() req['licenseRequest'] = b64challenge -res = await js.corsFetch(licUrl, "POST", to_js(licHeaders), json.dumps(req)) +res = await js.corsFetch(licUrl, "POST", json.dumps(licHeaders), json.dumps(req)) res = json.loads(base64.b64decode(res.encode()).decode()) licence = base64.b64decode(res['license'].encode()) diff --git a/python/schemes/RedBee.py b/python/schemes/RedBee.py index da28ea4..57de21d 100644 --- a/python/schemes/RedBee.py +++ b/python/schemes/RedBee.py @@ -1,13 +1,8 @@ -from pyodide.ffi import to_js req = json.loads(base64.b64decode(licBody.encode()).decode()) b64challenge = base64.b64encode(challenge).decode() req['message'] = b64challenge -# res = await (await pyfetch(licUrl, -# method="POST", -# headers=licHeaders, -# body=req -# )).json() -res = await js.corsFetch(licUrl, "POST", to_js(licHeaders), json.dumps(req)) + +res = await js.corsFetch(licUrl, "POST", json.dumps(licHeaders), json.dumps(req)) res = json.loads(base64.b64decode(res.encode()).decode()) print(res) licence = base64.b64decode(res['license'].encode()) diff --git a/python/schemes/VdoCipher.py b/python/schemes/VdoCipher.py index 5eeafb4..7e6636e 100644 --- a/python/schemes/VdoCipher.py +++ b/python/schemes/VdoCipher.py @@ -1,5 +1,3 @@ -from pyodide.ffi import to_js - js.chrome.extension.getBackgroundPage().isBlock=False b64challenge = base64.b64encode(challenge).decode() @@ -8,7 +6,7 @@ decoded_token = json.loads(base64.b64decode(payload['token']).decode()) decoded_token['licenseRequest'] = b64challenge payload = {"token": base64.b64encode(json.dumps(decoded_token).encode()).decode()} -res = await js.corsFetch(licUrl, "POST", to_js(licHeaders), json.dumps(payload)) +res = await js.corsFetch(licUrl, "POST", json.dumps(licHeaders), json.dumps(payload)) res = json.loads(base64.b64decode(res.encode()).decode()) licence = base64.b64decode(res["license"].encode()) diff --git a/python/schemes/Youku.py b/python/schemes/Youku.py index 1190b75..b9589ee 100644 --- a/python/schemes/Youku.py +++ b/python/schemes/Youku.py @@ -1,11 +1,10 @@ import urllib.parse -from pyodide.ffi import to_js payload = urllib.parse.parse_qs(base64.b64decode(licBody.encode()).decode()) challengeB64 = base64.b64encode(challenge).decode() payload['licenseRequest'] = challengeB64 payload = urllib.parse.urlencode(payload) -res = await js.corsFetch(licUrl, "POST", to_js(licHeaders), payload) +res = await js.corsFetch(licUrl, "POST", json.dumps(licHeaders), payload) res = json.loads(base64.b64decode(res.encode()).decode()) licence = base64.b64decode(res['data'].encode())