From 024ffc83f7e831e6988fa17d236abd4410e08e3d Mon Sep 17 00:00:00 2001 From: TPD94 Date: Mon, 28 Apr 2025 17:22:38 -0400 Subject: [PATCH 1/4] Removed automatic CDM download for github maximum compliance --- cdrm-frontend/src/components/Pages/API.jsx | 4 +-- custom_functions/prechecks/cdm_checks.py | 34 ++-------------------- 2 files changed, 4 insertions(+), 34 deletions(-) diff --git a/cdrm-frontend/src/components/Pages/API.jsx b/cdrm-frontend/src/components/Pages/API.jsx index 065b8ac..5ecb003 100644 --- a/cdrm-frontend/src/components/Pages/API.jsx +++ b/cdrm-frontend/src/components/Pages/API.jsx @@ -104,7 +104,7 @@ print(requests.post(
PyWidevine RemoteCDM info -
+

Device Type: '{deviceInfo.device_type}'
System ID: {deviceInfo.system_id}
@@ -117,7 +117,7 @@ print(requests.post(

PyPlayready RemoteCDM info -
+

Security Level: {prDeviceInfo.security_level}
Host: {fullHost}/remotecdm/playready
diff --git a/custom_functions/prechecks/cdm_checks.py b/custom_functions/prechecks/cdm_checks.py index 1ff81ca..4b83aa4 100644 --- a/custom_functions/prechecks/cdm_checks.py +++ b/custom_functions/prechecks/cdm_checks.py @@ -8,22 +8,7 @@ def check_for_wvd_cdm(): with open(f'{os.getcwd()}/configs/config.yaml', 'r') as file: config = yaml.safe_load(file) if config['default_wv_cdm'] == '': - answer = ' ' - while answer[0].upper() != 'Y' and answer[0].upper() != 'N': - answer = input('No default Widevine CDM specified, would you like to download one from The CDM Project? (Y)es/(N)o: ') - if answer[0].upper() == 'Y': - response = requests.get(url='https://cdm-project.com/CDRM-Team/CDMs/raw/branch/main/Widevine/L3/public.wvd') - if response.status_code == 200: - with open(f'{os.getcwd()}/configs/CDMs/WV/public.wvd', 'wb') as file: - file.write(response.content) - config['default_wv_cdm'] = 'public' - with open(f'{os.getcwd()}/configs/config.yaml', 'w') as file: - yaml.dump(config, file) - print("Successfully downloaded Widevine CDM") - else: - exit(f"Download failed, please try again or place a .wvd file in {os.getcwd()}/configs/CDMs/WV and specify the name in {os.getcwd()}/configs/config.yaml") - if answer[0].upper() == 'N': - exit(f"Place a .wvd file in {os.getcwd()}/configs/CDMs/WV and specify the name in {os.getcwd()}/configs/config.yaml") + exit(f"Please put the name of your Widevine CDM inside of {os.getcwd()}/configs/config.yaml") else: base_name = config["default_wv_cdm"] if not base_name.endswith(".wvd"): @@ -37,22 +22,7 @@ def check_for_prd_cdm(): with open(f'{os.getcwd()}/configs/config.yaml', 'r') as file: config = yaml.safe_load(file) if config['default_pr_cdm'] == '': - answer = ' ' - while answer[0].upper() != 'Y' and answer[0].upper() != 'N': - answer = input('No default PlayReady CDM specified, would you like to download one from The CDM Project? (Y)es/(N)o: ') - if answer[0].upper() == 'Y': - response = requests.get(url='https://cdm-project.com/CDRM-Team/CDMs/raw/branch/main/Playready/SL2000/public.prd') - if response.status_code == 200: - with open(f'{os.getcwd()}/configs/CDMs/PR/public.prd', 'wb') as file: - file.write(response.content) - config['default_pr_cdm'] = 'public' - with open(f'{os.getcwd()}/configs/config.yaml', 'w') as file: - yaml.dump(config, file) - print("Successfully downloaded PlayReady CDM") - else: - exit(f"Download failed, please try again or place a .prd file in {os.getcwd()}/configs/CDMs/PR and specify the name in {os.getcwd()}/configs/config.yaml") - if answer[0].upper() == 'N': - exit(f"Place a .prd file in {os.getcwd()}/configs/CDMs/PR and specify the name in {os.getcwd()}/configs/config.yaml") + exit(f"Please put the name of your PlayReady CDM inside of {os.getcwd()}/configs/config.yaml") else: base_name = config["default_pr_cdm"] if not base_name.endswith(".prd"): From c8e89bb2a2e504be5c8789ce8a30a577a8fbe04a Mon Sep 17 00:00:00 2001 From: TPD94 Date: Mon, 28 Apr 2025 17:27:28 -0400 Subject: [PATCH 2/4] Update README.md --- README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7c175ed..6554597 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,11 @@ ## CDRM-Project ![forthebadge](https://forthebadge.com/images/badges/uses-html.svg) ![forthebadge](https://forthebadge.com/images/badges/uses-css.svg) ![forthebadge](https://forthebadge.com/images/badges/uses-javascript.svg) ![forthebadge](https://forthebadge.com/images/badges/made-with-python.svg) + +## GITHUB EDITION + > This version **DOES NOT** come with CDM's (Content Decryption Modules) or the link to automatically download them - A simple web search should help you find what you're looking for. +> + ## Prerequisites (from source only) - [Python](https://www.python.org/downloads/) version [3.12](https://www.python.org/downloads/release/python-3120/)+ with PIP and VENV installed @@ -30,5 +35,5 @@ - Extract CDRM-Project 2.0 git contents into the newly created `CDRM-Project` folder - Install python dependencies `pip install -r requirements.txt` - (Optional) Create the folder structure `/configs/CDMs/WV` and place your .WVD file into `/configs/CDMs/WV` - - (Optional) Create the folder structur `/config/CDMs/PR` and place your .PRD file into `/configs/CDMs/PR` + - (Optional) Create the folder structure `/config/CDMs/PR` and place your .PRD file into `/configs/CDMs/PR` - Run the application with `python main.py` From fa9353153c41a6eddb05f8a031915c6721b7b52c Mon Sep 17 00:00:00 2001 From: TPD94 Date: Mon, 28 Apr 2025 18:11:08 -0400 Subject: [PATCH 3/4] Update upstream, remove links from icons --- configs/icon_links.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configs/icon_links.py b/configs/icon_links.py index 38714f8..07812fe 100644 --- a/configs/icon_links.py +++ b/configs/icon_links.py @@ -1,5 +1,5 @@ data = { - 'discord': 'https://discord.cdrm-project.com/', - 'telegram': 'https://telegram.cdrm-project.com/', - 'gitea': 'https://cdm-project.com/tpd94/cdm-project' + 'discord': '#', + 'telegram': '#', + 'gitea': 'https://github.com/tpd94/cdrm-project-2.0' } \ No newline at end of file From 92b7df673e38272151318740707aaba7d7bcac38 Mon Sep 17 00:00:00 2001 From: TPD94 Date: Mon, 28 Apr 2025 18:13:01 -0400 Subject: [PATCH 4/4] Remove opengraph links --- configs/index_tags.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/configs/index_tags.py b/configs/index_tags.py index 2b4a6dd..dcbfee2 100644 --- a/configs/index_tags.py +++ b/configs/index_tags.py @@ -4,8 +4,8 @@ tags = { 'keywords': 'CDRM, Widevine, PlayReady, DRM, Decrypt, CDM, CDM-Project, CDRM-Project, TPD94, Decryption', 'opengraph_title': 'CDRM-Project', 'opengraph_description': 'Self Hosted web application written in Python/JavaScript utilizing the Flask/Tailwind Framework and ReactJS library to decrypt Widevine & Playready content', - 'opengraph_image': 'https://cdrm-project.com/og-home.jpg', - 'opengraph_url': 'https://cdm-project.com/tpd94/cdrm-project', + 'opengraph_image': '', + 'opengraph_url': '', 'tab_title': 'CDRM-Project', }, 'cache': { @@ -13,8 +13,8 @@ tags = { 'keywords': 'Cache, Vault, Widevine, PlayReady, DRM, Decryption, CDM, CDRM-Project, CDRM-Project, TPD94, Decryption', 'opengraph_title': 'Search the Cache', 'opengraph_description': 'Search the cache by KID or PSSH for decryption keys', - 'opengraph_image': 'https://cdrm-project.com/og-cache.jpg', - 'opengraph_url': 'https://cdrm-project.com/cache', + 'opengraph_image': '', + 'opengraph_url': '', 'tab_title': 'Cache', }, 'testplayer': { @@ -22,8 +22,8 @@ tags = { 'keywords': 'Shaka, Player, DRM, CDRM, CDM, CDRM-Project, TPD94, Decryption, CDM-Project, KID, KEY', 'opengraph_title': 'Test Player', 'opengraph_description': 'Shaka Player for testing decryption keys', - 'opengraph_image': 'https://cdrm-project.com/og-testplayer.jpg', - 'opengraph_url': 'https://cdrm-project.com/testplayer', + 'opengraph_image': '', + 'opengraph_url': '', 'tab_title': 'Test Player', }, 'api': { @@ -31,8 +31,8 @@ tags = { 'keywords': 'API, python, requests, send, remotecdm, remote, cdm, CDM-Project, CDRM-Project, TPD94, Decryption, DRM, Web, Vault', 'opengraph_title': 'API', 'opengraph_description': 'Documentation for the program "CDRM-Project"', - 'opengraph_image': 'https://cdrm-project.com/og-api.jpg', - 'opengraph_url': 'https://cdrm-project.com/api', + 'opengraph_image': '', + 'opengraph_url': '', 'tab_title': 'API', } } \ No newline at end of file