forked from tpd94/CDRM-Project
		
	Fin
This commit is contained in:
		
							parent
							
								
									84dd67afba
								
							
						
					
					
						commit
						4382ff2e5f
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -8,4 +8,3 @@ build
 | 
				
			|||||||
main.spec
 | 
					main.spec
 | 
				
			||||||
pyinstallericon.ico
 | 
					pyinstallericon.ico
 | 
				
			||||||
icon.ico
 | 
					icon.ico
 | 
				
			||||||
dist/
 | 
					 | 
				
			||||||
@ -2,11 +2,6 @@
 | 
				
			|||||||
## CDRM-Project  
 | 
					## 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)
 | 
					## 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  
 | 
					 - [Python](https://www.python.org/downloads/) version [3.12](https://www.python.org/downloads/release/python-3120/)+ with PIP and VENV installed  
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										36
									
								
								cdrm-frontend/dist/index.html
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										36
									
								
								cdrm-frontend/dist/index.html
									
									
									
									
										vendored
									
									
								
							@ -1,21 +1,21 @@
 | 
				
			|||||||
<!doctype html>
 | 
					<!doctype html>
 | 
				
			||||||
<html lang="en" class="w-full h-full">
 | 
					<html lang="en" class="w-full h-full">
 | 
				
			||||||
  <head>
 | 
					  <head>
 | 
				
			||||||
    <meta charset="UTF-8" />
 | 
					    <meta charset="UTF-8" />
 | 
				
			||||||
    <link rel="icon" type="image/svg+xml" href="/favico.png" />
 | 
					    <link rel="icon" type="image/svg+xml" href="/favico.png" />
 | 
				
			||||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 | 
				
			||||||
    <meta name="description" content="{{ data.description }}"/>
 | 
					    <meta name="description" content="{{ data.description }}"/>
 | 
				
			||||||
    <meta name="keywords" content="{{ data.keywords }}"/>
 | 
					    <meta name="keywords" content="{{ data.keywords }}"/>
 | 
				
			||||||
    <meta property='og:title' content="{{ data.opengraph_title }}" />
 | 
					    <meta property='og:title' content="{{ data.opengraph_title }}" />
 | 
				
			||||||
    <meta property='og:description' content="{{ data.opengraph_description }}" />
 | 
					    <meta property='og:description' content="{{ data.opengraph_description }}" />
 | 
				
			||||||
    <meta property='og:image' content="{{ data.opengraph_image }}" />
 | 
					    <meta property='og:image' content="{{ data.opengraph_image }}" />
 | 
				
			||||||
    <meta property='og:url' content="{{ data.opengraph_url }}" />
 | 
					    <meta property='og:url' content="{{ data.opengraph_url }}" />
 | 
				
			||||||
    <meta property='og:locale' content='en_US' />
 | 
					    <meta property='og:locale' content='en_US' />
 | 
				
			||||||
    <title>{{ data.tab_title }}</title>
 | 
					    <title>{{ data.tab_title }}</title>
 | 
				
			||||||
    <script type="module" crossorigin src="/assets/index-DN7XJ__W.js"></script>
 | 
					    <script type="module" crossorigin src="/assets/index-DN7XJ__W.js"></script>
 | 
				
			||||||
    <link rel="stylesheet" crossorigin href="/assets/index-COb8XlA9.css">
 | 
					    <link rel="stylesheet" crossorigin href="/assets/index-COb8XlA9.css">
 | 
				
			||||||
  </head>
 | 
					  </head>
 | 
				
			||||||
  <body class="w-full h-full">
 | 
					  <body class="w-full h-full">
 | 
				
			||||||
    <div id="root" class="w-full h-full"></div>
 | 
					    <div id="root" class="w-full h-full"></div>
 | 
				
			||||||
  </body>
 | 
					  </body>
 | 
				
			||||||
</html>
 | 
					</html>
 | 
				
			||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
data = {
 | 
					data = {
 | 
				
			||||||
    'discord': '#',
 | 
					    'discord': 'https://discord.cdrm-project.com/',
 | 
				
			||||||
    'telegram': '#',
 | 
					    'telegram': 'https://telegram.cdrm-project.com/',
 | 
				
			||||||
    'gitea': 'https://github.com/tpd94/cdrm-project-2.0'
 | 
					    'gitea': 'https://cdm-project.com/tpd94/cdm-project'
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -4,8 +4,8 @@ tags = {
 | 
				
			|||||||
        'keywords': 'CDRM, Widevine, PlayReady, DRM, Decrypt, CDM, CDM-Project, CDRM-Project, TPD94, Decryption',
 | 
					        'keywords': 'CDRM, Widevine, PlayReady, DRM, Decrypt, CDM, CDM-Project, CDRM-Project, TPD94, Decryption',
 | 
				
			||||||
        'opengraph_title': 'CDRM-Project',
 | 
					        '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_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_image': 'https://cdrm-project.com/og-home.jpg',
 | 
				
			||||||
        'opengraph_url': '',
 | 
					        'opengraph_url': 'https://cdm-project.com/tpd94/cdrm-project',
 | 
				
			||||||
        'tab_title': 'CDRM-Project',
 | 
					        'tab_title': 'CDRM-Project',
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    'cache': {
 | 
					    'cache': {
 | 
				
			||||||
@ -13,8 +13,8 @@ tags = {
 | 
				
			|||||||
        'keywords': 'Cache, Vault, Widevine, PlayReady, DRM, Decryption, CDM, CDRM-Project, CDRM-Project, TPD94, Decryption',
 | 
					        'keywords': 'Cache, Vault, Widevine, PlayReady, DRM, Decryption, CDM, CDRM-Project, CDRM-Project, TPD94, Decryption',
 | 
				
			||||||
        'opengraph_title': 'Search the Cache',
 | 
					        'opengraph_title': 'Search the Cache',
 | 
				
			||||||
        'opengraph_description': 'Search the cache by KID or PSSH for decryption keys',
 | 
					        'opengraph_description': 'Search the cache by KID or PSSH for decryption keys',
 | 
				
			||||||
        'opengraph_image': '',
 | 
					        'opengraph_image': 'https://cdrm-project.com/og-cache.jpg',
 | 
				
			||||||
        'opengraph_url': '',
 | 
					        'opengraph_url': 'https://cdrm-project.com/cache',
 | 
				
			||||||
        'tab_title': 'Cache',
 | 
					        'tab_title': 'Cache',
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    'testplayer': {
 | 
					    'testplayer': {
 | 
				
			||||||
@ -22,8 +22,8 @@ tags = {
 | 
				
			|||||||
        'keywords': 'Shaka, Player, DRM, CDRM, CDM, CDRM-Project, TPD94, Decryption, CDM-Project, KID, KEY',
 | 
					        'keywords': 'Shaka, Player, DRM, CDRM, CDM, CDRM-Project, TPD94, Decryption, CDM-Project, KID, KEY',
 | 
				
			||||||
        'opengraph_title': 'Test Player',
 | 
					        'opengraph_title': 'Test Player',
 | 
				
			||||||
        'opengraph_description': 'Shaka Player for testing decryption keys',
 | 
					        'opengraph_description': 'Shaka Player for testing decryption keys',
 | 
				
			||||||
        'opengraph_image': '',
 | 
					        'opengraph_image': 'https://cdrm-project.com/og-testplayer.jpg',
 | 
				
			||||||
        'opengraph_url': '',
 | 
					        'opengraph_url': 'https://cdrm-project.com/testplayer',
 | 
				
			||||||
        'tab_title': 'Test Player',
 | 
					        'tab_title': 'Test Player',
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    'api': {
 | 
					    'api': {
 | 
				
			||||||
@ -31,8 +31,8 @@ tags = {
 | 
				
			|||||||
        'keywords': 'API, python, requests, send, remotecdm, remote, cdm, CDM-Project, CDRM-Project, TPD94, Decryption, DRM, Web, Vault',
 | 
					        'keywords': 'API, python, requests, send, remotecdm, remote, cdm, CDM-Project, CDRM-Project, TPD94, Decryption, DRM, Web, Vault',
 | 
				
			||||||
        'opengraph_title': 'API',
 | 
					        'opengraph_title': 'API',
 | 
				
			||||||
        'opengraph_description': 'Documentation for the program "CDRM-Project"',
 | 
					        'opengraph_description': 'Documentation for the program "CDRM-Project"',
 | 
				
			||||||
        'opengraph_image': '',
 | 
					        'opengraph_image': 'https://cdrm-project.com/og-api.jpg',
 | 
				
			||||||
        'opengraph_url': '',
 | 
					        'opengraph_url': 'https://cdrm-project.com/api',
 | 
				
			||||||
        'tab_title': 'API',
 | 
					        'tab_title': 'API',
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -8,7 +8,22 @@ def check_for_wvd_cdm():
 | 
				
			|||||||
    with open(f'{os.getcwd()}/configs/config.yaml', 'r') as file:
 | 
					    with open(f'{os.getcwd()}/configs/config.yaml', 'r') as file:
 | 
				
			||||||
        config = yaml.safe_load(file)
 | 
					        config = yaml.safe_load(file)
 | 
				
			||||||
    if config['default_wv_cdm'] == '':
 | 
					    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:
 | 
					    else:
 | 
				
			||||||
        base_name = config["default_wv_cdm"]
 | 
					        base_name = config["default_wv_cdm"]
 | 
				
			||||||
        if not base_name.endswith(".wvd"):
 | 
					        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:
 | 
					    with open(f'{os.getcwd()}/configs/config.yaml', 'r') as file:
 | 
				
			||||||
        config = yaml.safe_load(file)
 | 
					        config = yaml.safe_load(file)
 | 
				
			||||||
    if config['default_pr_cdm'] == '':
 | 
					    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:
 | 
					    else:
 | 
				
			||||||
        base_name = config["default_pr_cdm"]
 | 
					        base_name = config["default_pr_cdm"]
 | 
				
			||||||
        if not base_name.endswith(".prd"):
 | 
					        if not base_name.endswith(".prd"):
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user