From a434637c8deec41d8e39f914b02cbd1e65a5e3a8 Mon Sep 17 00:00:00 2001 From: stratumadev Date: Wed, 23 Apr 2025 21:10:25 +0200 Subject: [PATCH 1/4] added new cr endpoints - set vidaa endpoint as default - shaka hotfix -updated pb endpoint --- @types/enums.ts | 4 ++++ ao.ts | 2 +- crunchy.ts | 10 +++++----- modules/module.args.ts | 2 +- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/@types/enums.ts b/@types/enums.ts index 13c08cc..5fd7b27 100644 --- a/@types/enums.ts +++ b/@types/enums.ts @@ -7,10 +7,14 @@ export enum CrunchyPlayStreams { 'ps4' = 'console/ps4', 'ps5' = 'console/ps5', 'switch' = 'console/switch', + 'xboxone' = 'console/xbox_one', + 'vidaa' = 'tv/vidaa', 'samsungtv' = 'tv/samsung', 'lgtv' = 'tv/lg', 'rokutv' = 'tv/roku', 'android' = 'android/phone', + 'androidt' = 'android/tablet', 'iphone' = 'ios/iphone', 'ipad' = 'ios/ipad', + 'vision' = 'ios/vision', } \ No newline at end of file diff --git a/ao.ts b/ao.ts index 21eb4dd..e3c31fa 100644 --- a/ao.ts +++ b/ao.ts @@ -735,7 +735,7 @@ export default class AnimeOnegai implements ServiceClass { if (audioDownloaded) { console.info('Started decrypting audio,', this.cfg.bin.shaka ? 'using shaka' : 'using mp4decrypt'); - const decryptAudio = exec(this.cfg.bin.shaka ? 'shaka' : 'mp4decrypt', this.cfg.bin.shaka ? `"${this.cfg.bin.shaka}"` : `"${this.cfg.bin.mp4decrypt}"`, commandAudio); + const decryptAudio = exec(this.cfg.bin.shaka ? 'shaka-packager' : 'mp4decrypt', this.cfg.bin.shaka ? `"${this.cfg.bin.shaka}"` : `"${this.cfg.bin.mp4decrypt}"`, commandAudio); if (!decryptAudio.isOk) { console.error(decryptAudio.err); console.error(`Decryption failed with exit code ${decryptAudio.err.code}`); diff --git a/crunchy.ts b/crunchy.ts index c0daea9..59d6c5d 100644 --- a/crunchy.ts +++ b/crunchy.ts @@ -1281,9 +1281,9 @@ export default class Crunchy implements ServiceClass { const AuthHeaders: RequestInit = { headers: { Authorization: `Bearer ${this.token.access_token}`, - 'X-Cr-Disable-Drm': 'true', - 'X-Cr-Enable-Drm': 'false', - 'X-Cr-Stream-Limits': 'false', + // 'X-Cr-Disable-Drm': 'true', + // 'X-Cr-Enable-Drm': 'false', + // 'X-Cr-Stream-Limits': 'false', 'User-Agent': api.defaultUserAgent //'X-Cr-Segment-CDN': 'all', //'User-Agent': 'Crunchyroll/1.8.0 Nintendo Switch/12.3.12.0 UE4/4.27' @@ -1428,7 +1428,7 @@ export default class Crunchy implements ServiceClass { let playStream: CrunchyPlayStream | null = null; if (options.cstream !== 'none') { - const playbackReq = await this.req.getData(`https://cr-play-service.prd.crunchyrollsvc.com/v2/${currentVersion ? currentVersion.guid : currentMediaId}/${CrunchyPlayStreams[options.cstream]}/play`, AuthHeaders); + const playbackReq = await this.req.getData(`https://www.crunchyroll.com/playback/v2/${currentVersion ? currentVersion.guid : currentMediaId}/${CrunchyPlayStreams[options.cstream]}/play`, AuthHeaders); if (!playbackReq.ok || !playbackReq.res) { console.warn('Request Stream URLs FAILED!'); } else { @@ -1861,7 +1861,7 @@ export default class Crunchy implements ServiceClass { if (audioDownloaded) { console.info('Started decrypting audio,', this.cfg.bin.shaka ? 'using shaka' : 'using mp4decrypt'); - const decryptAudio = exec(this.cfg.bin.shaka ? 'shaka' : 'mp4decrypt', this.cfg.bin.shaka ? `"${this.cfg.bin.shaka}"` : `"${this.cfg.bin.mp4decrypt}"`, commandAudio); + const decryptAudio = exec(this.cfg.bin.shaka ? 'shaka-packager' : 'mp4decrypt', this.cfg.bin.shaka ? `"${this.cfg.bin.shaka}"` : `"${this.cfg.bin.mp4decrypt}"`, commandAudio); if (!decryptAudio.isOk) { console.error(decryptAudio.err); console.error(`Decryption failed with exit code ${decryptAudio.err.code}`); diff --git a/modules/module.args.ts b/modules/module.args.ts index 5592f22..ebf92ae 100644 --- a/modules/module.args.ts +++ b/modules/module.args.ts @@ -293,7 +293,7 @@ const args: TAppArg[] = [ describe: 'Select specific crunchy play stream by device, or disable stream with "none"', choices: [...Object.keys(CrunchyPlayStreams), 'none'], default: { - default: 'chrome' + default: 'vidaa' }, docDescribe: true, usage: '${device}' From 278aab83d319b22d75376a4b0c3db5648edf8797 Mon Sep 17 00:00:00 2001 From: stratumadev Date: Wed, 23 Apr 2025 19:11:00 +0000 Subject: [PATCH 2/4] added new cr endpoints - set vidaa endpoint as default - shaka hotfix -updated pb endpoint + Documentation --- docs/DOCUMENTATION.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/DOCUMENTATION.md b/docs/DOCUMENTATION.md index 697381b..f998a1d 100644 --- a/docs/DOCUMENTATION.md +++ b/docs/DOCUMENTATION.md @@ -183,7 +183,7 @@ Select specific stream #### `--cstream` | **Service** | **Usage** | **Type** | **Required** | **Alias** | **Choices** | **Default** |**cli-default Entry** | --- | --- | --- | --- | --- | --- | --- | ---| -| Crunchyroll | `--cstream ${device}` | `string` | `No`| `--cs` | [`chrome`, `firefox`, `safari`, `edge`, `fallback`, `ps4`, `ps5`, `switch`, `samsungtv`, `lgtv`, `rokutv`, `android`, `iphone`, `ipad`, `none`] | `chrome`| `cstream: ` | +| Crunchyroll | `--cstream ${device}` | `string` | `No`| `--cs` | [`chrome`, `firefox`, `safari`, `edge`, `fallback`, `ps4`, `ps5`, `switch`, `xboxone`, `vidaa`, `samsungtv`, `lgtv`, `rokutv`, `android`, `androidt`, `iphone`, `ipad`, `vision`, `none`] | `vidaa`| `cstream: ` | Select specific crunchy play stream by device, or disable stream with "none" #### `--hslang` From e89c34569b0922d415e88512a508395e9e70c58a Mon Sep 17 00:00:00 2001 From: stratumadev Date: Wed, 23 Apr 2025 21:19:13 +0200 Subject: [PATCH 3/4] updated version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 200b7bb..2872397 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "multi-downloader-nx", "short_name": "aniDL", - "version": "5.3.7", + "version": "5.3.8", "description": "Downloader for Crunchyroll, Hidive, AnimeOnegai, and AnimationDigitalNetwork with CLI and GUI", "keywords": [ "download", From 98594672ec19c1f2f92c1dcf436ced8585b9af4e Mon Sep 17 00:00:00 2001 From: stratumadev Date: Wed, 23 Apr 2025 19:19:42 +0000 Subject: [PATCH 4/4] Merge branch 'master' of https://github.com/stratumadev/multi-downloader-nx + Documentation --- docs/DOCUMENTATION.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/DOCUMENTATION.md b/docs/DOCUMENTATION.md index f998a1d..744c84f 100644 --- a/docs/DOCUMENTATION.md +++ b/docs/DOCUMENTATION.md @@ -1,4 +1,4 @@ -# multi-downloader-nx (v5.3.7) +# multi-downloader-nx (v5.3.8) If you find any bugs in this documentation or in the program itself please report it [over on GitHub](https://github.com/anidl/multi-downloader-nx/issues).