added new cr endpoints - set vidaa endpoint as default - shaka hotfix -updated pb endpoint

This commit is contained in:
stratumadev 2025-04-23 21:10:25 +02:00
parent 29717824cd
commit a434637c8d
4 changed files with 11 additions and 7 deletions

View file

@ -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',
}

2
ao.ts
View file

@ -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}`);

View file

@ -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}`);

View file

@ -293,7 +293,7 @@ const args: TAppArg<boolean|number|string|unknown[]>[] = [
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}'