diff --git a/.gitignore b/.gitignore
index f173435..7fa8ef9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,4 +8,3 @@ build
main.spec
pyinstallericon.ico
icon.ico
-dist/
\ No newline at end of file
diff --git a/README.md b/README.md
index 6554597..d2243ed 100644
--- a/README.md
+++ b/README.md
@@ -2,11 +2,6 @@
## CDRM-Project
   
-
-## 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
diff --git a/cdrm-frontend/dist/index.html b/cdrm-frontend/dist/index.html
index 837c3ff..054707f 100644
--- a/cdrm-frontend/dist/index.html
+++ b/cdrm-frontend/dist/index.html
@@ -1,21 +1,21 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ data.tab_title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ data.tab_title }}
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/configs/icon_links.py b/configs/icon_links.py
index 07812fe..38714f8 100644
--- a/configs/icon_links.py
+++ b/configs/icon_links.py
@@ -1,5 +1,5 @@
data = {
- 'discord': '#',
- 'telegram': '#',
- 'gitea': 'https://github.com/tpd94/cdrm-project-2.0'
+ 'discord': 'https://discord.cdrm-project.com/',
+ 'telegram': 'https://telegram.cdrm-project.com/',
+ 'gitea': 'https://cdm-project.com/tpd94/cdm-project'
}
\ No newline at end of file
diff --git a/configs/index_tags.py b/configs/index_tags.py
index dcbfee2..2b4a6dd 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': '',
- 'opengraph_url': '',
+ 'opengraph_image': 'https://cdrm-project.com/og-home.jpg',
+ 'opengraph_url': 'https://cdm-project.com/tpd94/cdrm-project',
'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': '',
- 'opengraph_url': '',
+ 'opengraph_image': 'https://cdrm-project.com/og-cache.jpg',
+ 'opengraph_url': 'https://cdrm-project.com/cache',
'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': '',
- 'opengraph_url': '',
+ 'opengraph_image': 'https://cdrm-project.com/og-testplayer.jpg',
+ 'opengraph_url': 'https://cdrm-project.com/testplayer',
'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': '',
- 'opengraph_url': '',
+ 'opengraph_image': 'https://cdrm-project.com/og-api.jpg',
+ 'opengraph_url': 'https://cdrm-project.com/api',
'tab_title': 'API',
}
}
\ No newline at end of file
diff --git a/custom_functions/prechecks/cdm_checks.py b/custom_functions/prechecks/cdm_checks.py
index 4b83aa4..1ff81ca 100644
--- a/custom_functions/prechecks/cdm_checks.py
+++ b/custom_functions/prechecks/cdm_checks.py
@@ -8,7 +8,22 @@ 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'] == '':
- exit(f"Please put the name of your Widevine CDM inside of {os.getcwd()}/configs/config.yaml")
+ 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")
else:
base_name = config["default_wv_cdm"]
if not base_name.endswith(".wvd"):
@@ -22,7 +37,22 @@ 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'] == '':
- exit(f"Please put the name of your PlayReady CDM inside of {os.getcwd()}/configs/config.yaml")
+ 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")
else:
base_name = config["default_pr_cdm"]
if not base_name.endswith(".prd"):