diff --git a/.docs/package-lock.json b/.docs/package-lock.json index e894486..810205e 100644 --- a/.docs/package-lock.json +++ b/.docs/package-lock.json @@ -17286,9 +17286,9 @@ "dev": true }, "node_modules/vite": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz", - "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.1.tgz", + "integrity": "sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==", "dev": true, "dependencies": { "esbuild": "^0.18.10", diff --git a/package.json b/package.json index 8658a05..e70858e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@movie-web/providers", - "version": "1.1.3", + "version": "1.1.4", "description": "Package that contains all the providers of movie-web", "main": "./lib/index.umd.js", "types": "./lib/index.d.ts", diff --git a/src/providers/sources/superstream/common.ts b/src/providers/sources/superstream/common.ts index b5d5de1..6ad1448 100644 --- a/src/providers/sources/superstream/common.ts +++ b/src/providers/sources/superstream/common.ts @@ -11,3 +11,4 @@ export const apiUrls = [ ]; export const appKey = atob('bW92aWVib3g='); export const appId = atob('Y29tLnRkby5zaG93Ym94'); +export const captionsDomains = [atob('bWJwaW1hZ2VzLmNodWF4aW4uY29t'), atob('aW1hZ2VzLnNoZWd1Lm5ldA==')]; diff --git a/src/providers/sources/superstream/subtitles.ts b/src/providers/sources/superstream/subtitles.ts index 08fba3f..36be8de 100644 --- a/src/providers/sources/superstream/subtitles.ts +++ b/src/providers/sources/superstream/subtitles.ts @@ -2,6 +2,8 @@ import { Caption, getCaptionTypeFromUrl, isValidLanguageCode } from '@/providers import { sendRequest } from '@/providers/sources/superstream/sendRequest'; import { ScrapeContext } from '@/utils/context'; +import { captionsDomains } from './common'; + interface CaptionApiResponse { data: { list: { @@ -40,7 +42,13 @@ export async function getSubtitles( subtitleList.forEach((sub) => { const subtitle = sub.subtitles.sort((a, b) => b.order - a.order)[0]; if (!subtitle) return; - const subtitleType = getCaptionTypeFromUrl(subtitle.file_path); + const subtitleFilePath = subtitle.file_path + .replace(captionsDomains[0], captionsDomains[1]) + .replace(/\s/g, '+') + .replace(/[()]/g, (c) => { + return `%${c.charCodeAt(0).toString(16)}`; + }); + const subtitleType = getCaptionTypeFromUrl(subtitleFilePath); if (!subtitleType) return; const validCode = isValidLanguageCode(subtitle.lang); @@ -50,7 +58,7 @@ export async function getSubtitles( language: subtitle.lang, hasCorsRestrictions: true, type: subtitleType, - url: subtitle.file_path, + url: subtitleFilePath, }); });