Compare commits

..

No commits in common. "github" and "main" have entirely different histories.
github ... main

9 changed files with 41 additions and 178 deletions

View File

@ -2,11 +2,6 @@
## CDRM-Project ## 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) ![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) ## 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
@ -20,7 +15,7 @@
- Follow the on-screen prompts - Follow the on-screen prompts
## Installation (From binary) ## Installation (From binary)
- Download the latest release from the [releases](https://github.com/TPD94/CDRM-Project-2.0/releases) page and run the `.exe` - Download the latest release from the [releases](https://cdm-project.com/tpd94/CDRM-Project/releases) page and run the `.exe`
## Installation (Manual) ## Installation (Manual)
- Open your terminal and navigate to where you'd like to store the application - Open your terminal and navigate to where you'd like to store the application

View File

@ -8,6 +8,7 @@ pnpm-debug.log*
lerna-debug.log* lerna-debug.log*
node_modules node_modules
dist
dist-ssr dist-ssr
*.local *.local

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -12,8 +12,8 @@
<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-C4QO27se.js"></script> <script type="module" crossorigin src="/assets/index-C2DUB5KK.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-BLw4WNgn.css"> <link rel="stylesheet" crossorigin href="/assets/index-BXlb7x7c.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>

View File

@ -28,7 +28,7 @@ function NavBar() {
{/* Header */} {/* Header */}
<div> <div>
<p className="text-white text-2xl font-bold p-3 text-center mb-5"> <p className="text-white text-2xl font-bold p-3 text-center mb-5">
<a href="/">CDRM-Project</a><br /><span className="text-sm">Github Edition</span> <a href="/">CDRM-Project</a>
</p> </p>
</div> </div>

View File

@ -11,9 +11,8 @@ function NavBarMain({ setIsMenuOpen }) {
<button className="w-24 p-4" onClick={handleMenuToggle}> <button className="w-24 p-4" onClick={handleMenuToggle}>
<img src={hamburgerIcon} alt="Menu" className="w-full h-full cursor-pointer" /> <img src={hamburgerIcon} alt="Menu" className="w-full h-full cursor-pointer" />
</button> </button>
<p className="grow text-white md:text-2xl font-bold text-center flex flex-col items-center justify-center p-4"> <p className="grow text-white md:text-2xl font-bold text-center flex items-center justify-center p-4">
CDRM-Project<br /> CDRM-Project
<span className="text-sm">Github Edition</span>
</p> </p>
<div className="w-24 p-4"></div> <div className="w-24 p-4"></div>
</div> </div>

View File

@ -35,9 +35,8 @@ function SideMenu({ isMenuOpen, setIsMenuOpen }) {
{/* Header */} {/* Header */}
<div className="h-16 w-full border-b-2 border-white/5 flex flex-row"> <div className="h-16 w-full border-b-2 border-white/5 flex flex-row">
<div className="w-1/4 h-full"></div> <div className="w-1/4 h-full"></div>
<p className="grow text-white md:text-2xl font-bold text-center flex items-center justify-center p-4 flex-col"> <p className="grow text-white md:text-2xl font-bold text-center flex items-center justify-center p-4">
CDRM-Project<br /> CDRM-Project
<span className="text-sm">Github Edition</span>
</p> </p>
<div className="w-1/4 h-full"> <div className="w-1/4 h-full">
<button <button

View File

@ -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"):