Added proxy support.
This commit is contained in:
23
decrypt.py
23
decrypt.py
@@ -19,7 +19,7 @@ except:
|
||||
|
||||
|
||||
# Defining decrypt function
|
||||
def decrypt_content(in_pssh: str = None, license_url: str = None, headers: dict = None, mpd: str = None) -> list:
|
||||
def decrypt_content(in_pssh: str = None, license_url: str = None, headers: dict = None, mpd: str = None, proxy: str = None) -> list:
|
||||
|
||||
# prepare pssh
|
||||
pssh = PSSH(in_pssh)
|
||||
@@ -36,12 +36,21 @@ def decrypt_content(in_pssh: str = None, license_url: str = None, headers: dict
|
||||
# Generate the challenge
|
||||
challenge = cdm.get_license_challenge(session_id, pssh)
|
||||
|
||||
# send license challenge
|
||||
license = requests.post(
|
||||
url=license_url,
|
||||
headers=headers,
|
||||
data=challenge
|
||||
)
|
||||
if proxy:
|
||||
# send license challenge
|
||||
license = requests.post(
|
||||
url=license_url,
|
||||
headers=headers,
|
||||
data=challenge,
|
||||
proxies={'http': proxy}
|
||||
)
|
||||
else:
|
||||
# send license challenge
|
||||
license = requests.post(
|
||||
url=license_url,
|
||||
headers=headers,
|
||||
data=challenge
|
||||
)
|
||||
|
||||
# Parse the license if it comes back in plain bytes
|
||||
try:
|
||||
|
||||
7
main.py
7
main.py
@@ -27,6 +27,11 @@ def post_endpoint():
|
||||
# Get the MPD url
|
||||
mpd = data['manifest_url']
|
||||
|
||||
# Get the proxy if there is one
|
||||
if data['proxy'] != None:
|
||||
proxy = data['proxy']
|
||||
print(proxy)
|
||||
|
||||
# Format the headers
|
||||
|
||||
# Split the string into lines
|
||||
@@ -43,7 +48,7 @@ def post_endpoint():
|
||||
print(json.dumps(headers_dict, indent=4))
|
||||
|
||||
try:
|
||||
keys = decrypt_content(in_pssh=pssh, license_url=lic_url, headers=headers_dict, mpd=mpd)
|
||||
keys = decrypt_content(in_pssh=pssh, license_url=lic_url, headers=headers_dict, mpd=mpd, proxy=proxy)
|
||||
return {"keys": keys}
|
||||
except Exception as error:
|
||||
return {"keys": [f'{error}']}
|
||||
|
||||
Reference in New Issue
Block a user