From 8c91327af1c33ac82c5ae1dfd35e09de1d14ed69 Mon Sep 17 00:00:00 2001 From: Himanshu Date: Tue, 3 Feb 2026 21:42:43 +0530 Subject: [PATCH] Reapply "feat: add extractors bundled in file refactor stream handling in multiple providers" This reverts commit ef46918fecb33cf8ac1d932083dfeab4ba7fb6f0. --- build-bundled.js | 432 ++++++++++++++++++ dist/1cinevood/catalog.js | 2 +- dist/1cinevood/episodes.js | 2 +- dist/1cinevood/meta.js | 2 +- dist/1cinevood/posts.js | 2 +- dist/1cinevood/stream.js | 2 +- dist/4khdhub/catalog.js | 2 +- dist/4khdhub/meta.js | 2 +- dist/4khdhub/posts.js | 2 +- dist/4khdhub/stream.js | 2 +- dist/Joya9tv/catalog.js | 2 +- dist/Joya9tv/episodes.js | 2 +- dist/Joya9tv/meta.js | 2 +- dist/Joya9tv/posts.js | 2 +- dist/Joya9tv/stream.js | 2 +- dist/a111477/catalog.js | 2 +- dist/a111477/episodes.js | 2 +- dist/a111477/meta.js | 2 +- dist/a111477/posts.js | 2 +- dist/a111477/stream.js | 2 +- dist/animetsu/catalog.js | 2 +- dist/animetsu/meta.js | 2 +- dist/animetsu/posts.js | 2 +- dist/animetsu/stream.js | 2 +- dist/autoEmbed/catalog.js | 2 +- dist/autoEmbed/meta.js | 2 +- dist/autoEmbed/posts.js | 2 +- dist/autoEmbed/stream.js | 2 +- dist/cinemaLuxe/catalog.js | 2 +- dist/cinemaLuxe/episodes.js | 2 +- dist/cinemaLuxe/meta.js | 2 +- dist/cinemaLuxe/posts.js | 2 +- dist/cinemaLuxe/stream.js | 2 +- dist/dooflix/catalog.js | 2 +- dist/dooflix/meta.js | 2 +- dist/dooflix/posts.js | 2 +- dist/dooflix/stream.js | 2 +- dist/drive/catalog.js | 2 +- dist/drive/episodes.js | 2 +- dist/drive/meta.js | 2 +- dist/drive/posts.js | 2 +- dist/drive/stream.js | 2 +- dist/extractors/gdflix.js | 1 + dist/extractors/gofile.js | 1 + dist/extractors/hubcloud.js | 1 + .../supeVideo.js} | 0 dist/filmyfly/catalog.js | 2 +- dist/filmyfly/episodes.js | 2 +- dist/filmyfly/meta.js | 2 +- dist/filmyfly/posts.js | 2 +- dist/filmyfly/stream.js | 2 +- dist/flixhq/catalog.js | 2 +- dist/flixhq/meta.js | 2 +- dist/flixhq/posts.js | 2 +- dist/flixhq/stream.js | 2 +- dist/gdflixExtractor.js | 1 - dist/gofileExtracter.js | 1 - dist/guardahd/catalog.js | 2 +- dist/guardahd/meta.js | 2 +- dist/guardahd/posts.js | 2 +- dist/guardahd/stream.js | 2 +- dist/hdhub4u/catalog.js | 2 +- dist/hdhub4u/meta.js | 2 +- dist/hdhub4u/posts.js | 2 +- dist/hdhub4u/stream.js | 2 +- dist/hiAnime/catalog.js | 2 +- dist/hiAnime/meta.js | 2 +- dist/hiAnime/posts.js | 2 +- dist/hiAnime/stream.js | 2 +- dist/hubcloudExtractor.js | 1 - dist/katMovieFix/catalog.js | 2 +- dist/katMovieFix/episodes.js | 2 +- dist/katMovieFix/meta.js | 2 +- dist/katMovieFix/posts.js | 2 +- dist/katMovieFix/stream.js | 2 +- dist/katmovies/catalog.js | 2 +- dist/katmovies/episodes.js | 2 +- dist/katmovies/meta.js | 2 +- dist/katmovies/posts.js | 2 +- dist/katmovies/stream.js | 2 +- dist/kissKh/catalog.js | 2 +- dist/kissKh/meta.js | 2 +- dist/kissKh/posts.js | 2 +- dist/kissKh/stream.js | 2 +- dist/kmMovies/catalog.js | 2 +- dist/kmMovies/episodes.js | 2 +- dist/kmMovies/meta.js | 2 +- dist/kmMovies/posts.js | 2 +- dist/kmMovies/stream.js | 2 +- dist/luxMovies/catalog.js | 2 +- dist/luxMovies/episodes.js | 2 +- dist/luxMovies/meta.js | 2 +- dist/luxMovies/posts.js | 2 +- dist/luxMovies/stream.js | 2 +- dist/mod/catalog.js | 2 +- dist/mod/episodes.js | 2 +- dist/mod/meta.js | 2 +- dist/mod/posts.js | 2 +- dist/mod/stream.js | 2 +- dist/movieBox/catalog.js | 2 +- dist/movieBox/episodes.js | 2 +- dist/movieBox/meta.js | 2 +- dist/movieBox/posts.js | 2 +- dist/movieBox/stream.js | 2 +- dist/movies4u/catalog.js | 2 +- dist/movies4u/episodes.js | 2 +- dist/movies4u/meta.js | 2 +- dist/movies4u/posts.js | 2 +- dist/movies4u/stream.js | 2 +- dist/moviesApi/stream.js | 2 +- dist/moviezwap/catalog.js | 2 +- dist/moviezwap/episodes.js | 2 +- dist/moviezwap/meta.js | 2 +- dist/moviezwap/posts.js | 2 +- dist/moviezwap/stream.js | 2 +- dist/multi/catalog.js | 2 +- dist/multi/meta.js | 2 +- dist/multi/posts.js | 2 +- dist/multi/stream.js | 2 +- dist/netflixMirror/catalog.js | 2 +- dist/netflixMirror/episodes.js | 2 +- dist/netflixMirror/meta.js | 2 +- dist/netflixMirror/posts.js | 2 +- dist/netflixMirror/stream.js | 2 +- dist/ogomovies/catalog.js | 2 +- dist/ogomovies/meta.js | 2 +- dist/ogomovies/posts.js | 2 +- dist/ogomovies/stream.js | 2 +- dist/primeMirror/catalog.js | 2 +- dist/primeMirror/episodes.js | 2 +- dist/primeMirror/meta.js | 2 +- dist/primeMirror/posts.js | 2 +- dist/primeMirror/stream.js | 2 +- dist/primewire/catalog.js | 2 +- dist/primewire/meta.js | 2 +- dist/primewire/posts.js | 2 +- dist/primewire/stream.js | 2 +- dist/protonMovies/catalog.js | 2 +- dist/protonMovies/meta.js | 2 +- dist/protonMovies/posts.js | 2 +- dist/protonMovies/stream.js | 2 +- dist/providerContext.js | 2 +- dist/ridoMovies/catalog.js | 2 +- dist/ridoMovies/meta.js | 2 +- dist/ridoMovies/posts.js | 2 +- dist/ridoMovies/stream.js | 2 +- dist/ringz/catalog.js | 2 +- dist/ringz/meta.js | 2 +- dist/ringz/posts.js | 2 +- dist/ringz/stream.js | 2 +- dist/showbox/catalog.js | 2 +- dist/showbox/episodes.js | 2 +- dist/showbox/meta.js | 2 +- dist/showbox/posts.js | 2 +- dist/showbox/stream.js | 2 +- dist/skyMovieHD/catalog.js | 2 +- dist/skyMovieHD/episodes.js | 2 +- dist/skyMovieHD/meta.js | 2 +- dist/skyMovieHD/posts.js | 2 +- dist/skyMovieHD/stream.js | 2 +- dist/tokyoInsider/catalog.js | 2 +- dist/tokyoInsider/meta.js | 2 +- dist/tokyoInsider/posts.js | 2 +- dist/tokyoInsider/stream.js | 2 +- dist/topmovies/catalog.js | 2 +- dist/topmovies/episodes.js | 2 +- dist/topmovies/meta.js | 2 +- dist/topmovies/posts.js | 2 +- dist/topmovies/stream.js | 2 +- dist/uhd/catalog.js | 2 +- dist/uhd/meta.js | 2 +- dist/uhd/posts.js | 2 +- dist/uhd/stream.js | 2 +- dist/vadapav/catalog.js | 2 +- dist/vadapav/episodes.js | 2 +- dist/vadapav/meta.js | 2 +- dist/vadapav/posts.js | 2 +- dist/vadapav/stream.js | 2 +- dist/vega/catalog.js | 2 +- dist/vega/episodes.js | 2 +- dist/vega/meta.js | 2 +- dist/vega/posts.js | 2 +- dist/vega/stream.js | 2 +- dist/world4u/catalog.js | 2 +- dist/world4u/episodes.js | 2 +- dist/world4u/meta.js | 2 +- dist/world4u/posts.js | 2 +- dist/world4u/stream.js | 2 +- dist/zeefliz/catalog.js | 2 +- dist/zeefliz/episodes.js | 2 +- dist/zeefliz/meta.js | 2 +- dist/zeefliz/posts.js | 2 +- dist/zeefliz/stream.js | 2 +- manifest.json | 32 +- package.json | 5 +- providers/1cinevood/stream.ts | 12 +- providers/4khdhub/stream.ts | 25 +- providers/Joya9tv/stream.ts | 12 +- providers/cinemaLuxe/stream.ts | 25 +- providers/drive/episodes.ts | 54 ++- providers/drive/stream.ts | 58 ++- .../gdflix.ts} | 347 +++++++------- providers/extractors/gofile.ts | 37 ++ .../hubcloud.ts} | 298 ++++++------ .../supeVideo.ts} | 80 ++-- providers/filmyfly/stream.ts | 13 +- providers/gofileExtracter.ts | 38 -- providers/guardahd/stream.ts | 4 +- providers/hdhub4u/stream.ts | 40 +- providers/katMovieFix/stream.ts | 12 +- providers/katmovies/stream.ts | 27 +- providers/luxMovies/stream.ts | 12 +- providers/movies4u/stream.ts | 14 +- providers/protonMovies/stream.ts | 18 +- providers/providerContext.ts | 17 - providers/skyMovieHD/stream.ts | 6 +- providers/types.ts | 9 - providers/vega/stream.ts | 12 +- providers/zeefliz/stream.ts | 12 +- test-providers.js | 44 +- 220 files changed, 1300 insertions(+), 771 deletions(-) create mode 100644 build-bundled.js create mode 100644 dist/extractors/gdflix.js create mode 100644 dist/extractors/gofile.js create mode 100644 dist/extractors/hubcloud.js rename dist/{superVideoExtractor.js => extractors/supeVideo.js} (100%) delete mode 100644 dist/gdflixExtractor.js delete mode 100644 dist/gofileExtracter.js delete mode 100644 dist/hubcloudExtractor.js rename providers/{gdflixExtractor.ts => extractors/gdflix.ts} (60%) create mode 100644 providers/extractors/gofile.ts rename providers/{hubcloudExtractor.ts => extractors/hubcloud.ts} (81%) rename providers/{superVideoExtractor.ts => extractors/supeVideo.ts} (66%) delete mode 100644 providers/gofileExtracter.ts diff --git a/build-bundled.js b/build-bundled.js new file mode 100644 index 0000000..cb67bf3 --- /dev/null +++ b/build-bundled.js @@ -0,0 +1,432 @@ +const fs = require("fs"); +const path = require("path"); +const { execSync } = require("child_process"); +const { minify } = require("terser"); + +// Build configuration +const PROVIDERS_DIR = "./providers"; +const DIST_DIR = "./dist"; +const TEMP_DIR = "./temp-build"; + +// Colors for console output +const colors = { + reset: "\x1b[0m", + bright: "\x1b[1m", + green: "\x1b[32m", + red: "\x1b[31m", + yellow: "\x1b[33m", + blue: "\x1b[34m", + magenta: "\x1b[35m", + cyan: "\x1b[36m", +}; + +const log = { + info: (msg) => console.log(`${colors.blue}ℹ${colors.reset} ${msg}`), + success: (msg) => console.log(`${colors.green}✅${colors.reset} ${msg}`), + error: (msg) => console.log(`${colors.red}❌${colors.reset} ${msg}`), + warning: (msg) => console.log(`${colors.yellow}⚠️${colors.reset} ${msg}`), + build: (msg) => console.log(`${colors.magenta}🔨${colors.reset} ${msg}`), + file: (msg) => console.log(`${colors.cyan}📄${colors.reset} ${msg}`), +}; + +/** + * Bundled provider builder - creates self-contained JS files without imports + */ +class BundledProviderBuilder { + constructor() { + this.startTime = Date.now(); + this.providers = []; + } + + /** + * Clean the dist and temp directories + */ + cleanDirs() { + if (fs.existsSync(DIST_DIR)) { + fs.rmSync(DIST_DIR, { recursive: true, force: true }); + } + fs.mkdirSync(DIST_DIR, { recursive: true }); + + if (fs.existsSync(TEMP_DIR)) { + fs.rmSync(TEMP_DIR, { recursive: true, force: true }); + } + fs.mkdirSync(TEMP_DIR, { recursive: true }); + } + + /** + * Discover all provider directories (excluding extractors and utility files) + */ + discoverProviders() { + const items = fs.readdirSync(PROVIDERS_DIR, { withFileTypes: true }); + const excludeDirs = ["extractors", "extractors copy"]; + + this.providers = items + .filter((item) => item.isDirectory()) + .filter((item) => !item.name.startsWith(".")) + .filter((item) => !excludeDirs.includes(item.name)) + .map((item) => item.name); + + log.info( + `Found ${this.providers.length} providers: ${this.providers.join(", ")}`, + ); + } + + /** + * Compile TypeScript to JavaScript first + */ + compileTypeScript() { + log.build("Compiling TypeScript files..."); + + try { + execSync("npx tsc", { + stdio: "pipe", + encoding: "utf8", + }); + return true; + } catch (error) { + log.error("TypeScript compilation failed:"); + if (error.stdout) console.log(error.stdout); + if (error.stderr) console.log(error.stderr); + return false; + } + } + + /** + * Bundle each provider module to be self-contained + * This inlines all imports from extractors into the provider files + */ + bundleProviders() { + log.build("Bundling provider modules..."); + + for (const provider of this.providers) { + const providerDistDir = path.join(DIST_DIR, provider); + + if (!fs.existsSync(providerDistDir)) { + continue; + } + + const files = [ + "stream.js", + "catalog.js", + "posts.js", + "meta.js", + "episodes.js", + ]; + + for (const file of files) { + const filePath = path.join(providerDistDir, file); + if (fs.existsSync(filePath)) { + this.bundleFile(filePath, provider); + } + } + } + } + + /** + * Bundle a single file by inlining all local imports + */ + bundleFile(filePath, provider) { + let content = fs.readFileSync(filePath, "utf8"); + + // Find all require statements - both destructuring and non-destructuring patterns + // Pattern 1: const { x, y } = require("path") + const destructuringRegex = + /(?:const|let|var)\s+\{([^}]+)\}\s*=\s*require\s*\(\s*["']([^"']+)["']\s*\);?/g; + // Pattern 2: const hubcloud_1 = require("path") + const simpleRequireRegex = + /(?:const|let|var)\s+(\w+)\s*=\s*require\s*\(\s*["']([^"']+)["']\s*\);?/g; + + const imports = []; + let match; + + while ((match = destructuringRegex.exec(content)) !== null) { + imports.push({ + full: match[0], + names: match[1], + varName: null, + path: match[2], + isDestructuring: true, + }); + } + + while ((match = simpleRequireRegex.exec(content)) !== null) { + // Skip if already matched by destructuring regex + if (imports.some((i) => i.full === match[0])) continue; + imports.push({ + full: match[0], + names: null, + varName: match[1], + path: match[2], + isDestructuring: false, + }); + } + + // Process each import + for (const imp of imports) { + // Skip external modules (axios, cheerio, etc.) - they come from context + if (!imp.path.startsWith(".") && !imp.path.startsWith("/")) { + // Remove the require statement for external modules + content = content.replace(imp.full, `// External: ${imp.path}`); + continue; + } + + // Resolve the import path + const importDir = path.dirname(filePath); + let resolvedPath = path.resolve(importDir, imp.path); + + // Add .js extension if needed + if (!resolvedPath.endsWith(".js")) { + resolvedPath += ".js"; + } + + if (fs.existsSync(resolvedPath)) { + // Read the imported file + let importedContent = fs.readFileSync(resolvedPath, "utf8"); + + // Remove exports.X = X pattern and just keep the functions + importedContent = importedContent.replace( + /exports\.\w+\s*=\s*\w+;?/g, + "", + ); + + // Remove Object.defineProperty exports + importedContent = importedContent.replace( + /Object\.defineProperty\(exports,\s*"__esModule"[^;]+;/g, + "", + ); + + // Remove require statements from imported file too (they use context) + importedContent = importedContent.replace( + /(?:const|let|var)\s+\{[^}]+\}\s*=\s*require\s*\(\s*["'][^"']+["']\s*\);?/g, + "", + ); + importedContent = importedContent.replace( + /(?:const|let|var)\s+\w+\s*=\s*require\s*\(\s*["'][^"']+["']\s*\);?/g, + "", + ); + + // Clean up the content + importedContent = importedContent.replace(/"use strict";?/g, ""); + + // Check if this is an extractor file + if ( + imp.path.includes("extractor") || + resolvedPath.includes("extractor") + ) { + // Insert the extractor function at the top of the file + content = content.replace( + imp.full, + `// Inlined from: ${imp.path}\n${importedContent.trim()}`, + ); + + // For non-destructuring imports, we need to replace function calls + // TypeScript outputs: (0, hubcloud_1.hubcloudExtractor)(...) + // We need to replace with just: hubcloudExtractor(...) + if (!imp.isDestructuring && imp.varName) { + // Find the exported function name - look for exports.funcName or function funcNameExtractor + // The exports pattern looks like: exports.hubcloudExtractor = hubcloudExtractor; + const exportsMatch = importedContent.match( + /exports\.(\w+Extractor)\s*=/, + ); + // Also try matching the function definition directly + const funcDefMatch = importedContent.match( + /function\s+(\w+Extractor)\s*\(/, + ); + const funcName = exportsMatch?.[1] || funcDefMatch?.[1]; + + if (funcName) { + // Replace (0, varName.funcName) or (0,varName.funcName) with just funcName + const callPattern = new RegExp( + `\\(0,\\s*${imp.varName}\\.${funcName}\\)`, + "g", + ); + content = content.replace(callPattern, funcName); + // Also replace varName.funcName (without the (0, ) wrapper) + const simpleCallPattern = new RegExp( + `${imp.varName}\\.${funcName}`, + "g", + ); + content = content.replace(simpleCallPattern, funcName); + } + } + } else if (imp.path.includes("types")) { + // Types are not needed at runtime, just remove the import + content = content.replace(imp.full, `// Types removed: ${imp.path}`); + } else { + // Other local imports - inline them + content = content.replace( + imp.full, + `// Inlined from: ${imp.path}\n${importedContent.trim()}`, + ); + } + } else { + // File doesn't exist, comment out the import + content = content.replace(imp.full, `// Not found: ${imp.path}`); + } + } + + // Clean up the content + content = content.replace(/"use strict";?/g, ""); + content = content.replace( + /Object\.defineProperty\(exports,\s*"__esModule"[^;]+;/g, + "", + ); + + // Write the bundled file + fs.writeFileSync(filePath, content); + } + + /** + * Minify all JavaScript files + */ + async minifyFiles() { + const keepConsole = process.env.KEEP_CONSOLE === "true"; + log.build( + `Minifying JavaScript files... ${ + keepConsole ? "(keeping console logs)" : "(removing console logs)" + }`, + ); + + const minifyFile = async (filePath) => { + try { + const code = fs.readFileSync(filePath, "utf8"); + const result = await minify(code, { + compress: { + drop_console: !keepConsole, + drop_debugger: true, + pure_funcs: keepConsole + ? ["console.debug"] + : [ + "console.debug", + "console.log", + "console.info", + "console.warn", + ], + }, + mangle: false, + format: { + comments: false, + }, + }); + + if (result.code) { + fs.writeFileSync(filePath, result.code); + return true; + } + return false; + } catch (error) { + log.error(`Error minifying ${filePath}: ${error.message}`); + return false; + } + }; + + const findJsFiles = (dir) => { + const files = []; + if (!fs.existsSync(dir)) return files; + + const items = fs.readdirSync(dir, { withFileTypes: true }); + for (const item of items) { + const fullPath = path.join(dir, item.name); + if (item.isDirectory()) { + files.push(...findJsFiles(fullPath)); + } else if (item.isFile() && item.name.endsWith(".js")) { + files.push(fullPath); + } + } + return files; + }; + + const jsFiles = findJsFiles(DIST_DIR); + let minifiedCount = 0; + let totalSizeBefore = 0; + let totalSizeAfter = 0; + + for (const filePath of jsFiles) { + const statsBefore = fs.statSync(filePath); + totalSizeBefore += statsBefore.size; + + const success = await minifyFile(filePath); + if (success) { + const statsAfter = fs.statSync(filePath); + totalSizeAfter += statsAfter.size; + minifiedCount++; + } + } + + const compressionRatio = + totalSizeBefore > 0 + ? ( + ((totalSizeBefore - totalSizeAfter) / totalSizeBefore) * + 100 + ).toFixed(1) + : 0; + + log.success( + `Minified ${minifiedCount}/${jsFiles.length} files. ` + + `Size reduced by ${compressionRatio}% (${totalSizeBefore} → ${totalSizeAfter} bytes)`, + ); + } + + /** + * Clean up temp directory + */ + cleanup() { + if (fs.existsSync(TEMP_DIR)) { + fs.rmSync(TEMP_DIR, { recursive: true, force: true }); + } + } + + /** + * Build everything + */ + async build() { + const isWatchMode = process.env.NODE_ENV === "development"; + + if (isWatchMode) { + console.log( + `\n${colors.cyan}🔄 Auto-build triggered${colors.reset} ${new Date().toLocaleTimeString()}`, + ); + } else { + console.log( + `\n${colors.bright}🚀 Starting bundled provider build...${colors.reset}\n`, + ); + } + + this.cleanDirs(); + this.discoverProviders(); + + const compiled = this.compileTypeScript(); + if (!compiled) { + log.error("Build failed due to compilation errors"); + process.exit(1); + } + + this.bundleProviders(); + + if (!process.env.SKIP_MINIFY) { + await this.minifyFiles(); + } else { + log.info("Skipping minification (SKIP_MINIFY=true)"); + } + + this.cleanup(); + + const buildTime = Date.now() - this.startTime; + log.success(`Build completed in ${buildTime}ms`); + + if (isWatchMode) { + console.log(`${colors.green}👀 Watching for changes...${colors.reset}\n`); + } else { + console.log( + `${colors.bright}✨ Build completed successfully!${colors.reset}\n`, + ); + } + } +} + +// Run the build +const builder = new BundledProviderBuilder(); +builder.build().catch((error) => { + console.error("Build failed:", error); + process.exit(1); +}); diff --git a/dist/1cinevood/catalog.js b/dist/1cinevood/catalog.js index e7de28b..72a5bf8 100644 --- a/dist/1cinevood/catalog.js +++ b/dist/1cinevood/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:""},{title:"Hollywood",filter:"hollywood/"}]; \ No newline at end of file +exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:""},{title:"Hollywood",filter:"hollywood/"}]; \ No newline at end of file diff --git a/dist/1cinevood/episodes.js b/dist/1cinevood/episodes.js index 7128b93..ddeadd2 100644 --- a/dist/1cinevood/episodes.js +++ b/dist/1cinevood/episodes.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const formatEpisodeTitle=fileName=>{try{const match=fileName.match(/S(\d+)E(\d+)/i);if(match){const season=match[1].padStart(2,"0");return`S${season} E${match[2].padStart(2,"0")}`}return fileName}catch(_a){return fileName}},getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){var _b,_c,_d,_e;const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;try{const baseUrl=url.split("/").slice(0,3).join("/"),id=url.split("/").filter(Boolean).pop()||"",apiUrl=`${baseUrl}/api/packs/${id}`;let res;try{res=yield axios.get(apiUrl,{headers:headers})}catch(error){if(404===(null===(_b=error.response)||void 0===_b?void 0:_b.status)){const alternativeUrl=`${baseUrl}/api/s/${id}/`,altRes=yield axios.get(alternativeUrl,{headers:headers});if(null===(_c=altRes.data)||void 0===_c?void 0:_c.hasHubcloud){const hubcloudUrl=`${baseUrl}/api/s/${id}/hubcloud`;return[{title:formatEpisodeTitle(altRes.data.fileName||"Movie"),link:hubcloudUrl}]}return[]}throw error}const episodes=[],items=(null===(_e=null===(_d=res.data)||void 0===_d?void 0:_d.pack)||void 0===_e?void 0:_e.items)||[];for(const item of items)item.file_name&&item.hubcloud_link&&episodes.push({title:formatEpisodeTitle(item.file_name),link:item.hubcloud_link});return episodes}catch(err){throw err}})};exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getEpisodes=void 0;const formatEpisodeTitle=fileName=>{try{const match=fileName.match(/S(\d+)E(\d+)/i);if(match){const season=match[1].padStart(2,"0");return`S${season} E${match[2].padStart(2,"0")}`}return fileName}catch(_a){return fileName}},getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){var _b,_c,_d,_e;const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;try{const baseUrl=url.split("/").slice(0,3).join("/"),id=url.split("/").filter(Boolean).pop()||"",apiUrl=`${baseUrl}/api/packs/${id}`;let res;try{res=yield axios.get(apiUrl,{headers:headers})}catch(error){if(404===(null===(_b=error.response)||void 0===_b?void 0:_b.status)){const alternativeUrl=`${baseUrl}/api/s/${id}/`,altRes=yield axios.get(alternativeUrl,{headers:headers});if(null===(_c=altRes.data)||void 0===_c?void 0:_c.hasHubcloud){const hubcloudUrl=`${baseUrl}/api/s/${id}/hubcloud`;return[{title:formatEpisodeTitle(altRes.data.fileName||"Movie"),link:hubcloudUrl}]}return[]}throw error}const episodes=[],items=(null===(_e=null===(_d=res.data)||void 0===_d?void 0:_d.pack)||void 0===_e?void 0:_e.items)||[];for(const item of items)item.file_name&&item.hubcloud_link&&episodes.push({title:formatEpisodeTitle(item.file_name),link:item.hubcloud_link});return episodes}catch(err){throw err}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/1cinevood/meta.js b/dist/1cinevood/meta.js index ffeaba4..1cbbb31 100644 --- a/dist/1cinevood/meta.js +++ b/dist/1cinevood/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;const{axios:axios,cheerio:cheerio}=providerContext,url=link,baseUrl=url.split("/").slice(0,3).join("/"),emptyResult={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]};try{const response=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{Referer:baseUrl})}),$=cheerio.load(response.data),infoContainer=$(".entry-content, .post-inner").first(),result={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]},downloadTitleMatch=infoContainer.find("h6 span").first().text().match(/(.*)\s*\(\d{4}\)/);if(downloadTitleMatch&&(result.title=downloadTitleMatch[1].trim()),!result.title||"Unknown Title"===result.title){const rawTitle=$("#movie_title a").text().trim();result.title=rawTitle.replace(/.*<\/small>/,"").trim()||"Unknown Title"}const firstDownloadHeadingText=infoContainer.find("h6").first().text(),isSeries=firstDownloadHeadingText.includes("S01")||firstDownloadHeadingText.includes("E01")||firstDownloadHeadingText.toLowerCase().includes("season");result.type=isSeries?"series":"movie";const imdbMatch=null===(_b=$("#movie_title a").attr("href"))||void 0===_b?void 0:_b.match(/tt\d+/);result.imdbId=imdbMatch?imdbMatch[0]:"";let image=infoContainer.find('img[decoding="async"]').first().attr("src")||"";image.startsWith("//")&&(image="https:"+image),result.image=image,result.synopsis=infoContainer.find("#summary b:contains('Summary:')").parent().text().replace("Summary:","").trim()||"";const links=[];return infoContainer.find("h6").filter((_,el)=>!$(el).text().includes("Watch Online")).each((index,element)=>{var _a,_b;const el=$(element),fullTitle=el.text().trim(),qualityMatch=(null===(_a=fullTitle.match(/\d{3,4}p\b/))||void 0===_a?void 0:_a[0])||"",fileSizeMatch=(null===(_b=fullTitle.match(/\[([^\]]+)\](?=[^\[]*$)/))||void 0===_b?void 0:_b[1])||"",nextSiblings=el.nextUntil("h6, hr");nextSiblings.find("a").add(nextSiblings.filter("a")).each((i,btn)=>{const link=$(btn).attr("href"),seMatch=fullTitle.match(/(S\d{2}E\d{2}|S\d{2}|E\d{2})/),seasonEpisode=seMatch?`${seMatch[0]} | `:"";links.push({title:`${seasonEpisode}${qualityMatch}${fileSizeMatch?" | "+fileSizeMatch:""}`.trim().replace(/\|$/,"").trim(),quality:qualityMatch,episodesLink:link})})}),result.linkList=links,result}catch(err){return emptyResult}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;const{axios:axios,cheerio:cheerio}=providerContext,url=link,baseUrl=url.split("/").slice(0,3).join("/"),emptyResult={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]};try{const response=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{Referer:baseUrl})}),$=cheerio.load(response.data),infoContainer=$(".entry-content, .post-inner").first(),result={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]},downloadTitleMatch=infoContainer.find("h6 span").first().text().match(/(.*)\s*\(\d{4}\)/);if(downloadTitleMatch&&(result.title=downloadTitleMatch[1].trim()),!result.title||"Unknown Title"===result.title){const rawTitle=$("#movie_title a").text().trim();result.title=rawTitle.replace(/.*<\/small>/,"").trim()||"Unknown Title"}const firstDownloadHeadingText=infoContainer.find("h6").first().text(),isSeries=firstDownloadHeadingText.includes("S01")||firstDownloadHeadingText.includes("E01")||firstDownloadHeadingText.toLowerCase().includes("season");result.type=isSeries?"series":"movie";const imdbMatch=null===(_b=$("#movie_title a").attr("href"))||void 0===_b?void 0:_b.match(/tt\d+/);result.imdbId=imdbMatch?imdbMatch[0]:"";let image=infoContainer.find('img[decoding="async"]').first().attr("src")||"";image.startsWith("//")&&(image="https:"+image),result.image=image,result.synopsis=infoContainer.find("#summary b:contains('Summary:')").parent().text().replace("Summary:","").trim()||"";const links=[];return infoContainer.find("h6").filter((_,el)=>!$(el).text().includes("Watch Online")).each((index,element)=>{var _a,_b;const el=$(element),fullTitle=el.text().trim(),qualityMatch=(null===(_a=fullTitle.match(/\d{3,4}p\b/))||void 0===_a?void 0:_a[0])||"",fileSizeMatch=(null===(_b=fullTitle.match(/\[([^\]]+)\](?=[^\[]*$)/))||void 0===_b?void 0:_b[1])||"",nextSiblings=el.nextUntil("h6, hr");nextSiblings.find("a").add(nextSiblings.filter("a")).each((i,btn)=>{const link=$(btn).attr("href"),seMatch=fullTitle.match(/(S\d{2}E\d{2}|S\d{2}|E\d{2})/),seasonEpisode=seMatch?`${seMatch[0]} | `:"";links.push({title:`${seasonEpisode}${qualityMatch}${fileSizeMatch?" | "+fileSizeMatch:""}`.trim().replace(/\|$/,"").trim(),quality:qualityMatch,episodesLink:link})})}),result.linkList=links,result}catch(err){return emptyResult}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/1cinevood/posts.js b/dist/1cinevood/posts.js index f4951cd..cb862a4 100644 --- a/dist/1cinevood/posts.js +++ b/dist/1cinevood/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getPosts=getPosts,exports.getSearchPosts=getSearchPosts;const defaultHeaders={Referer:"https://www.google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language":"en-US,en;q=0.9",Pragma:"no-cache","Cache-Control":"no-cache"};function getPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:filter,page:page,query:"",signal:signal,providerContext:providerContext})})}function getSearchPosts(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:"",page:page,query:searchQuery,signal:signal,providerContext:providerContext})})}function fetchPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,query:query,page:page=1,signal:signal,providerContext:providerContext}){try{const baseUrl=yield providerContext.getBaseUrl("1cinevood");let url;url=query&&query.trim()?`${baseUrl}/?s=${encodeURIComponent(query)}${page>1?`&paged=${page}`:""}`:filter?filter.startsWith("/")?`${baseUrl}${filter.replace(/\/$/,"")}${page>1?`/page/${page}`:""}`:`${baseUrl}/${filter}${page>1?`/page/${page}`:""}`:`${baseUrl}${page>1?`/page/${page}`:""}`;const{axios:axios,cheerio:cheerio}=providerContext,res=yield axios.get(url,{headers:defaultHeaders,signal:signal}),$=cheerio.load(res.data||""),resolveUrl=href=>(null==href?void 0:href.startsWith("http"))?href:new URL(href,url).href,seen=new Set,catalog=[],POST_SELECTORS=[".pstr_box","article",".result-item",".post",".item",".thumbnail",".latest-movies",".movie-item"].join(",");return $(POST_SELECTORS).each((_,el)=>{var _a;const card=$(el);let link=card.find("a[href]").first().attr("href")||"";if(!link)return;if(link=resolveUrl(link),seen.has(link))return;let title=card.find("h2").first().text().trim()||(null===(_a=card.find("a[title]").first().attr("title"))||void 0===_a?void 0:_a.trim())||card.text().trim();if(title=title.replace(/\[.*?\]/g,"").replace(/\(.+?\)/g,"").replace(/\s{2,}/g," ").trim(),!title)return;const img=card.find("img").first().attr("src")||card.find("img").first().attr("data-src")||card.find("img").first().attr("data-original")||"",image=img?resolveUrl(img):"";seen.add(link),catalog.push({title:title,link:link,image:image})}),catalog.slice(0,100)}catch(err){return[]}})} \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getPosts=getPosts,exports.getSearchPosts=getSearchPosts;const defaultHeaders={Referer:"https://www.google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language":"en-US,en;q=0.9",Pragma:"no-cache","Cache-Control":"no-cache"};function getPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:filter,page:page,query:"",signal:signal,providerContext:providerContext})})}function getSearchPosts(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:"",page:page,query:searchQuery,signal:signal,providerContext:providerContext})})}function fetchPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,query:query,page:page=1,signal:signal,providerContext:providerContext}){try{const baseUrl=yield providerContext.getBaseUrl("1cinevood");let url;url=query&&query.trim()?`${baseUrl}/?s=${encodeURIComponent(query)}${page>1?`&paged=${page}`:""}`:filter?filter.startsWith("/")?`${baseUrl}${filter.replace(/\/$/,"")}${page>1?`/page/${page}`:""}`:`${baseUrl}/${filter}${page>1?`/page/${page}`:""}`:`${baseUrl}${page>1?`/page/${page}`:""}`;const{axios:axios,cheerio:cheerio}=providerContext,res=yield axios.get(url,{headers:defaultHeaders,signal:signal}),$=cheerio.load(res.data||""),resolveUrl=href=>(null==href?void 0:href.startsWith("http"))?href:new URL(href,url).href,seen=new Set,catalog=[],POST_SELECTORS=[".pstr_box","article",".result-item",".post",".item",".thumbnail",".latest-movies",".movie-item"].join(",");return $(POST_SELECTORS).each((_,el)=>{var _a;const card=$(el);let link=card.find("a[href]").first().attr("href")||"";if(!link)return;if(link=resolveUrl(link),seen.has(link))return;let title=card.find("h2").first().text().trim()||(null===(_a=card.find("a[title]").first().attr("title"))||void 0===_a?void 0:_a.trim())||card.text().trim();if(title=title.replace(/\[.*?\]/g,"").replace(/\(.+?\)/g,"").replace(/\s{2,}/g," ").trim(),!title)return;const img=card.find("img").first().attr("src")||card.find("img").first().attr("data-src")||card.find("img").first().attr("data-original")||"",image=img?resolveUrl(img):"";seen.add(link),catalog.push({title:title,link:link,image:image})}),catalog.slice(0,100)}catch(err){return[]}})} \ No newline at end of file diff --git a/dist/1cinevood/stream.js b/dist/1cinevood/stream.js index 08adf6e..d42d2a8 100644 --- a/dist/1cinevood/stream.js +++ b/dist/1cinevood/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=getStream;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,type:type,signal:signal,providerContext:providerContext}){const{extractors:extractors}=providerContext,{hubcloudExtracter:hubcloudExtracter}=extractors;try{return yield hubcloudExtracter(link,signal)}catch(error){return error.message.includes("Aborted"),[]}})} \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=getStream;__awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};const hubcloudDecode=function(value){return void 0===value?"":atob(value.toString())};function hubcloudExtractor(link,signal,axios,cheerio,headers){return __awaiter(this,void 0,void 0,function*(){var _a,_b,_c,_d,_e,_f;try{headers.Cookie="ext_name=ojplmecpdpgccookcobabopnaifgidhf; xla=s4t; cf_clearance=woQrFGXtLfmEMBEiGUsVHrUBMT8s3cmguIzmMjmvpkg-1770053679-1.2.1.1-xBrQdciOJsweUF6F2T_OtH6jmyanN_TduQ0yslc_XqjU6RcHSxI7.YOKv6ry7oYo64868HYoULnVyww536H2eVI3R2e4wKzsky6abjPdfQPxqpUaXjxfJ02o6jl3_Vkwr4uiaU7Wy596Vdst3y78HXvVmKdIohhtPvp.vZ9_L7wvWdce0GRixjh_6JiqWmWMws46hwEt3hboaS1e1e4EoWCvj5b0M_jVwvSxBOAW5emFzvT3QrnRh4nyYmKDERnY";const baseUrl=link.split("/").slice(0,3).join("/"),streamLinks=[],vLinkText=(yield axios(`${link}`,{headers:headers,signal:signal})).data,$vLink=cheerio.load(vLinkText),vLinkRedirect=vLinkText.match(/var\s+url\s*=\s*'([^']+)';/)||[];let vcloudLink=hubcloudDecode(null===(_b=null===(_a=vLinkRedirect[1])||void 0===_a?void 0:_a.split("r="))||void 0===_b?void 0:_b[1])||vLinkRedirect[1]||$vLink(".fa-file-download.fa-lg").parent().attr("href")||link;(null==vcloudLink?void 0:vcloudLink.startsWith("/"))&&(vcloudLink=`${baseUrl}${vcloudLink}`);const vcloudRes=yield fetch(vcloudLink,{headers:headers,signal:signal,redirect:"follow"}),$=cheerio.load(yield vcloudRes.text()),linkClass=$(".btn-success.btn-lg.h6,.btn-danger,.btn-secondary");for(const element of linkClass){let link=$(element).attr("href")||"";switch(!0){case null==link?void 0:link.includes("pixeld"):if(!(null==link?void 0:link.includes("api"))){const token=link.split("/").pop(),baseUrl=link.split("/").slice(0,-2).join("/");link=`${baseUrl}/api/file/${token}?download`}streamLinks.push({server:"Pixeldrain",link:link,type:"mkv"});break;case(null==link?void 0:link.includes(".dev"))&&!(null==link?void 0:link.includes("/?id=")):streamLinks.push({server:"Cf Worker",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("hubcloud"))||(null==link?void 0:link.includes("/?id=")):try{const newLinkRes=yield fetch(link,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});let newLink=link;if(newLink=newLinkRes.status>=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||link:newLinkRes.url&&newLinkRes.url!==link?newLinkRes.url:newLinkRes.headers.get("location")||link,newLink.includes("googleusercontent"))newLink=newLink.split("?link=")[1];else{const newLinkRes2=yield fetch(newLink,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});newLink=newLinkRes2.status>=300&&newLinkRes2.status<400?(null===(_c=newLinkRes2.headers.get("location"))||void 0===_c?void 0:_c.split("?link=")[1])||newLink:newLinkRes2.url&&newLinkRes2.url!==newLink?newLinkRes2.url.split("?link=")[1]||newLinkRes2.url:(null===(_d=newLinkRes2.headers.get("location"))||void 0===_d?void 0:_d.split("?link=")[1])||newLink}streamLinks.push({server:"hubcloud",link:newLink,type:"mkv"})}catch(error){}break;case null==link?void 0:link.includes("cloudflarestorage"):streamLinks.push({server:"CfStorage",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("fastdl"))||(null==link?void 0:link.includes("fsl.")):streamLinks.push({server:"FastDl",link:link,type:"mkv"});break;case link.includes("hubcdn")&&!link.includes("/?id="):streamLinks.push({server:"HubCdn",link:link,type:"mkv"});break;default:if((null==link?void 0:link.includes(".mkv"))||(null==link?void 0:link.includes("?token="))){const serverName=(null===(_f=null===(_e=link.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/i))||void 0===_e?void 0:_e[1])||void 0===_f?void 0:_f.replace(/\./g," "))||"Unknown";streamLinks.push({server:serverName,link:link,type:"mkv"})}}}return streamLinks}catch(error){return[]}})}const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,type:type,signal:signal,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:commonHeaders}=providerContext;try{return yield hubcloudExtractor(link,signal,axios,cheerio,commonHeaders)}catch(error){return error.message.includes("Aborted"),[]}})} \ No newline at end of file diff --git a/dist/4khdhub/catalog.js b/dist/4khdhub/catalog.js index d8f56f1..7bf4c77 100644 --- a/dist/4khdhub/catalog.js +++ b/dist/4khdhub/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Home",filter:""},{title:"Latest TV Shows",filter:"/category/series"},{title:"Anime",filter:"/category/anime"},{title:"4K HDR",filter:"/category/-2160p-HDR"}],exports.genres=[]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Home",filter:""},{title:"Latest TV Shows",filter:"/category/series"},{title:"Anime",filter:"/category/anime"},{title:"4K HDR",filter:"/category/-2160p-HDR"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/4khdhub/meta.js b/dist/4khdhub/meta.js index 5d0ed04..0ea652c 100644 --- a/dist/4khdhub/meta.js +++ b/dist/4khdhub/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio,getBaseUrl:getBaseUrl}=providerContext,url=`${yield getBaseUrl("4khdhub")}${link}`,data=(yield axios.get(url)).data,$=cheerio.load(data),type=$(".season-content").length>0?"series":"movie",imdbId="",title=$(".page-title").text()||"",image=$(".poster-image").find("img").attr("src")||"",synopsis=$(".content-section").find("p").first().text().trim()||"",links=[];return"series"===type?$(".season-item").map((i,element)=>{const title=$(element).find(".episode-title").text();let directLinks=[];$(element).find(".episode-download-item").map((i,element)=>{const title=$(element).find(".episode-file-info").text().trim().replace("\n"," "),link=$(element).find(".episode-links").find("a:contains('HubCloud')").attr("href");title&&link&&directLinks.push({title:title,link:link})}),title&&directLinks.length>0&&links.push({title:title,directLinks:directLinks})}):$(".download-item").map((i,element)=>{const title=$(element).find(".flex-1.text-left.font-semibold").text().trim(),link=$(element).find(".grid.grid-cols-2.gap-2").find("a:contains('HubCloud')").attr("href");title&&link&&links.push({title:title,directLinks:[{title:title,link:link}]})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio,getBaseUrl:getBaseUrl}=providerContext,url=`${yield getBaseUrl("4khdhub")}${link}`,data=(yield axios.get(url)).data,$=cheerio.load(data),type=$(".season-content").length>0?"series":"movie",imdbId="",title=$(".page-title").text()||"",image=$(".poster-image").find("img").attr("src")||"",synopsis=$(".content-section").find("p").first().text().trim()||"",links=[];return"series"===type?$(".season-item").map((i,element)=>{const title=$(element).find(".episode-title").text();let directLinks=[];$(element).find(".episode-download-item").map((i,element)=>{const title=$(element).find(".episode-file-info").text().trim().replace("\n"," "),link=$(element).find(".episode-links").find("a:contains('HubCloud')").attr("href");title&&link&&directLinks.push({title:title,link:link})}),title&&directLinks.length>0&&links.push({title:title,directLinks:directLinks})}):$(".download-item").map((i,element)=>{const title=$(element).find(".flex-1.text-left.font-semibold").text().trim(),link=$(element).find(".grid.grid-cols-2.gap-2").find("a:contains('HubCloud')").attr("href");title&&link&&links.push({title:title,directLinks:[{title:title,link:link}]})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/4khdhub/posts.js b/dist/4khdhub/posts.js index 965e4bd..e585c8f 100644 --- a/dist/4khdhub/posts.js +++ b/dist/4khdhub/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${(yield getBaseUrl("4khdhub"))+filter}/page/${page}`,signal:signal,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("4khdhub");return posts({url:1==page?`${baseUrl}/?s=${searchQuery}`:`${baseUrl}/page/${page}?s=${searchQuery}`,signal:signal,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,cheerio:cheerio}){try{const res=yield fetch(url,{signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $(".card-grid").children().map((i,element)=>{const title=$(element).find(".movie-card-title").text(),link=$(element).attr("href"),image=$(element).find("img").attr("src");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${(yield getBaseUrl("4khdhub"))+filter}/page/${page}`,signal:signal,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("4khdhub");return posts({url:1==page?`${baseUrl}/?s=${searchQuery}`:`${baseUrl}/page/${page}?s=${searchQuery}`,signal:signal,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,cheerio:cheerio}){try{const res=yield fetch(url,{signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $(".card-grid").children().map((i,element)=>{const title=$(element).find(".movie-card-title").text(),link=$(element).attr("href"),image=$(element).find("img").attr("src");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/4khdhub/stream.js b/dist/4khdhub/stream.js index ad02611..6abb176 100644 --- a/dist/4khdhub/stream.js +++ b/dist/4khdhub/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,signal:signal,providerContext:providerContext}){var _b,_c,_d,_e;const{axios:axios,cheerio:cheerio,extractors:extractors,commonHeaders:headers}=providerContext,{hubcloudExtracter:hubcloudExtracter}=extractors;let hubdriveLink="";if(link.includes("hubdrive")){const hubdriveText=(yield axios.get(link,{headers:headers,signal:signal})).data;hubdriveLink=cheerio.load(hubdriveText)(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href")||link}else{const decodedString=decodeString(null===(_d=null===(_c=null===(_b=(yield axios.get(link,{headers:headers,signal:signal})).data.split("s('o','"))||void 0===_b?void 0:_b[1])||void 0===_c?void 0:_c.split("',180"))||void 0===_d?void 0:_d[0]);link=atob(null==decodedString?void 0:decodedString.o);const redirectLink=yield getRedirectLinks(link,signal,headers);if(redirectLink.includes("hubcloud")||redirectLink.includes("/drive/"))return yield hubcloudExtracter(redirectLink,signal);const redirectLinkText=(yield axios.get(redirectLink,{headers:headers,signal:signal})).data;if(hubdriveLink=cheerio.load(redirectLinkText)('h3:contains("1080p")').find("a").attr("href")||redirectLinkText.match(/href="(https:\/\/hubcloud\.[^\/]+\/drive\/[^"]+)"/)[1],hubdriveLink.includes("hubdrive")){const hubdriveText=(yield axios.get(hubdriveLink,{headers:headers,signal:signal})).data;hubdriveLink=cheerio.load(hubdriveText)(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href")||hubdriveLink}}const hubcloudLink=(null===(_e=(yield axios.get(hubdriveLink,{headers:headers,signal:signal})).data.match(//i))||void 0===_e?void 0:_e[1])||hubdriveLink;try{return yield hubcloudExtracter(hubcloudLink,signal)}catch(error){return[]}})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=getStream,exports.getRedirectLinks=getRedirectLinks,exports.decodeString=decodeString;const encode=function(value){return btoa(value.toString())},decode=function(value){return void 0===value?"":atob(value.toString())},pen=function(value){return value.replace(/[a-zA-Z]/g,function(_0x1a470e){return String.fromCharCode((_0x1a470e<="Z"?90:122)>=(_0x1a470e=_0x1a470e.charCodeAt(0)+13)?_0x1a470e:_0x1a470e-26)})},abortableTimeout=(ms,{signal:signal}={})=>new Promise((resolve,reject)=>{if(signal&&signal.aborted)return reject(new Error("Aborted"));const timer=setTimeout(resolve,ms);signal&&signal.addEventListener("abort",()=>{clearTimeout(timer),reject(new Error("Aborted"))})});function getRedirectLinks(link,signal,headers){return __awaiter(this,void 0,void 0,function*(){try{const res=yield fetch(link,{headers:headers,signal:signal}),resText=yield res.text();for(var match,regex=/ck\('_wp_http_\d+','([^']+)'/g,combinedString="";null!==(match=regex.exec(resText));)combinedString+=match[1];const decodedString=decode(pen(decode(decode(combinedString)))),data=JSON.parse(decodedString),token=encode(null==data?void 0:data.data),blogLink=(null==data?void 0:data.wp_http1)+"?re="+token;let wait=abortableTimeout(1e3*(Number(null==data?void 0:data.total_time)+3),{signal:signal});yield wait;let vcloudLink="Invalid Request";for(;vcloudLink.includes("Invalid Request");){const blogRes=yield fetch(blogLink,{headers:headers,signal:signal}),blogResText=yield blogRes.text();if(!blogResText.includes("Invalid Request")){vcloudLink=blogResText.match(/var reurl = "([^"]+)"/)||"";break}}return blogLink||link}catch(err){return link}})}function rot13(str){return str.replace(/[a-zA-Z]/g,function(char){const charCode=char.charCodeAt(0),baseCharCode=char<="Z"?65:97;return String.fromCharCode((charCode-baseCharCode+13)%26+baseCharCode)})}function decodeString(encryptedString){try{let decoded=atob(encryptedString);return decoded=atob(decoded),decoded=rot13(decoded),decoded=atob(decoded),JSON.parse(decoded)}catch(error){return null}} \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=getStream,exports.getRedirectLinks=getRedirectLinks,exports.decodeString=decodeString;__awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};const hubcloudDecode=function(value){return void 0===value?"":atob(value.toString())};function hubcloudExtractor(link,signal,axios,cheerio,headers){return __awaiter(this,void 0,void 0,function*(){var _a,_b,_c,_d,_e,_f;try{headers.Cookie="ext_name=ojplmecpdpgccookcobabopnaifgidhf; xla=s4t; cf_clearance=woQrFGXtLfmEMBEiGUsVHrUBMT8s3cmguIzmMjmvpkg-1770053679-1.2.1.1-xBrQdciOJsweUF6F2T_OtH6jmyanN_TduQ0yslc_XqjU6RcHSxI7.YOKv6ry7oYo64868HYoULnVyww536H2eVI3R2e4wKzsky6abjPdfQPxqpUaXjxfJ02o6jl3_Vkwr4uiaU7Wy596Vdst3y78HXvVmKdIohhtPvp.vZ9_L7wvWdce0GRixjh_6JiqWmWMws46hwEt3hboaS1e1e4EoWCvj5b0M_jVwvSxBOAW5emFzvT3QrnRh4nyYmKDERnY";const baseUrl=link.split("/").slice(0,3).join("/"),streamLinks=[],vLinkText=(yield axios(`${link}`,{headers:headers,signal:signal})).data,$vLink=cheerio.load(vLinkText),vLinkRedirect=vLinkText.match(/var\s+url\s*=\s*'([^']+)';/)||[];let vcloudLink=hubcloudDecode(null===(_b=null===(_a=vLinkRedirect[1])||void 0===_a?void 0:_a.split("r="))||void 0===_b?void 0:_b[1])||vLinkRedirect[1]||$vLink(".fa-file-download.fa-lg").parent().attr("href")||link;(null==vcloudLink?void 0:vcloudLink.startsWith("/"))&&(vcloudLink=`${baseUrl}${vcloudLink}`);const vcloudRes=yield fetch(vcloudLink,{headers:headers,signal:signal,redirect:"follow"}),$=cheerio.load(yield vcloudRes.text()),linkClass=$(".btn-success.btn-lg.h6,.btn-danger,.btn-secondary");for(const element of linkClass){let link=$(element).attr("href")||"";switch(!0){case null==link?void 0:link.includes("pixeld"):if(!(null==link?void 0:link.includes("api"))){const token=link.split("/").pop(),baseUrl=link.split("/").slice(0,-2).join("/");link=`${baseUrl}/api/file/${token}?download`}streamLinks.push({server:"Pixeldrain",link:link,type:"mkv"});break;case(null==link?void 0:link.includes(".dev"))&&!(null==link?void 0:link.includes("/?id=")):streamLinks.push({server:"Cf Worker",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("hubcloud"))||(null==link?void 0:link.includes("/?id=")):try{const newLinkRes=yield fetch(link,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});let newLink=link;if(newLink=newLinkRes.status>=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||link:newLinkRes.url&&newLinkRes.url!==link?newLinkRes.url:newLinkRes.headers.get("location")||link,newLink.includes("googleusercontent"))newLink=newLink.split("?link=")[1];else{const newLinkRes2=yield fetch(newLink,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});newLink=newLinkRes2.status>=300&&newLinkRes2.status<400?(null===(_c=newLinkRes2.headers.get("location"))||void 0===_c?void 0:_c.split("?link=")[1])||newLink:newLinkRes2.url&&newLinkRes2.url!==newLink?newLinkRes2.url.split("?link=")[1]||newLinkRes2.url:(null===(_d=newLinkRes2.headers.get("location"))||void 0===_d?void 0:_d.split("?link=")[1])||newLink}streamLinks.push({server:"hubcloud",link:newLink,type:"mkv"})}catch(error){}break;case null==link?void 0:link.includes("cloudflarestorage"):streamLinks.push({server:"CfStorage",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("fastdl"))||(null==link?void 0:link.includes("fsl.")):streamLinks.push({server:"FastDl",link:link,type:"mkv"});break;case link.includes("hubcdn")&&!link.includes("/?id="):streamLinks.push({server:"HubCdn",link:link,type:"mkv"});break;default:if((null==link?void 0:link.includes(".mkv"))||(null==link?void 0:link.includes("?token="))){const serverName=(null===(_f=null===(_e=link.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/i))||void 0===_e?void 0:_e[1])||void 0===_f?void 0:_f.replace(/\./g," "))||"Unknown";streamLinks.push({server:serverName,link:link,type:"mkv"})}}}return streamLinks}catch(error){return[]}})}function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,signal:signal,providerContext:providerContext}){var _b,_c,_d,_e;const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;let hubdriveLink="";if(link.includes("hubdrive")){const hubdriveText=(yield axios.get(link,{headers:headers,signal:signal})).data;hubdriveLink=cheerio.load(hubdriveText)(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href")||link}else{const decodedString=decodeString(null===(_d=null===(_c=null===(_b=(yield axios.get(link,{headers:headers,signal:signal})).data.split("s('o','"))||void 0===_b?void 0:_b[1])||void 0===_c?void 0:_c.split("',180"))||void 0===_d?void 0:_d[0]);link=atob(null==decodedString?void 0:decodedString.o);const redirectLink=yield getRedirectLinks(link,signal,headers);if(redirectLink.includes("hubcloud")||redirectLink.includes("/drive/"))return yield hubcloudExtractor(redirectLink,signal,axios,cheerio,headers);const redirectLinkText=(yield axios.get(redirectLink,{headers:headers,signal:signal})).data;if(hubdriveLink=cheerio.load(redirectLinkText)('h3:contains("1080p")').find("a").attr("href")||redirectLinkText.match(/href="(https:\/\/hubcloud\.[^\/]+\/drive\/[^"]+)"/)[1],hubdriveLink.includes("hubdrive")){const hubdriveText=(yield axios.get(hubdriveLink,{headers:headers,signal:signal})).data;hubdriveLink=cheerio.load(hubdriveText)(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href")||hubdriveLink}}const hubcloudLink=(null===(_e=(yield axios.get(hubdriveLink,{headers:headers,signal:signal})).data.match(//i))||void 0===_e?void 0:_e[1])||hubdriveLink;try{return yield hubcloudExtractor(hubcloudLink,signal,axios,cheerio,headers)}catch(error){return[]}})}const encode=function(value){return btoa(value.toString())},decode=function(value){return void 0===value?"":atob(value.toString())},pen=function(value){return value.replace(/[a-zA-Z]/g,function(_0x1a470e){return String.fromCharCode((_0x1a470e<="Z"?90:122)>=(_0x1a470e=_0x1a470e.charCodeAt(0)+13)?_0x1a470e:_0x1a470e-26)})},abortableTimeout=(ms,{signal:signal}={})=>new Promise((resolve,reject)=>{if(signal&&signal.aborted)return reject(new Error("Aborted"));const timer=setTimeout(resolve,ms);signal&&signal.addEventListener("abort",()=>{clearTimeout(timer),reject(new Error("Aborted"))})});function getRedirectLinks(link,signal,headers){return __awaiter(this,void 0,void 0,function*(){try{const res=yield fetch(link,{headers:headers,signal:signal}),resText=yield res.text();for(var match,regex=/ck\('_wp_http_\d+','([^']+)'/g,combinedString="";null!==(match=regex.exec(resText));)combinedString+=match[1];const decodedString=decode(pen(decode(decode(combinedString)))),data=JSON.parse(decodedString),token=encode(null==data?void 0:data.data),blogLink=(null==data?void 0:data.wp_http1)+"?re="+token;let wait=abortableTimeout(1e3*(Number(null==data?void 0:data.total_time)+3),{signal:signal});yield wait;let vcloudLink="Invalid Request";for(;vcloudLink.includes("Invalid Request");){const blogRes=yield fetch(blogLink,{headers:headers,signal:signal}),blogResText=yield blogRes.text();if(!blogResText.includes("Invalid Request")){vcloudLink=blogResText.match(/var reurl = "([^"]+)"/)||"";break}}return blogLink||link}catch(err){return link}})}function rot13(str){return str.replace(/[a-zA-Z]/g,function(char){const charCode=char.charCodeAt(0),baseCharCode=char<="Z"?65:97;return String.fromCharCode((charCode-baseCharCode+13)%26+baseCharCode)})}function decodeString(encryptedString){try{let decoded=atob(encryptedString);return decoded=atob(decoded),decoded=rot13(decoded),decoded=atob(decoded),JSON.parse(decoded)}catch(error){return null}} \ No newline at end of file diff --git a/dist/Joya9tv/catalog.js b/dist/Joya9tv/catalog.js index 57311fa..dd1e19f 100644 --- a/dist/Joya9tv/catalog.js +++ b/dist/Joya9tv/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.catalog=void 0,exports.catalog=[{title:"Hollywood-Movies",filter:"genre/hollywood-movies/"},{title:"Bangali-Movies",filter:"genre/bengali-movies/"}]; \ No newline at end of file +exports.catalog=void 0,exports.catalog=[{title:"Hollywood-Movies",filter:"genre/hollywood-movies/"},{title:"Bangali-Movies",filter:"genre/bengali-movies/"}]; \ No newline at end of file diff --git a/dist/Joya9tv/episodes.js b/dist/Joya9tv/episodes.js index 161fba0..274a43a 100644 --- a/dist/Joya9tv/episodes.js +++ b/dist/Joya9tv/episodes.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;return axios.get(url,{headers:headers}).then(res=>{const $=cheerio.load(res.data),container=$("ul:has(p.font-bold:contains('Episode'))").first(),episodes=[];return container.find("p.font-bold").each((_,element)=>{const el=$(element);let title=el.text().trim();if(!title)return;let currentElement=el.parent();for(;currentElement.next().length&&!currentElement.next().find("p.font-bold").length;)currentElement=currentElement.next(),currentElement.find("a[href]").each((_,a)=>{var _a;const href=null===(_a=$(a).attr("href"))||void 0===_a?void 0:_a.trim();href&&(href.includes("hubcloud.one")||href.includes("gdflix.dev"))&&episodes.push({title:title.replace(/ Links$/i,""),link:href})})}),episodes}).catch(err=>[])};exports.getEpisodes=getEpisodes; \ No newline at end of file +exports.getEpisodes=void 0;const getEpisodes=function({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;return axios.get(url,{headers:headers}).then(res=>{const $=cheerio.load(res.data),container=$("ul:has(p.font-bold:contains('Episode'))").first(),episodes=[];return container.find("p.font-bold").each((_,element)=>{const el=$(element);let title=el.text().trim();if(!title)return;let currentElement=el.parent();for(;currentElement.next().length&&!currentElement.next().find("p.font-bold").length;)currentElement=currentElement.next(),currentElement.find("a[href]").each((_,a)=>{var _a;const href=null===(_a=$(a).attr("href"))||void 0===_a?void 0:_a.trim();href&&(href.includes("hubcloud.one")||href.includes("gdflix.dev"))&&episodes.push({title:title.replace(/ Links$/i,""),link:href})})}),episodes}).catch(err=>[])};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/Joya9tv/meta.js b/dist/Joya9tv/meta.js index 92f131d..10e7a1b 100644 --- a/dist/Joya9tv/meta.js +++ b/dist/Joya9tv/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;const{cheerio:cheerio}=providerContext,url=link,baseUrl=url.split("/").slice(0,3).join("/"),emptyResult={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]};try{const response=yield fetch(url,{headers:Object.assign(Object.assign({},headers),{Referer:baseUrl})}),data=yield response.text(),$=cheerio.load(data),infoContainer=$(".content.right").first(),result={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]};/S\d+|Season \d+|TV Series\/Shows/i.test(infoContainer.find("h1").text()+$(".sgeneros").text())?result.type="series":result.type="movie";const rawTitle=$("h1").first().text().trim();let finalTitle=rawTitle.replace(/ Download.*|\[Episode \d+ Added\]/g,"").trim();finalTitle=finalTitle.split(/\(2025\)| S\d+/i)[0].trim()||"Unknown Title",result.title=finalTitle;const imdbMatch=null===(_b=infoContainer.html())||void 0===_b?void 0:_b.match(/tt\d+/);result.imdbId=imdbMatch?imdbMatch[0]:"";let image=infoContainer.find(".poster img[src]").first().attr("src")||"";image.startsWith("//")&&(image="https:"+image),(image.includes("no-thumbnail")||image.includes("placeholder"))&&(image=""),result.image=image,result.synopsis=$("#info .wp-content").text().trim()||"";const links=[];return $("#download .links_table table tbody").find("tr").each((index,element)=>{var _a;const row=$(element),quality=row.find("strong.quality").text().trim(),size=row.find("td:nth-child(4)").text().trim(),directLinkAnchor=row.find("td a").first(),directLink=directLinkAnchor.attr("href"),linkTitle=directLinkAnchor.text().trim();if(quality&&directLink){const directLinks=[{title:linkTitle||"Download Link",link:directLink,type:result.type}],seasonMatch=null===(_a=rawTitle.match(/S(\d+)/))||void 0===_a?void 0:_a[1];let fullTitle=`${result.title}`;seasonMatch&&(fullTitle+=` Season ${seasonMatch}`),fullTitle+=` - ${quality}`,size&&(fullTitle+=` (${size})`),links.push({title:fullTitle,quality:quality.replace(/[^0-9p]/g,""),directLinks:directLinks})}}),result.linkList=links,result}catch(err){return emptyResult}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;const{cheerio:cheerio}=providerContext,url=link,baseUrl=url.split("/").slice(0,3).join("/"),emptyResult={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]};try{const response=yield fetch(url,{headers:Object.assign(Object.assign({},headers),{Referer:baseUrl})}),data=yield response.text(),$=cheerio.load(data),infoContainer=$(".content.right").first(),result={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]};/S\d+|Season \d+|TV Series\/Shows/i.test(infoContainer.find("h1").text()+$(".sgeneros").text())?result.type="series":result.type="movie";const rawTitle=$("h1").first().text().trim();let finalTitle=rawTitle.replace(/ Download.*|\[Episode \d+ Added\]/g,"").trim();finalTitle=finalTitle.split(/\(2025\)| S\d+/i)[0].trim()||"Unknown Title",result.title=finalTitle;const imdbMatch=null===(_b=infoContainer.html())||void 0===_b?void 0:_b.match(/tt\d+/);result.imdbId=imdbMatch?imdbMatch[0]:"";let image=infoContainer.find(".poster img[src]").first().attr("src")||"";image.startsWith("//")&&(image="https:"+image),(image.includes("no-thumbnail")||image.includes("placeholder"))&&(image=""),result.image=image,result.synopsis=$("#info .wp-content").text().trim()||"";const links=[];return $("#download .links_table table tbody").find("tr").each((index,element)=>{var _a;const row=$(element),quality=row.find("strong.quality").text().trim(),size=row.find("td:nth-child(4)").text().trim(),directLinkAnchor=row.find("td a").first(),directLink=directLinkAnchor.attr("href"),linkTitle=directLinkAnchor.text().trim();if(quality&&directLink){const directLinks=[{title:linkTitle||"Download Link",link:directLink,type:result.type}],seasonMatch=null===(_a=rawTitle.match(/S(\d+)/))||void 0===_a?void 0:_a[1];let fullTitle=`${result.title}`;seasonMatch&&(fullTitle+=` Season ${seasonMatch}`),fullTitle+=` - ${quality}`,size&&(fullTitle+=` (${size})`),links.push({title:fullTitle,quality:quality.replace(/[^0-9p]/g,""),directLinks:directLinks})}}),result.linkList=links,result}catch(err){return emptyResult}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/Joya9tv/posts.js b/dist/Joya9tv/posts.js index 574270e..8ec6e3b 100644 --- a/dist/Joya9tv/posts.js +++ b/dist/Joya9tv/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getPosts=getPosts,exports.getSearchPosts=getSearchPosts;const defaultHeaders={Referer:"https://www.google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language":"en-US,en;q=0.9",Pragma:"no-cache","Cache-Control":"no-cache"};function getPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:filter,page:page,query:"",signal:signal,providerContext:providerContext})})}function getSearchPosts(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:"",page:page,query:searchQuery,signal:signal,providerContext:providerContext})})}function fetchPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,query:query,page:page=1,signal:signal,providerContext:providerContext}){try{const baseUrl=yield providerContext.getBaseUrl("joya9tv");let url;if(query&&query.trim()&&"what are you looking for?"!==query.trim().toLowerCase()){const params=new URLSearchParams;params.append("s",query.trim()),page>1&¶ms.append("paged",page.toString()),url=`${baseUrl}/?${params.toString()}`}else url=filter?filter.startsWith("/")?`${baseUrl}${filter.replace(/\/$/,"")}${page>1?`/page/${page}`:""}`:`${baseUrl}/${filter}${page>1?`/page/${page}`:""}`:`${baseUrl}${page>1?`/page/${page}`:""}`;const{cheerio:cheerio}=providerContext,res=yield fetch(url,{headers:defaultHeaders,signal:signal}),data=yield res.text(),$=cheerio.load(data||""),resolveUrl=href=>(null==href?void 0:href.startsWith("http"))?href:new URL(href,baseUrl).href,seen=new Set,catalog=[];return $("article.item.movies").each((_,el)=>{const card=$(el);let link=card.find("div.data h3 a").attr("href")||"";if(!link)return;if(link=resolveUrl(link),seen.has(link))return;let title=card.find("div.data h3 a").text().trim();if(!title)return;let img=card.find("div.poster img").attr("src")||"";const image=img?resolveUrl(img):"";seen.add(link),catalog.push({title:title,link:link,image:image})}),$(".result-item article").each((_,el)=>{const card=$(el);let link=card.find("a").attr("href")||"";if(!link)return;if(link=resolveUrl(link),seen.has(link))return;let title=card.find("a").attr("title")||card.find("img").attr("alt")||"";if(title=title.trim(),!title)return;let img=card.find("img").attr("src")||"";const image=img?resolveUrl(img):"";seen.add(link),catalog.push({title:title,link:link,image:image})}),catalog.slice(0,100)}catch(err){return[]}})} \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getPosts=getPosts,exports.getSearchPosts=getSearchPosts;const defaultHeaders={Referer:"https://www.google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language":"en-US,en;q=0.9",Pragma:"no-cache","Cache-Control":"no-cache"};function getPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:filter,page:page,query:"",signal:signal,providerContext:providerContext})})}function getSearchPosts(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:"",page:page,query:searchQuery,signal:signal,providerContext:providerContext})})}function fetchPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,query:query,page:page=1,signal:signal,providerContext:providerContext}){try{const baseUrl=yield providerContext.getBaseUrl("joya9tv");let url;if(query&&query.trim()&&"what are you looking for?"!==query.trim().toLowerCase()){const params=new URLSearchParams;params.append("s",query.trim()),page>1&¶ms.append("paged",page.toString()),url=`${baseUrl}/?${params.toString()}`}else url=filter?filter.startsWith("/")?`${baseUrl}${filter.replace(/\/$/,"")}${page>1?`/page/${page}`:""}`:`${baseUrl}/${filter}${page>1?`/page/${page}`:""}`:`${baseUrl}${page>1?`/page/${page}`:""}`;const{cheerio:cheerio}=providerContext,res=yield fetch(url,{headers:defaultHeaders,signal:signal}),data=yield res.text(),$=cheerio.load(data||""),resolveUrl=href=>(null==href?void 0:href.startsWith("http"))?href:new URL(href,baseUrl).href,seen=new Set,catalog=[];return $("article.item.movies").each((_,el)=>{const card=$(el);let link=card.find("div.data h3 a").attr("href")||"";if(!link)return;if(link=resolveUrl(link),seen.has(link))return;let title=card.find("div.data h3 a").text().trim();if(!title)return;let img=card.find("div.poster img").attr("src")||"";const image=img?resolveUrl(img):"";seen.add(link),catalog.push({title:title,link:link,image:image})}),$(".result-item article").each((_,el)=>{const card=$(el);let link=card.find("a").attr("href")||"";if(!link)return;if(link=resolveUrl(link),seen.has(link))return;let title=card.find("a").attr("title")||card.find("img").attr("alt")||"";if(title=title.trim(),!title)return;let img=card.find("img").attr("src")||"";const image=img?resolveUrl(img):"";seen.add(link),catalog.push({title:title,link:link,image:image})}),catalog.slice(0,100)}catch(err){return[]}})} \ No newline at end of file diff --git a/dist/Joya9tv/stream.js b/dist/Joya9tv/stream.js index a7723b9..3b81a7e 100644 --- a/dist/Joya9tv/stream.js +++ b/dist/Joya9tv/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=getStream;const headers={accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","accept-language":"en-US,en;q=0.9,en-IN;q=0.8","cache-control":"no-cache",pragma:"no-cache",priority:"u=0, i","sec-ch-ua":'"Chromium";v="140", "Not=A?Brand";v="24", "Microsoft Edge";v="140"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"document","sec-fetch-mode":"navigate","sec-fetch-site":"none","sec-fetch-user":"?1","upgrade-insecure-requests":"1"};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,type:type,signal:signal,providerContext:providerContext}){var _b,_c,_d,_e;const{axios:axios,cheerio:cheerio,extractors:extractors}=providerContext,{hubcloudExtracter:hubcloudExtracter}=extractors;try{const streamLinks=[];if("movie"===type){const dotlinkRes=yield fetch(`${link}`,{headers:headers}),dotlinkText=yield dotlinkRes.text();link=(dotlinkText.match(/=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||link:newLinkRes.url&&newLinkRes.url!==link?newLinkRes.url:newLinkRes.headers.get("location")||link,newLink.includes("googleusercontent"))newLink=newLink.split("?link=")[1];else{const newLinkRes2=yield fetch(newLink,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});newLink=newLinkRes2.status>=300&&newLinkRes2.status<400?(null===(_c=newLinkRes2.headers.get("location"))||void 0===_c?void 0:_c.split("?link=")[1])||newLink:newLinkRes2.url&&newLinkRes2.url!==newLink?newLinkRes2.url.split("?link=")[1]||newLinkRes2.url:(null===(_d=newLinkRes2.headers.get("location"))||void 0===_d?void 0:_d.split("?link=")[1])||newLink}streamLinks.push({server:"hubcloud",link:newLink,type:"mkv"})}catch(error){}break;case null==link?void 0:link.includes("cloudflarestorage"):streamLinks.push({server:"CfStorage",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("fastdl"))||(null==link?void 0:link.includes("fsl.")):streamLinks.push({server:"FastDl",link:link,type:"mkv"});break;case link.includes("hubcdn")&&!link.includes("/?id="):streamLinks.push({server:"HubCdn",link:link,type:"mkv"});break;default:if((null==link?void 0:link.includes(".mkv"))||(null==link?void 0:link.includes("?token="))){const serverName=(null===(_f=null===(_e=link.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/i))||void 0===_e?void 0:_e[1])||void 0===_f?void 0:_f.replace(/\./g," "))||"Unknown";streamLinks.push({server:serverName,link:link,type:"mkv"})}}}return streamLinks}catch(error){return[]}})}const headers={accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","accept-language":"en-US,en;q=0.9,en-IN;q=0.8","cache-control":"no-cache",pragma:"no-cache",priority:"u=0, i","sec-ch-ua":'"Chromium";v="140", "Not=A?Brand";v="24", "Microsoft Edge";v="140"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"document","sec-fetch-mode":"navigate","sec-fetch-site":"none","sec-fetch-user":"?1","upgrade-insecure-requests":"1"};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,type:type,signal:signal,providerContext:providerContext}){var _b,_c,_d,_e;const{axios:axios,cheerio:cheerio,commonHeaders:commonHeaders}=providerContext;try{const streamLinks=[];if("movie"===type){const dotlinkRes=yield fetch(`${link}`,{headers:headers}),dotlinkText=yield dotlinkRes.text();link=(dotlinkText.match(/{const linkElement=$(element).find("td:first-child a"),fileName=linkElement.text().trim(),fileLink=linkElement.attr("href");if(fileName&&fileLink&&"../"!==fileName&&"Parent Directory"!==fileName&&(fileName.includes(".mp4")||fileName.includes(".mkv")||fileName.includes(".avi")||fileName.includes(".mov"))){const fullLink=fileLink;let episodeTitle=fileName;const episodeMatch=fileName.match(/[Ss](\d+)[Ee](\d+)/),simpleEpisodeMatch=fileName.match(/[Ee](\d+)/);if(episodeMatch)episodeTitle=`S${episodeMatch[1]}E${episodeMatch[2]} - ${fileName}`;else if(simpleEpisodeMatch)episodeTitle=`Episode ${simpleEpisodeMatch[1]} - ${fileName}`;else{const numberMatch=fileName.match(/(\d+)/);numberMatch&&(episodeTitle=`Episode ${numberMatch[1]} - ${fileName}`)}episodeLinks.push({title:episodeTitle,link:fullLink})}}),episodeLinks}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext;try{const html=(yield axios.get(url)).data,$=cheerio.load(html),episodeLinks=[];return $("table tbody tr").each((i,element)=>{const linkElement=$(element).find("td:first-child a"),fileName=linkElement.text().trim(),fileLink=linkElement.attr("href");if(fileName&&fileLink&&"../"!==fileName&&"Parent Directory"!==fileName&&(fileName.includes(".mp4")||fileName.includes(".mkv")||fileName.includes(".avi")||fileName.includes(".mov"))){const fullLink=fileLink;let episodeTitle=fileName;const episodeMatch=fileName.match(/[Ss](\d+)[Ee](\d+)/),simpleEpisodeMatch=fileName.match(/[Ee](\d+)/);if(episodeMatch)episodeTitle=`S${episodeMatch[1]}E${episodeMatch[2]} - ${fileName}`;else if(simpleEpisodeMatch)episodeTitle=`Episode ${simpleEpisodeMatch[1]} - ${fileName}`;else{const numberMatch=fileName.match(/(\d+)/);numberMatch&&(episodeTitle=`Episode ${numberMatch[1]} - ${fileName}`)}episodeLinks.push({title:episodeTitle,link:fullLink})}}),episodeLinks}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/a111477/meta.js b/dist/a111477/meta.js index 5d8948b..7341096 100644 --- a/dist/a111477/meta.js +++ b/dist/a111477/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),title=($("h1").text().trim()||url.split("/").filter(Boolean).pop()||"").replace("Index of /","").replace(/\/$/,""),links=[],directLinks=[];$("table tbody tr").each((i,element)=>{const linkElement=$(element).find("td:first-child a"),itemTitle=linkElement.text().trim(),itemLink=linkElement.attr("href");if(itemTitle&&itemLink&&"../"!==itemTitle&&"Parent Directory"!==itemTitle){const fullLink=itemLink;if(itemTitle.endsWith("/")){const cleanTitle=itemTitle.replace(/\/$/,"");links.push({episodesLink:link+itemLink,title:cleanTitle})}else(itemTitle.includes(".mp4")||itemTitle.includes(".mkv")||itemTitle.includes(".avi")||itemTitle.includes(".mov"))&&directLinks.push({title:itemTitle,link:fullLink})}}),directLinks.length>0&&links.push({title:title+" (Direct Files)",directLinks:directLinks});const type=links.some(link=>{var _a,_b;return(null===(_a=link.episodesLink)||void 0===_a?void 0:_a.includes("Season"))||(null===(_b=link.episodesLink)||void 0===_b?void 0:_b.includes("S0"))})||directLinks.length>1?"series":"movie";return{title:title,synopsis:"Content from 111477.xyz directory",image:`https://placehold.jp/23/000000/ffffff/300x450.png?text=${encodeURIComponent(title)}&css=%7B%22background%22%3A%22%20-webkit-gradient(linear%2C%20left%20bottom%2C%20left%20top%2C%20from(%233f3b3b)%2C%20to(%23000000))%22%2C%22text-transform%22%3A%22%20capitalize%22%7D`,imdbId:"",type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),title=($("h1").text().trim()||url.split("/").filter(Boolean).pop()||"").replace("Index of /","").replace(/\/$/,""),links=[],directLinks=[];$("table tbody tr").each((i,element)=>{const linkElement=$(element).find("td:first-child a"),itemTitle=linkElement.text().trim(),itemLink=linkElement.attr("href");if(itemTitle&&itemLink&&"../"!==itemTitle&&"Parent Directory"!==itemTitle){const fullLink=itemLink;if(itemTitle.endsWith("/")){const cleanTitle=itemTitle.replace(/\/$/,"");links.push({episodesLink:link+itemLink,title:cleanTitle})}else(itemTitle.includes(".mp4")||itemTitle.includes(".mkv")||itemTitle.includes(".avi")||itemTitle.includes(".mov"))&&directLinks.push({title:itemTitle,link:fullLink})}}),directLinks.length>0&&links.push({title:title+" (Direct Files)",directLinks:directLinks});const type=links.some(link=>{var _a,_b;return(null===(_a=link.episodesLink)||void 0===_a?void 0:_a.includes("Season"))||(null===(_b=link.episodesLink)||void 0===_b?void 0:_b.includes("S0"))})||directLinks.length>1?"series":"movie";return{title:title,synopsis:"Content from 111477.xyz directory",image:`https://placehold.jp/23/000000/ffffff/300x450.png?text=${encodeURIComponent(title)}&css=%7B%22background%22%3A%22%20-webkit-gradient(linear%2C%20left%20bottom%2C%20left%20top%2C%20from(%233f3b3b)%2C%20to(%23000000))%22%2C%22text-transform%22%3A%22%20capitalize%22%7D`,imdbId:"",type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/a111477/posts.js b/dist/a111477/posts.js index 75b276e..96734f7 100644 --- a/dist/a111477/posts.js +++ b/dist/a111477/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext;if(page>1)return[];const url=`https://a.111477.xyz${filter}`;return(yield posts({baseUrl:"https://a.111477.xyz",url:url,signal:signal,axios:axios,cheerio:cheerio})).slice(0,50)})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext,baseUrl="https://a.111477.xyz";if(page>1)return[];return[...yield posts({baseUrl:baseUrl,url:`${baseUrl}/movies/`,signal:signal,axios:axios,cheerio:cheerio}),...yield posts({baseUrl:baseUrl,url:`${baseUrl}/tvs/`,signal:signal,axios:axios,cheerio:cheerio})].filter(post=>{const title=post.title.toLowerCase(),query=searchQuery.toLowerCase();if(title.includes(query))return!0;const queryWords=query.split(/\s+/).filter(word=>word.length>0),titleWords=title.split(/[\s\-\.\(\)\[\]]+/).filter(word=>word.length>0);if(queryWords.every(queryWord=>titleWords.some(titleWord=>titleWord.includes(queryWord))))return!0;if(1===queryWords.length){const queryWord=queryWords[0];if(queryWord.length>=3){if(titleWords.some(titleWord=>titleWord.startsWith(queryWord)))return!0;if(titleWords.some(titleWord=>{if(Math.abs(titleWord.length-queryWord.length)>2)return!1;return levenshteinDistance(titleWord,queryWord)<=Math.max(1,Math.floor(.2*queryWord.length))}))return!0}}return!1})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({baseUrl:baseUrl,url:url,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data),catalog=[];return $("table tbody tr").each((i,element)=>{const linkElement=$(element).find("td:first-child a"),title=linkElement.text().trim(),link=linkElement.attr("href");if(title&&link&&"../"!==title&&"Parent Directory"!==title&&title.endsWith("/")){const cleanTitle=title.replace(/\/$/,""),fullLink=url+link,imageTitle=cleanTitle.length>30?cleanTitle.slice(0,30).replace(/\./g," "):cleanTitle.replace(/\./g," "),image=`https://placehold.jp/23/000000/ffffff/200x400.png?text=${encodeURIComponent(imageTitle)}&css=%7B%22background%22%3A%22%20-webkit-gradient(linear%2C%20left%20bottom%2C%20left%20top%2C%20from(%233f3b3b)%2C%20to(%23000000))%22%2C%22text-transform%22%3A%22%20capitalize%22%7D`;catalog.push({title:cleanTitle,link:fullLink,image:image})}}),catalog}catch(err){return[]}})}function levenshteinDistance(str1,str2){const matrix=Array(str2.length+1).fill(null).map(()=>Array(str1.length+1).fill(null));for(let i=0;i<=str1.length;i++)matrix[0][i]=i;for(let j=0;j<=str2.length;j++)matrix[j][0]=j;for(let j=1;j<=str2.length;j++)for(let i=1;i<=str1.length;i++){const indicator=str1[i-1]===str2[j-1]?0:1;matrix[j][i]=Math.min(matrix[j][i-1]+1,matrix[j-1][i]+1,matrix[j-1][i-1]+indicator)}return matrix[str2.length][str1.length]}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext;if(page>1)return[];const url=`https://a.111477.xyz${filter}`;return(yield posts({baseUrl:"https://a.111477.xyz",url:url,signal:signal,axios:axios,cheerio:cheerio})).slice(0,50)})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext,baseUrl="https://a.111477.xyz";if(page>1)return[];return[...yield posts({baseUrl:baseUrl,url:`${baseUrl}/movies/`,signal:signal,axios:axios,cheerio:cheerio}),...yield posts({baseUrl:baseUrl,url:`${baseUrl}/tvs/`,signal:signal,axios:axios,cheerio:cheerio})].filter(post=>{const title=post.title.toLowerCase(),query=searchQuery.toLowerCase();if(title.includes(query))return!0;const queryWords=query.split(/\s+/).filter(word=>word.length>0),titleWords=title.split(/[\s\-\.\(\)\[\]]+/).filter(word=>word.length>0);if(queryWords.every(queryWord=>titleWords.some(titleWord=>titleWord.includes(queryWord))))return!0;if(1===queryWords.length){const queryWord=queryWords[0];if(queryWord.length>=3){if(titleWords.some(titleWord=>titleWord.startsWith(queryWord)))return!0;if(titleWords.some(titleWord=>{if(Math.abs(titleWord.length-queryWord.length)>2)return!1;return levenshteinDistance(titleWord,queryWord)<=Math.max(1,Math.floor(.2*queryWord.length))}))return!0}}return!1})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({baseUrl:baseUrl,url:url,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data),catalog=[];return $("table tbody tr").each((i,element)=>{const linkElement=$(element).find("td:first-child a"),title=linkElement.text().trim(),link=linkElement.attr("href");if(title&&link&&"../"!==title&&"Parent Directory"!==title&&title.endsWith("/")){const cleanTitle=title.replace(/\/$/,""),fullLink=url+link,imageTitle=cleanTitle.length>30?cleanTitle.slice(0,30).replace(/\./g," "):cleanTitle.replace(/\./g," "),image=`https://placehold.jp/23/000000/ffffff/200x400.png?text=${encodeURIComponent(imageTitle)}&css=%7B%22background%22%3A%22%20-webkit-gradient(linear%2C%20left%20bottom%2C%20left%20top%2C%20from(%233f3b3b)%2C%20to(%23000000))%22%2C%22text-transform%22%3A%22%20capitalize%22%7D`;catalog.push({title:cleanTitle,link:fullLink,image:image})}}),catalog}catch(err){return[]}})}function levenshteinDistance(str1,str2){const matrix=Array(str2.length+1).fill(null).map(()=>Array(str1.length+1).fill(null));for(let i=0;i<=str1.length;i++)matrix[0][i]=i;for(let j=0;j<=str2.length;j++)matrix[j][0]=j;for(let j=1;j<=str2.length;j++)for(let i=1;i<=str1.length;i++){const indicator=str1[i-1]===str2[j-1]?0:1;matrix[j][i]=Math.min(matrix[j][i-1]+1,matrix[j-1][i]+1,matrix[j-1][i-1]+indicator)}return matrix[str2.length][str1.length]}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/a111477/stream.js b/dist/a111477/stream.js index 1aacbbf..454db2d 100644 --- a/dist/a111477/stream.js +++ b/dist/a111477/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url}){var _b;try{const stream=[],fileExtension=(null===(_b=url.split(".").pop())||void 0===_b?void 0:_b.toLowerCase())||"mp4";let streamType="mp4";return["mkv","avi","mov","webm"].includes(fileExtension)&&(streamType=fileExtension),stream.push({server:"111477.xyz",link:url,type:streamType,headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",Referer:"https://a.111477.xyz/"}}),stream}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url}){var _b;try{const stream=[],fileExtension=(null===(_b=url.split(".").pop())||void 0===_b?void 0:_b.toLowerCase())||"mp4";let streamType="mp4";return["mkv","avi","mov","webm"].includes(fileExtension)&&(streamType=fileExtension),stream.push({server:"111477.xyz",link:url,type:streamType,headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",Referer:"https://a.111477.xyz/"}}),stream}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/animetsu/catalog.js b/dist/animetsu/catalog.js index f033b81..79e38fa 100644 --- a/dist/animetsu/catalog.js +++ b/dist/animetsu/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Popular",filter:"/api/anime/search?query=&page=1&perPage=35&year=any&sort=favourites&season=any&format=any&status=any"},{title:"Trending",filter:"/api/anime/search?query=&page=1&perPage=35&year=any&sort=trending&season=any&format=any&status=any"},{title:"Top Rated",filter:"/api/anime/search?query=&page=1&perPage=35&year=any&sort=rating&season=any&format=any&status=any"},{title:"Favourites",filter:"/api/anime/search?query=&page=1&perPage=35&year=any&sort=updated&season=any&format=any&status=any"}],exports.genres=[]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Popular",filter:"/api/anime/search?query=&page=1&perPage=35&year=any&sort=favourites&season=any&format=any&status=any"},{title:"Trending",filter:"/api/anime/search?query=&page=1&perPage=35&year=any&sort=trending&season=any&format=any&status=any"},{title:"Top Rated",filter:"/api/anime/search?query=&page=1&perPage=35&year=any&sort=rating&season=any&format=any&status=any"},{title:"Favourites",filter:"/api/anime/search?query=&page=1&perPage=35&year=any&sort=updated&season=any&format=any&status=any"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/animetsu/meta.js b/dist/animetsu/meta.js index beacfc2..d48aea4 100644 --- a/dist/animetsu/meta.js +++ b/dist/animetsu/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g;try{const{axios:axios}=providerContext,baseUrl="https://backend.animetsu.to",url=`${baseUrl}/api/anime/info/${link}`,data=(yield axios.get(url,{headers:{Referer:"https://animetsu.to/"}})).data,meta={title:(null===(_b=data.title)||void 0===_b?void 0:_b.english)||(null===(_c=data.title)||void 0===_c?void 0:_c.romaji)||(null===(_d=data.title)||void 0===_d?void 0:_d.native)||"",synopsis:data.description||"",image:(null===(_e=data.coverImage)||void 0===_e?void 0:_e.extraLarge)||(null===(_f=data.coverImage)||void 0===_f?void 0:_f.large)||(null===(_g=data.coverImage)||void 0===_g?void 0:_g.medium)||"",tags:[null==data?void 0:data.format,null==data?void 0:data.status,...(null==data?void 0:data.genres)||[]].filter(Boolean),imdbId:"",type:"MOVIE"===data.format?"movie":"series"},linkList=[];try{const episodes=(yield axios.get(`${baseUrl}/api/anime/eps/${link}`,{headers:{Referer:"https://animetsu.to/"}})).data;if(episodes&&episodes.length>0){const directLinks=[];episodes.forEach(episode=>{const title=`Episode ${episode.number}`,episodeLink=`${link}:${episode.number}`;episodeLink&&title&&directLinks.push({title:title,link:episodeLink})}),linkList.push({title:meta.title,directLinks:directLinks})}else linkList.push({title:meta.title,directLinks:[{title:"Movie",link:`${link}:1`}]})}catch(episodeErr){linkList.push({title:meta.title,directLinks:[{title:meta.title,link:`${link}:1`}]})}return Object.assign(Object.assign({},meta),{linkList:linkList})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g;try{const{axios:axios}=providerContext,baseUrl="https://backend.animetsu.to",url=`${baseUrl}/api/anime/info/${link}`,data=(yield axios.get(url,{headers:{Referer:"https://animetsu.to/"}})).data,meta={title:(null===(_b=data.title)||void 0===_b?void 0:_b.english)||(null===(_c=data.title)||void 0===_c?void 0:_c.romaji)||(null===(_d=data.title)||void 0===_d?void 0:_d.native)||"",synopsis:data.description||"",image:(null===(_e=data.coverImage)||void 0===_e?void 0:_e.extraLarge)||(null===(_f=data.coverImage)||void 0===_f?void 0:_f.large)||(null===(_g=data.coverImage)||void 0===_g?void 0:_g.medium)||"",tags:[null==data?void 0:data.format,null==data?void 0:data.status,...(null==data?void 0:data.genres)||[]].filter(Boolean),imdbId:"",type:"MOVIE"===data.format?"movie":"series"},linkList=[];try{const episodes=(yield axios.get(`${baseUrl}/api/anime/eps/${link}`,{headers:{Referer:"https://animetsu.to/"}})).data;if(episodes&&episodes.length>0){const directLinks=[];episodes.forEach(episode=>{const title=`Episode ${episode.number}`,episodeLink=`${link}:${episode.number}`;episodeLink&&title&&directLinks.push({title:title,link:episodeLink})}),linkList.push({title:meta.title,directLinks:directLinks})}else linkList.push({title:meta.title,directLinks:[{title:"Movie",link:`${link}:1`}]})}catch(episodeErr){linkList.push({title:meta.title,directLinks:[{title:meta.title,link:`${link}:1`}]})}return Object.assign(Object.assign({},meta),{linkList:linkList})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/animetsu/posts.js b/dist/animetsu/posts.js index 332fdd6..f2b48e7 100644 --- a/dist/animetsu/posts.js +++ b/dist/animetsu/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{axios:axios}=providerContext;return posts({url:("https://backend.animetsu.to"+filter+"&page="+page.toString()).toString(),signal:signal,axios:axios})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{axios:axios}=providerContext;return posts({url:`https://backend.animetsu.to/api/anime/search?query=${encodeURIComponent(searchQuery)}&page=${page}&perPage=35&year=any&sort=favourites&season=any&format=any&status=any`,signal:signal,axios:axios})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,axios:axios}){var _b;try{const data=null===(_b=(yield axios.get(url,{signal:signal,headers:{Referer:"https://animetsu.to/"}})).data)||void 0===_b?void 0:_b.results,catalog=[];return null==data||data.map(element=>{var _a,_b,_c,_d,_e,_f,_g;const title=(null===(_a=element.title)||void 0===_a?void 0:_a.english)||(null===(_b=element.title)||void 0===_b?void 0:_b.romaji)||(null===(_c=element.title)||void 0===_c?void 0:_c.native),link=null===(_d=element.id)||void 0===_d?void 0:_d.toString(),image=(null===(_e=element.coverImage)||void 0===_e?void 0:_e.large)||(null===(_f=element.coverImage)||void 0===_f?void 0:_f.extraLarge)||(null===(_g=element.coverImage)||void 0===_g?void 0:_g.medium);title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{axios:axios}=providerContext;return posts({url:("https://backend.animetsu.to"+filter+"&page="+page.toString()).toString(),signal:signal,axios:axios})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{axios:axios}=providerContext;return posts({url:`https://backend.animetsu.to/api/anime/search?query=${encodeURIComponent(searchQuery)}&page=${page}&perPage=35&year=any&sort=favourites&season=any&format=any&status=any`,signal:signal,axios:axios})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,axios:axios}){var _b;try{const data=null===(_b=(yield axios.get(url,{signal:signal,headers:{Referer:"https://animetsu.to/"}})).data)||void 0===_b?void 0:_b.results,catalog=[];return null==data||data.map(element=>{var _a,_b,_c,_d,_e,_f,_g;const title=(null===(_a=element.title)||void 0===_a?void 0:_a.english)||(null===(_b=element.title)||void 0===_b?void 0:_b.romaji)||(null===(_c=element.title)||void 0===_c?void 0:_c.native),link=null===(_d=element.id)||void 0===_d?void 0:_d.toString(),image=(null===(_e=element.coverImage)||void 0===_e?void 0:_e.large)||(null===(_f=element.coverImage)||void 0===_f?void 0:_f.extraLarge)||(null===(_g=element.coverImage)||void 0===_g?void 0:_g.medium);title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/animetsu/stream.js b/dist/animetsu/stream.js index 69aabae..e5d05ee 100644 --- a/dist/animetsu/stream.js +++ b/dist/animetsu/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,providerContext:providerContext}){try{const{axios:axios}=providerContext,baseUrl="https://backend.animetsu.to",[animeId,episodeNumber]=id.split(":");if(!animeId||!episodeNumber)throw new Error("Invalid link format");const servers=["pahe","zoro"],streamLinks=[];return yield Promise.all(servers.map(server=>__awaiter(this,void 0,void 0,function*(){try{const url=`${baseUrl}/api/anime/tiddies?server=${server}&id=${animeId}&num=${episodeNumber}&subType=sub`,res=yield axios.get(url,{headers:{Referer:"https://animetsu.to/"}});if(res.data&&res.data.sources){const subtitles=[];res.data.sources.forEach(source=>{streamLinks.push({server:server+`: ${source.quality}`,link:`https://m3u8.8man.workers.dev?url=${source.url}`,type:"m3u8",quality:source.quality,headers:{referer:"https://animetsu.to/"},subtitles:subtitles.length>0?subtitles:[]})})}}catch(e){}}))),yield Promise.all(servers.map(server=>__awaiter(this,void 0,void 0,function*(){try{const url=`${baseUrl}/api/anime/tiddies?server=${server}&id=${animeId}&num=${episodeNumber}&subType=dub`,res=yield axios.get(url,{headers:{referer:"https://animetsu.to/"}});if(res.data&&res.data.sources){const subtitles=[];res.data.sources.forEach(source=>{streamLinks.push({server:`${server} (Dub) : ${source.quality}`,link:`https://m3u8.8man.workers.dev?url=${source.url}`,type:"m3u8",quality:source.quality,headers:{referer:"https://animetsu.to/"},subtitles:subtitles.length>0?subtitles:[]})})}}catch(e){}}))),streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,providerContext:providerContext}){try{const{axios:axios}=providerContext,baseUrl="https://backend.animetsu.to",[animeId,episodeNumber]=id.split(":");if(!animeId||!episodeNumber)throw new Error("Invalid link format");const servers=["pahe","zoro"],streamLinks=[];return yield Promise.all(servers.map(server=>__awaiter(this,void 0,void 0,function*(){try{const url=`${baseUrl}/api/anime/tiddies?server=${server}&id=${animeId}&num=${episodeNumber}&subType=sub`,res=yield axios.get(url,{headers:{Referer:"https://animetsu.to/"}});if(res.data&&res.data.sources){const subtitles=[];res.data.sources.forEach(source=>{streamLinks.push({server:server+`: ${source.quality}`,link:`https://m3u8.8man.workers.dev?url=${source.url}`,type:"m3u8",quality:source.quality,headers:{referer:"https://animetsu.to/"},subtitles:subtitles.length>0?subtitles:[]})})}}catch(e){}}))),yield Promise.all(servers.map(server=>__awaiter(this,void 0,void 0,function*(){try{const url=`${baseUrl}/api/anime/tiddies?server=${server}&id=${animeId}&num=${episodeNumber}&subType=dub`,res=yield axios.get(url,{headers:{referer:"https://animetsu.to/"}});if(res.data&&res.data.sources){const subtitles=[];res.data.sources.forEach(source=>{streamLinks.push({server:`${server} (Dub) : ${source.quality}`,link:`https://m3u8.8man.workers.dev?url=${source.url}`,type:"m3u8",quality:source.quality,headers:{referer:"https://animetsu.to/"},subtitles:subtitles.length>0?subtitles:[]})})}}catch(e){}}))),streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/autoEmbed/catalog.js b/dist/autoEmbed/catalog.js index deea42f..ac6834e 100644 --- a/dist/autoEmbed/catalog.js +++ b/dist/autoEmbed/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Popular Movies",filter:"/top/catalog/movie/top.json"},{title:"Popular TV Shows",filter:"/top/catalog/series/top.json"},{title:"Featured Movies",filter:"/imdbRating/catalog/movie/imdbRating.json"},{title:"Featured TV Shows",filter:"/imdbRating/catalog/series/imdbRating.json"}],exports.genres=[]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Popular Movies",filter:"/top/catalog/movie/top.json"},{title:"Popular TV Shows",filter:"/top/catalog/series/top.json"},{title:"Featured Movies",filter:"/imdbRating/catalog/movie/imdbRating.json"},{title:"Featured TV Shows",filter:"/imdbRating/catalog/series/imdbRating.json"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/autoEmbed/meta.js b/dist/autoEmbed/meta.js index 0f41849..402d2b6 100644 --- a/dist/autoEmbed/meta.js +++ b/dist/autoEmbed/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m,_o,_p,_q;const axios=providerContext.axios;try{const data=(yield axios.get(link)).data,meta={title:(null===(_b=null==data?void 0:data.meta)||void 0===_b?void 0:_b.name)||"",synopsis:(null===(_c=null==data?void 0:data.meta)||void 0===_c?void 0:_c.description)||"",image:(null===(_d=null==data?void 0:data.meta)||void 0===_d?void 0:_d.background)||"",imdbId:(null===(_e=null==data?void 0:data.meta)||void 0===_e?void 0:_e.imdb_id)||"",type:(null===(_f=null==data?void 0:data.meta)||void 0===_f?void 0:_f.type)||"movie"},links=[];let directLinks=[],season=new Map;if("series"===meta.type){null===(_h=null===(_g=null==data?void 0:data.meta)||void 0===_g?void 0:_g.videos)||void 0===_h||_h.map(video=>{var _a,_b,_c,_d,_e,_f,_g,_h;(null==video?void 0:video.season)<=0||(season.has(null==video?void 0:video.season)||season.set(null==video?void 0:video.season,[]),season.get(null==video?void 0:video.season).push({title:"Episode "+(null==video?void 0:video.episode),type:"series",link:JSON.stringify({title:null===(_a=null==data?void 0:data.meta)||void 0===_a?void 0:_a.name,imdbId:null===(_b=null==data?void 0:data.meta)||void 0===_b?void 0:_b.imdb_id,season:null===(_c=null==video?void 0:video.id)||void 0===_c?void 0:_c.split(":")[1],episode:null===(_d=null==video?void 0:video.id)||void 0===_d?void 0:_d.split(":")[2],type:null===(_e=null==data?void 0:data.meta)||void 0===_e?void 0:_e.type,tmdbId:(null===(_g=null===(_f=null==data?void 0:data.meta)||void 0===_f?void 0:_f.moviedb_id)||void 0===_g?void 0:_g.toString())||"",year:null===(_h=null==data?void 0:data.meta)||void 0===_h?void 0:_h.year})}))});const keys=Array.from(season.keys());keys.sort(),keys.map(key=>{directLinks=season.get(key),links.push({title:`Season ${key}`,directLinks:directLinks})})}else links.push({title:null===(_j=null==data?void 0:data.meta)||void 0===_j?void 0:_j.name,directLinks:[{title:"Movie",type:"movie",link:JSON.stringify({title:null===(_k=null==data?void 0:data.meta)||void 0===_k?void 0:_k.name,imdbId:null===(_l=null==data?void 0:data.meta)||void 0===_l?void 0:_l.imdb_id,season:"",episode:"",type:null===(_m=null==data?void 0:data.meta)||void 0===_m?void 0:_m.type,tmdbId:(null===(_p=null===(_o=null==data?void 0:data.meta)||void 0===_o?void 0:_o.moviedb_id)||void 0===_p?void 0:_p.toString())||"",year:null===(_q=null==data?void 0:data.meta)||void 0===_q?void 0:_q.year})}]});return Object.assign(Object.assign({},meta),{linkList:links})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m,_o,_p,_q;const axios=providerContext.axios;try{const data=(yield axios.get(link)).data,meta={title:(null===(_b=null==data?void 0:data.meta)||void 0===_b?void 0:_b.name)||"",synopsis:(null===(_c=null==data?void 0:data.meta)||void 0===_c?void 0:_c.description)||"",image:(null===(_d=null==data?void 0:data.meta)||void 0===_d?void 0:_d.background)||"",imdbId:(null===(_e=null==data?void 0:data.meta)||void 0===_e?void 0:_e.imdb_id)||"",type:(null===(_f=null==data?void 0:data.meta)||void 0===_f?void 0:_f.type)||"movie"},links=[];let directLinks=[],season=new Map;if("series"===meta.type){null===(_h=null===(_g=null==data?void 0:data.meta)||void 0===_g?void 0:_g.videos)||void 0===_h||_h.map(video=>{var _a,_b,_c,_d,_e,_f,_g,_h;(null==video?void 0:video.season)<=0||(season.has(null==video?void 0:video.season)||season.set(null==video?void 0:video.season,[]),season.get(null==video?void 0:video.season).push({title:"Episode "+(null==video?void 0:video.episode),type:"series",link:JSON.stringify({title:null===(_a=null==data?void 0:data.meta)||void 0===_a?void 0:_a.name,imdbId:null===(_b=null==data?void 0:data.meta)||void 0===_b?void 0:_b.imdb_id,season:null===(_c=null==video?void 0:video.id)||void 0===_c?void 0:_c.split(":")[1],episode:null===(_d=null==video?void 0:video.id)||void 0===_d?void 0:_d.split(":")[2],type:null===(_e=null==data?void 0:data.meta)||void 0===_e?void 0:_e.type,tmdbId:(null===(_g=null===(_f=null==data?void 0:data.meta)||void 0===_f?void 0:_f.moviedb_id)||void 0===_g?void 0:_g.toString())||"",year:null===(_h=null==data?void 0:data.meta)||void 0===_h?void 0:_h.year})}))});const keys=Array.from(season.keys());keys.sort(),keys.map(key=>{directLinks=season.get(key),links.push({title:`Season ${key}`,directLinks:directLinks})})}else links.push({title:null===(_j=null==data?void 0:data.meta)||void 0===_j?void 0:_j.name,directLinks:[{title:"Movie",type:"movie",link:JSON.stringify({title:null===(_k=null==data?void 0:data.meta)||void 0===_k?void 0:_k.name,imdbId:null===(_l=null==data?void 0:data.meta)||void 0===_l?void 0:_l.imdb_id,season:"",episode:"",type:null===(_m=null==data?void 0:data.meta)||void 0===_m?void 0:_m.type,tmdbId:(null===(_p=null===(_o=null==data?void 0:data.meta)||void 0===_o?void 0:_o.moviedb_id)||void 0===_p?void 0:_p.toString())||"",year:null===(_q=null==data?void 0:data.meta)||void 0===_q?void 0:_q.year})}]});return Object.assign(Object.assign({},meta),{linkList:links})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/autoEmbed/posts.js b/dist/autoEmbed/posts.js index 1573358..c0ef9e6 100644 --- a/dist/autoEmbed/posts.js +++ b/dist/autoEmbed/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,signal:signal,providerContext:providerContext}){try{const catalog=[],url="https://cinemeta-catalogs.strem.io"+filter,data=(yield providerContext.axios.get(url,{headers:providerContext.commonHeaders,signal:signal})).data;return null==data||data.metas.map(result=>{const title=null==result?void 0:result.name,id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),type=null==result?void 0:result.type,image=null==result?void 0:result.poster;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})}),catalog}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){try{if(page>1)return[];const catalog=[],url1=`https://v3-cinemeta.strem.io/catalog/series/top/search=${encodeURI(searchQuery)}.json`,url2=`https://v3-cinemeta.strem.io/catalog/movie/top/search=${encodeURI(searchQuery)}.json`,data=(yield providerContext.axios.get(url1,{headers:providerContext.commonHeaders,signal:signal})).data;null==data||data.metas.map(result=>{const title=result.name||"",id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),image=null==result?void 0:result.poster,type=null==result?void 0:result.type;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})});const data2=(yield providerContext.axios.get(url2,{headers:providerContext.commonHeaders,signal:signal})).data;return null==data2||data2.metas.map(result=>{const title=(null==result?void 0:result.name)||"",id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),image=null==result?void 0:result.poster,type=null==result?void 0:result.type;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})}),catalog}catch(err){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,signal:signal,providerContext:providerContext}){try{const catalog=[],url="https://cinemeta-catalogs.strem.io"+filter,data=(yield providerContext.axios.get(url,{headers:providerContext.commonHeaders,signal:signal})).data;return null==data||data.metas.map(result=>{const title=null==result?void 0:result.name,id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),type=null==result?void 0:result.type,image=null==result?void 0:result.poster;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})}),catalog}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){try{if(page>1)return[];const catalog=[],url1=`https://v3-cinemeta.strem.io/catalog/series/top/search=${encodeURI(searchQuery)}.json`,url2=`https://v3-cinemeta.strem.io/catalog/movie/top/search=${encodeURI(searchQuery)}.json`,data=(yield providerContext.axios.get(url1,{headers:providerContext.commonHeaders,signal:signal})).data;null==data||data.metas.map(result=>{const title=result.name||"",id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),image=null==result?void 0:result.poster,type=null==result?void 0:result.type;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})});const data2=(yield providerContext.axios.get(url2,{headers:providerContext.commonHeaders,signal:signal})).data;return null==data2||data2.metas.map(result=>{const title=(null==result?void 0:result.name)||"",id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),image=null==result?void 0:result.poster,type=null==result?void 0:result.type;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})}),catalog}catch(err){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/autoEmbed/stream.js b/dist/autoEmbed/stream.js index cc98f21..bc72207 100644 --- a/dist/autoEmbed/stream.js +++ b/dist/autoEmbed/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0,exports.getWebstreamerStream=getWebstreamerStream,exports.getRiveStream=getRiveStream;const getStream=_a=>__awaiter(void 0,[_a],void 0,function*({link:id,type:type,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j;try{const streams=[],payload=(()=>{try{return JSON.parse(id)}catch(_a){return{tmdbId:id}}})(),tmdbId=null!==(_d=null!==(_c=null!==(_b=payload.tmdbId)&&void 0!==_b?_b:payload.id)&&void 0!==_c?_c:payload.tmdId)&&void 0!==_d?_d:"",imdbId=null!==(_e=payload.imdbId)&&void 0!==_e?_e:"",season=null!==(_f=payload.season)&&void 0!==_f?_f:"",episode=null!==(_g=payload.episode)&&void 0!==_g?_g:"",effectiveType=null!==(_j=null!==(_h=payload.type)&&void 0!==_h?_h:type)&&void 0!==_j?_j:"movie";return yield getWebstreamerStream(String(imdbId),episode,season,effectiveType,streams,providerContext),yield getRiveStream(String(tmdbId),episode,season,effectiveType,streams,providerContext),streams}catch(err){return[]}});function getWebstreamerStream(imdbId,episode,season,type,Streams,providerContext){return __awaiter(this,void 0,void 0,function*(){var _a;if(!imdbId||"undefined"===imdbId)return;const url=`https://webstreamr.hayd.uk/{"multi":"on","al":"on","de":"on","es":"on","fr":"on","hi":"on","it":"on","mx":"on","mediaFlowProxyUrl":"","mediaFlowProxyPassword":""}/stream/${type}/${imdbId}${"series"===type?`:${season}:${episode}`:""}.json`;try{null===(_a=(yield providerContext.axios.get(encodeURI(url),{timeout:3e4,headers:providerContext.commonHeaders})).data)||void 0===_a||_a.streams.forEach(source=>{const url=null==source?void 0:source.url,name=(null==source?void 0:source.name)||"WebStreamer",qualityMatch=null==name?void 0:name.match(/(\d{3,4})p/),quality=qualityMatch?qualityMatch[1]:void 0;Streams.push({server:name,link:url,type:type,quality:quality})})}catch(e){throw e}})}function getRiveStream(tmdId,episode,season,type,Streams,providerContext){return __awaiter(this,void 0,void 0,function*(){if(!tmdId||"undefined"===tmdId)return;const secret=generateSecretKey(tmdId),baseUrl=yield providerContext.getBaseUrl("rive"),cors=process.env.CORS_PRXY?process.env.CORS_PRXY+"?url=":"",route="series"===type?`/api/backendfetch?requestID=tvVideoProvider&id=${tmdId}&season=${season}&episode=${episode}&secretKey=${secret}&service=`:`/api/backendfetch?requestID=movieVideoProvider&id=${tmdId}&secretKey=${secret}&service=`,url=cors?cors+encodeURIComponent(baseUrl+route):baseUrl+route;yield Promise.all(["flowcast","asiacloud","humpy","primevids","shadow","hindicast","animez","aqua","yggdrasil","putafilme","ophim"].map(server=>__awaiter(this,void 0,void 0,function*(){var _a,_b;try{const res=yield providerContext.axios.get(url+server,{timeout:8e3});null===(_b=null===(_a=res.data)||void 0===_a?void 0:_a.data)||void 0===_b||_b.sources.forEach(source=>{Streams.push({server:(null==source?void 0:source.source)+"-"+(null==source?void 0:source.quality),link:null==source?void 0:source.url,type:"hls"===(null==source?void 0:source.format)?"m3u8":"mp4",quality:null==source?void 0:source.quality,headers:{referer:baseUrl}})})}catch(e){}})))})}function generateSecretKey(id){const c=["4Z7lUo","gwIVSMD","PLmz2elE2v","Z4OFV0","SZ6RZq6Zc","zhJEFYxrz8","FOm7b0","axHS3q4KDq","o9zuXQ","4Aebt","wgjjWwKKx","rY4VIxqSN","kfjbnSo","2DyrFA1M","YUixDM9B","JQvgEj0","mcuFx6JIek","eoTKe26gL","qaI9EVO1rB","0xl33btZL","1fszuAU","a7jnHzst6P","wQuJkX","cBNhTJlEOf","KNcFWhDvgT","XipDGjST","PCZJlbHoyt","2AYnMZkqd","HIpJh","KH0C3iztrG","W81hjts92","rJhAT","NON7LKoMQ","NMdY3nsKzI","t4En5v","Qq5cOQ9H","Y9nwrp","VX5FYVfsf","cE5SJG","x1vj1","HegbLe","zJ3nmt4OA","gt7rxW57dq","clIE9b","jyJ9g","B5jXjMCSx","cOzZBZTV","FTXGy","Dfh1q1","ny9jqZ2POI","X2NnMn","MBtoyD","qz4Ilys7wB","68lbOMye","3YUJnmxp","1fv5Imona","PlfvvXD7mA","ZarKfHCaPR","owORnX","dQP1YU","dVdkx","qgiK0E","cx9wQ","5F9bGa","7UjkKrp","Yvhrj","wYXez5Dg3","pG4GMU","MwMAu","rFRD5wlM"];if(void 0===id)return"rive";try{let t,n;const r=String(id);if(isNaN(Number(id))){const sum=r.split("").reduce((e,ch)=>e+ch.charCodeAt(0),0);t=c[sum%c.length]||btoa(r),n=Math.floor(sum%r.length/2)}else{const num=Number(id);t=c[num%c.length]||btoa(r),n=Math.floor(num%r.length/2)}const i=r.slice(0,n)+t+r.slice(n),innerHash=e=>{e=String(e);let t=0;for(let n=0;n>>0)<>>32-n%5)>>>0;t=(t^i^(r<>>8-n%7)>>>0)>>>0,t=t+(t>>>11^t<<3)>>>0}return t^=t>>>15,t=49842*(65535&t)+((49842*(t>>>16)&65535)<<16)>>>0,t^=t>>>13,t=40503*(65535&t)+((40503*(t>>>16)&65535)<<16)>>>0,t^=t>>>16,t.toString(16).padStart(8,"0")},outerHash=e=>{const t=String(e);let n=(3735928559^t.length)>>>0;for(let idx=0;idx>>25)>>>0^r;n=(60205*(65535&n)>>>0)+(60205*(n>>>16)<<16>>>0)>>>0,n^=n>>>11}return n^=n>>>15,n=49842*(65535&n)+(49842*(n>>>16)<<16)>>>0>>>0,n^=n>>>13,n=40503*(65535&n)+(40503*(n>>>16)<<16)>>>0>>>0,n^=n>>>16,n=10196*(65535&n)+(10196*(n>>>16)<<16)>>>0>>>0,n^=n>>>15,n.toString(16).padStart(8,"0")},o=outerHash(innerHash(i));return btoa(o)}catch(e){return"topSecret"}}exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0,exports.getWebstreamerStream=getWebstreamerStream,exports.getRiveStream=getRiveStream;const getStream=_a=>__awaiter(void 0,[_a],void 0,function*({link:id,type:type,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j;try{const streams=[],payload=(()=>{try{return JSON.parse(id)}catch(_a){return{tmdbId:id}}})(),tmdbId=null!==(_d=null!==(_c=null!==(_b=payload.tmdbId)&&void 0!==_b?_b:payload.id)&&void 0!==_c?_c:payload.tmdId)&&void 0!==_d?_d:"",imdbId=null!==(_e=payload.imdbId)&&void 0!==_e?_e:"",season=null!==(_f=payload.season)&&void 0!==_f?_f:"",episode=null!==(_g=payload.episode)&&void 0!==_g?_g:"",effectiveType=null!==(_j=null!==(_h=payload.type)&&void 0!==_h?_h:type)&&void 0!==_j?_j:"movie";return yield getWebstreamerStream(String(imdbId),episode,season,effectiveType,streams,providerContext),yield getRiveStream(String(tmdbId),episode,season,effectiveType,streams,providerContext),streams}catch(err){return[]}});function getWebstreamerStream(imdbId,episode,season,type,Streams,providerContext){return __awaiter(this,void 0,void 0,function*(){var _a;if(!imdbId||"undefined"===imdbId)return;const url=`https://webstreamr.hayd.uk/{"multi":"on","al":"on","de":"on","es":"on","fr":"on","hi":"on","it":"on","mx":"on","mediaFlowProxyUrl":"","mediaFlowProxyPassword":""}/stream/${type}/${imdbId}${"series"===type?`:${season}:${episode}`:""}.json`;try{null===(_a=(yield providerContext.axios.get(encodeURI(url),{timeout:3e4,headers:providerContext.commonHeaders})).data)||void 0===_a||_a.streams.forEach(source=>{const url=null==source?void 0:source.url,name=(null==source?void 0:source.name)||"WebStreamer",qualityMatch=null==name?void 0:name.match(/(\d{3,4})p/),quality=qualityMatch?qualityMatch[1]:void 0;Streams.push({server:name,link:url,type:type,quality:quality})})}catch(e){throw e}})}function getRiveStream(tmdId,episode,season,type,Streams,providerContext){return __awaiter(this,void 0,void 0,function*(){if(!tmdId||"undefined"===tmdId)return;const secret=generateSecretKey(tmdId),baseUrl=yield providerContext.getBaseUrl("rive"),cors=process.env.CORS_PRXY?process.env.CORS_PRXY+"?url=":"",route="series"===type?`/api/backendfetch?requestID=tvVideoProvider&id=${tmdId}&season=${season}&episode=${episode}&secretKey=${secret}&service=`:`/api/backendfetch?requestID=movieVideoProvider&id=${tmdId}&secretKey=${secret}&service=`,url=cors?cors+encodeURIComponent(baseUrl+route):baseUrl+route;yield Promise.all(["flowcast","asiacloud","humpy","primevids","shadow","hindicast","animez","aqua","yggdrasil","putafilme","ophim"].map(server=>__awaiter(this,void 0,void 0,function*(){var _a,_b;try{const res=yield providerContext.axios.get(url+server,{timeout:8e3});null===(_b=null===(_a=res.data)||void 0===_a?void 0:_a.data)||void 0===_b||_b.sources.forEach(source=>{Streams.push({server:(null==source?void 0:source.source)+"-"+(null==source?void 0:source.quality),link:null==source?void 0:source.url,type:"hls"===(null==source?void 0:source.format)?"m3u8":"mp4",quality:null==source?void 0:source.quality,headers:{referer:baseUrl}})})}catch(e){}})))})}function generateSecretKey(id){const c=["4Z7lUo","gwIVSMD","PLmz2elE2v","Z4OFV0","SZ6RZq6Zc","zhJEFYxrz8","FOm7b0","axHS3q4KDq","o9zuXQ","4Aebt","wgjjWwKKx","rY4VIxqSN","kfjbnSo","2DyrFA1M","YUixDM9B","JQvgEj0","mcuFx6JIek","eoTKe26gL","qaI9EVO1rB","0xl33btZL","1fszuAU","a7jnHzst6P","wQuJkX","cBNhTJlEOf","KNcFWhDvgT","XipDGjST","PCZJlbHoyt","2AYnMZkqd","HIpJh","KH0C3iztrG","W81hjts92","rJhAT","NON7LKoMQ","NMdY3nsKzI","t4En5v","Qq5cOQ9H","Y9nwrp","VX5FYVfsf","cE5SJG","x1vj1","HegbLe","zJ3nmt4OA","gt7rxW57dq","clIE9b","jyJ9g","B5jXjMCSx","cOzZBZTV","FTXGy","Dfh1q1","ny9jqZ2POI","X2NnMn","MBtoyD","qz4Ilys7wB","68lbOMye","3YUJnmxp","1fv5Imona","PlfvvXD7mA","ZarKfHCaPR","owORnX","dQP1YU","dVdkx","qgiK0E","cx9wQ","5F9bGa","7UjkKrp","Yvhrj","wYXez5Dg3","pG4GMU","MwMAu","rFRD5wlM"];if(void 0===id)return"rive";try{let t,n;const r=String(id);if(isNaN(Number(id))){const sum=r.split("").reduce((e,ch)=>e+ch.charCodeAt(0),0);t=c[sum%c.length]||btoa(r),n=Math.floor(sum%r.length/2)}else{const num=Number(id);t=c[num%c.length]||btoa(r),n=Math.floor(num%r.length/2)}const i=r.slice(0,n)+t+r.slice(n),innerHash=e=>{e=String(e);let t=0;for(let n=0;n>>0)<>>32-n%5)>>>0;t=(t^i^(r<>>8-n%7)>>>0)>>>0,t=t+(t>>>11^t<<3)>>>0}return t^=t>>>15,t=49842*(65535&t)+((49842*(t>>>16)&65535)<<16)>>>0,t^=t>>>13,t=40503*(65535&t)+((40503*(t>>>16)&65535)<<16)>>>0,t^=t>>>16,t.toString(16).padStart(8,"0")},outerHash=e=>{const t=String(e);let n=(3735928559^t.length)>>>0;for(let idx=0;idx>>25)>>>0^r;n=(60205*(65535&n)>>>0)+(60205*(n>>>16)<<16>>>0)>>>0,n^=n>>>11}return n^=n>>>15,n=49842*(65535&n)+(49842*(n>>>16)<<16)>>>0>>>0,n^=n>>>13,n=40503*(65535&n)+(40503*(n>>>16)<<16)>>>0>>>0,n^=n>>>16,n=10196*(65535&n)+(10196*(n>>>16)<<16)>>>0>>>0,n^=n>>>15,n.toString(16).padStart(8,"0")},o=outerHash(innerHash(i));return btoa(o)}catch(e){return"topSecret"}}exports.getStream=getStream; \ No newline at end of file diff --git a/dist/cinemaLuxe/catalog.js b/dist/cinemaLuxe/catalog.js index d0bbc98..be15671 100644 --- a/dist/cinemaLuxe/catalog.js +++ b/dist/cinemaLuxe/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Trending",filter:"/genre/latest-trending-releases/"},{title:"Netflix",filter:"/network/netflix/"},{title:"Amazon Prime",filter:"/network/prime-video/"},{title:"Animation",filter:"/genre/anime/"}],exports.genres=[]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Trending",filter:"/genre/latest-trending-releases/"},{title:"Netflix",filter:"/network/netflix/"},{title:"Amazon Prime",filter:"/network/prime-video/"},{title:"Animation",filter:"/genre/anime/"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/cinemaLuxe/episodes.js b/dist/cinemaLuxe/episodes.js index f62e693..8d711bb 100644 --- a/dist/cinemaLuxe/episodes.js +++ b/dist/cinemaLuxe/episodes.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){var _b;try{if(!url.includes("luxelinks")||url.includes("cinemalux")){const res=yield providerContext.axios.get(url,{headers:providerContext.commonHeaders}),encodedLink=null===(_b=res.data.match(/"link":"([^"]+)"/))||void 0===_b?void 0:_b[1];if(encodedLink)url=encodedLink?atob(encodedLink):url;else{const redirectUrlRes=yield fetch("https://cm-decrypt.8man.workers.dev/cinemaluxe",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:url})}),redirectUrl=yield redirectUrlRes.json();url=(null==redirectUrl?void 0:redirectUrl.redirectUrl)||url}}const episodeLinks=[];if(url.includes("luxedrive")||url.includes("drive.linkstore"))return episodeLinks.push({title:"Movie",link:url}),episodeLinks;const html=(yield providerContext.axios.get(url,{headers:providerContext.commonHeaders})).data;let $=providerContext.cheerio.load(html);return $("a.maxbutton-4,a.maxbutton,.maxbutton-hubcloud,.ep-simple-button").map((i,element)=>{var _a;const title=null===(_a=$(element).text())||void 0===_a?void 0:_a.trim(),link=$(element).attr("href");title&&link&&!title.includes("Batch")&&!title.toLowerCase().includes("zip")&&episodeLinks.push({title:title.replace(/\(\d{4}\)/,"").replace("Download","Movie").replace("⚡","").trim(),link:link})}),episodeLinks}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){var _b;try{if(!url.includes("luxelinks")||url.includes("cinemalux")){const res=yield providerContext.axios.get(url,{headers:providerContext.commonHeaders}),encodedLink=null===(_b=res.data.match(/"link":"([^"]+)"/))||void 0===_b?void 0:_b[1];if(encodedLink)url=encodedLink?atob(encodedLink):url;else{const redirectUrlRes=yield fetch("https://cm-decrypt.8man.workers.dev/cinemaluxe",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:url})}),redirectUrl=yield redirectUrlRes.json();url=(null==redirectUrl?void 0:redirectUrl.redirectUrl)||url}}const episodeLinks=[];if(url.includes("luxedrive")||url.includes("drive.linkstore"))return episodeLinks.push({title:"Movie",link:url}),episodeLinks;const html=(yield providerContext.axios.get(url,{headers:providerContext.commonHeaders})).data;let $=providerContext.cheerio.load(html);return $("a.maxbutton-4,a.maxbutton,.maxbutton-hubcloud,.ep-simple-button").map((i,element)=>{var _a;const title=null===(_a=$(element).text())||void 0===_a?void 0:_a.trim(),link=$(element).attr("href");title&&link&&!title.includes("Batch")&&!title.toLowerCase().includes("zip")&&episodeLinks.push({title:title.replace(/\(\d{4}\)/,"").replace("Download","Movie").replace("⚡","").trim(),link:link})}),episodeLinks}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/cinemaLuxe/meta.js b/dist/cinemaLuxe/meta.js index 54bf517..473d17c 100644 --- a/dist/cinemaLuxe/meta.js +++ b/dist/cinemaLuxe/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const url=link,data=(yield providerContext.axios.get(url,{headers:providerContext.commonHeaders})).data,$=providerContext.cheerio.load(data),type=url.includes("tvshows")?"series":"movie",imdbId="",title=url.split("/")[4].replace(/-/g," "),image=$(".g-item").find("a").attr("href")||"",synopsis=$(".wp-content").text().trim(),tags=$(".sgeneros").children().map((i,element)=>$(element).text()).get().slice(3),rating=Number($("#repimdb").find("strong").text()).toFixed(1).toString(),links=[];return $(".custom-links").find(".ep-button-container").map((i,element)=>{var _a;const title=$(element).text().replace("⬇Download","").replace("⬇ Download","").trim(),link=$(element).find("a").attr("href");title&&link&&links.push({title:title,episodesLink:link,quality:(null===(_a=null==title?void 0:title.match(/\d+P\b/))||void 0===_a?void 0:_a[0].replace("P","p"))||""})}),0===links.length&&$(".ep-button-container:not(:has(a:contains('Click Here To Visit')))").map((i,element)=>{var _a;let title=$(element).find("a").text().replace("⬇Download","").replace("⬇ Download","").trim();title.includes("Download Now")&&(title=$(element).parent().find("h3").text().trim().replace("⬇Download","").replace("⬇ Download",""));const link=$(element).find("a").attr("href");title&&link&&links.push({title:title,episodesLink:link,quality:(null===(_a=null==title?void 0:title.match(/\d+P\b/))||void 0===_a?void 0:_a[0].replace("P","p"))||""})}),{title:title,tags:tags,rating:rating,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const url=link,data=(yield providerContext.axios.get(url,{headers:providerContext.commonHeaders})).data,$=providerContext.cheerio.load(data),type=url.includes("tvshows")?"series":"movie",imdbId="",title=url.split("/")[4].replace(/-/g," "),image=$(".g-item").find("a").attr("href")||"",synopsis=$(".wp-content").text().trim(),tags=$(".sgeneros").children().map((i,element)=>$(element).text()).get().slice(3),rating=Number($("#repimdb").find("strong").text()).toFixed(1).toString(),links=[];return $(".custom-links").find(".ep-button-container").map((i,element)=>{var _a;const title=$(element).text().replace("⬇Download","").replace("⬇ Download","").trim(),link=$(element).find("a").attr("href");title&&link&&links.push({title:title,episodesLink:link,quality:(null===(_a=null==title?void 0:title.match(/\d+P\b/))||void 0===_a?void 0:_a[0].replace("P","p"))||""})}),0===links.length&&$(".ep-button-container:not(:has(a:contains('Click Here To Visit')))").map((i,element)=>{var _a;let title=$(element).find("a").text().replace("⬇Download","").replace("⬇ Download","").trim();title.includes("Download Now")&&(title=$(element).parent().find("h3").text().trim().replace("⬇Download","").replace("⬇ Download",""));const link=$(element).find("a").attr("href");title&&link&&links.push({title:title,episodesLink:link,quality:(null===(_a=null==title?void 0:title.match(/\d+P\b/))||void 0===_a?void 0:_a[0].replace("P","p"))||""})}),{title:title,tags:tags,rating:rating,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/cinemaLuxe/posts.js b/dist/cinemaLuxe/posts.js index 34180c1..e20de34 100644 --- a/dist/cinemaLuxe/posts.js +++ b/dist/cinemaLuxe/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){return posts({url:`${(yield providerContext.getBaseUrl("cinemaLuxe"))+filter}page/${page}/`,signal:signal,providerContext:providerContext})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){return posts({url:`${yield providerContext.getBaseUrl("cinemaLuxe")}/page/${page}/?s=${searchQuery}`,signal:signal,providerContext:providerContext})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,providerContext:providerContext}){try{const res=yield fetch(url,{headers:providerContext.commonHeaders,signal:signal}),data=yield res.text(),$=providerContext.cheerio.load(data),catalog=[];return $(".item.tvshows,.item.movies").map((i,element)=>{const title=$(element).find(".poster").find("img").attr("alt"),link=$(element).find(".poster").find("a").attr("href"),image=$(element).find(".poster").find("img").attr("data-src");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),$(".result-item").map((i,element)=>{const title=$(element).find(".thumbnail").find("img").attr("alt"),link=$(element).find(".thumbnail").find("a").attr("href"),image=$(element).find(".thumbnail").find("img").attr("data-src");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){return posts({url:`${(yield providerContext.getBaseUrl("cinemaLuxe"))+filter}page/${page}/`,signal:signal,providerContext:providerContext})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){return posts({url:`${yield providerContext.getBaseUrl("cinemaLuxe")}/page/${page}/?s=${searchQuery}`,signal:signal,providerContext:providerContext})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,providerContext:providerContext}){try{const res=yield fetch(url,{headers:providerContext.commonHeaders,signal:signal}),data=yield res.text(),$=providerContext.cheerio.load(data),catalog=[];return $(".item.tvshows,.item.movies").map((i,element)=>{const title=$(element).find(".poster").find("img").attr("alt"),link=$(element).find(".poster").find("a").attr("href"),image=$(element).find(".poster").find("img").attr("data-src");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),$(".result-item").map((i,element)=>{const title=$(element).find(".thumbnail").find("img").attr("alt"),link=$(element).find(".thumbnail").find("a").attr("href"),image=$(element).find(".thumbnail").find("img").attr("data-src");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/cinemaLuxe/stream.js b/dist/cinemaLuxe/stream.js index 3d2c9fa..ded2294 100644 --- a/dist/cinemaLuxe/stream.js +++ b/dist/cinemaLuxe/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=_a=>__awaiter(void 0,[_a],void 0,function*({link:link,signal:signal,providerContext:providerContext}){var _b;try{let newLink=link;if(link.includes("linkstore")){const res=yield fetch(link,{signal:signal,headers:{accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","accept-language":"en-US,en;q=0.9,en-IN;q=0.8","cache-control":"no-cache",pragma:"no-cache",priority:"u=0, i","sec-ch-ua":'"Microsoft Edge";v="137", "Chromium";v="137", "Not/A)Brand";v="24"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"document","sec-fetch-mode":"navigate","sec-fetch-site":"none","sec-fetch-user":"?1","upgrade-insecure-requests":"1",cookie:"PHPSESSID=9o57cff841dqtv8djtn1rp1712; ext_name=ojplmecpdpgccookcobabopnaifgidhf"}}),refreshMetaMatch=(yield res.text()).match(/=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||link:newLinkRes.url&&newLinkRes.url!==link?newLinkRes.url:newLinkRes.headers.get("location")||link,newLink.includes("googleusercontent"))newLink=newLink.split("?link=")[1];else{const newLinkRes2=yield fetch(newLink,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});newLink=newLinkRes2.status>=300&&newLinkRes2.status<400?(null===(_c=newLinkRes2.headers.get("location"))||void 0===_c?void 0:_c.split("?link=")[1])||newLink:newLinkRes2.url&&newLinkRes2.url!==newLink?newLinkRes2.url.split("?link=")[1]||newLinkRes2.url:(null===(_d=newLinkRes2.headers.get("location"))||void 0===_d?void 0:_d.split("?link=")[1])||newLink}streamLinks.push({server:"hubcloud",link:newLink,type:"mkv"})}catch(error){}break;case null==link?void 0:link.includes("cloudflarestorage"):streamLinks.push({server:"CfStorage",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("fastdl"))||(null==link?void 0:link.includes("fsl.")):streamLinks.push({server:"FastDl",link:link,type:"mkv"});break;case link.includes("hubcdn")&&!link.includes("/?id="):streamLinks.push({server:"HubCdn",link:link,type:"mkv"});break;default:if((null==link?void 0:link.includes(".mkv"))||(null==link?void 0:link.includes("?token="))){const serverName=(null===(_f=null===(_e=link.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/i))||void 0===_e?void 0:_e[1])||void 0===_f?void 0:_f.replace(/\./g," "))||"Unknown";streamLinks.push({server:serverName,link:link,type:"mkv"})}}}return streamLinks}catch(error){return[]}})}__awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function gdflixExtractor(link,signal,axios,cheerio,headers){return __awaiter(this,void 0,void 0,function*(){var _a,_b,_c,_d,_f,_g,_h;try{const streamLinks=[],data=(yield axios(`${link}`,{headers:headers,signal:signal})).data;let $drive=cheerio.load(data);if(null===(_a=$drive("body").attr("onload"))||void 0===_a?void 0:_a.includes("location.replace")){const newLink=null===(_d=null===(_c=null===(_b=$drive("body").attr("onload"))||void 0===_b?void 0:_b.split("location.replace('"))||void 0===_c?void 0:_c[1].split("'"))||void 0===_d?void 0:_d[0];if(newLink){const newRes=yield axios.get(newLink,{headers:headers,signal:signal});$drive=cheerio.load(newRes.data)}}try{const baseUrl=link.split("/").slice(0,3).join("/"),resumeDrive=$drive(".btn-secondary").attr("href")||"";if(resumeDrive.includes("indexbot")){const resumeBotRes=yield axios.get(resumeDrive,{headers:headers}),resumeBotToken=resumeBotRes.data.match(/formData\.append\('token', '([a-f0-9]+)'\)/)[1],resumeBotBody=new FormData;resumeBotBody.append("token",resumeBotToken);const resumeBotPath=resumeBotRes.data.match(/fetch\('\/download\?id=([a-zA-Z0-9\/+]+)'/)[1],resumeBotBaseUrl=resumeDrive.split("/download")[0],resumeBotDownload=yield fetch(resumeBotBaseUrl+"/download?id="+resumeBotPath,{method:"POST",body:resumeBotBody,headers:{Referer:resumeDrive,Cookie:"PHPSESSID=7e9658ce7c805dab5bbcea9046f7f308"}}),resumeBotDownloadData=yield resumeBotDownload.json();streamLinks.push({server:"ResumeBot",link:resumeBotDownloadData.url,type:"mkv"})}else{const url=baseUrl+resumeDrive,resumeDriveHtml=(yield axios.get(url,{headers:headers})).data,resumeLink=cheerio.load(resumeDriveHtml)(".btn-success").attr("href");resumeLink&&streamLinks.push({server:"ResumeCloud",link:resumeLink,type:"mkv"})}}catch(err){}try{const seed=$drive(".btn-danger").attr("href")||"";if(seed.includes("?url=")){const instantToken=seed.split("=")[1],InstantFromData=new FormData;InstantFromData.append("keys",instantToken);const videoSeedUrl=seed.split("/").slice(0,3).join("/")+"/api",instantLinkRes=yield fetch(videoSeedUrl,{method:"POST",body:InstantFromData,headers:{"x-token":videoSeedUrl}}),instantLinkData=yield instantLinkRes.json();if(!1===instantLinkData.error){const instantLink=instantLinkData.url;streamLinks.push({server:"Gdrive-Instant",link:instantLink,type:"mkv"})}}else{const newLink=(null===(_h=null===(_g=null===(_f=(yield axios.head(seed,{headers:headers,signal:signal})).request)||void 0===_f?void 0:_f.responseURL)||void 0===_g?void 0:_g.split("?url="))||void 0===_h?void 0:_h[1])||seed;streamLinks.push({server:"G-Drive",link:newLink,type:"mkv"})}}catch(err){}return streamLinks}catch(error){return[]}})}const getStream=_a=>__awaiter(void 0,[_a],void 0,function*({link:link,signal:signal,providerContext:providerContext}){var _b;const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;try{let newLink=link;if(link.includes("linkstore")){const res=yield fetch(link,{signal:signal,headers:{accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","accept-language":"en-US,en;q=0.9,en-IN;q=0.8","cache-control":"no-cache",pragma:"no-cache",priority:"u=0, i","sec-ch-ua":'"Microsoft Edge";v="137", "Chromium";v="137", "Not/A)Brand";v="24"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"document","sec-fetch-mode":"navigate","sec-fetch-site":"none","sec-fetch-user":"?1","upgrade-insecure-requests":"1",cookie:"PHPSESSID=9o57cff841dqtv8djtn1rp1712; ext_name=ojplmecpdpgccookcobabopnaifgidhf"}}),refreshMetaMatch=(yield res.text()).match(/null==genre?void 0:genre.name))||[],links=[];return"series"===type?null===(_d=null==data?void 0:data.season)||void 0===_d||_d.map(season=>{var _a;const title=(null==season?void 0:season.seasons_name)||"",directLinks=(null===(_a=null==season?void 0:season.episodes)||void 0===_a?void 0:_a.map(episode=>({title:null==episode?void 0:episode.episodes_name,link:null==episode?void 0:episode.file_url})))||[];links.push({title:title,directLinks:directLinks})}):null===(_e=null==data?void 0:data.videos)||void 0===_e||_e.map(video=>{links.push({title:title+" "+(null==video?void 0:video.label),directLinks:[{title:"Play",link:null==video?void 0:video.file_url}]})}),{image:(null==image?void 0:image.includes("https"))?image:null==image?void 0:image.replace("http","https"),synopsis:synopsis,title:title,rating:rating,imdbId:"",cast:cast,tags:tags,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const headers={"Accept-Encoding":"gzip","API-KEY":"2pm95lc6prpdbk0ppji9rsqo",Connection:"Keep-Alive","If-Modified-Since":"Wed, 14 Aug 2024 13:00:04 GMT","User-Agent":"okhttp/3.14.9"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e;try{const{axios:axios}=providerContext,resData=(yield axios.get(link,{headers:headers})).data,jsonStart=null==resData?void 0:resData.indexOf("{"),jsonEnd=(null==resData?void 0:resData.lastIndexOf("}"))+1,data=(null===(_b=null===JSON||void 0===JSON?void 0:JSON.parse(null==resData?void 0:resData.substring(jsonStart,jsonEnd)))||void 0===_b?void 0:_b.title)?null===JSON||void 0===JSON?void 0:JSON.parse(null==resData?void 0:resData.substring(jsonStart,jsonEnd)):resData,title=(null==data?void 0:data.title)||"",synopsis=(null==data?void 0:data.description)||"",image=(null==data?void 0:data.poster_url)||"",cast=(null==data?void 0:data.cast)||[],rating=(null==data?void 0:data.imdb_rating)||"",type=Number(null==data?void 0:data.is_tvseries)?"series":"movie",tags=(null===(_c=null==data?void 0:data.genre)||void 0===_c?void 0:_c.map(genre=>null==genre?void 0:genre.name))||[],links=[];return"series"===type?null===(_d=null==data?void 0:data.season)||void 0===_d||_d.map(season=>{var _a;const title=(null==season?void 0:season.seasons_name)||"",directLinks=(null===(_a=null==season?void 0:season.episodes)||void 0===_a?void 0:_a.map(episode=>({title:null==episode?void 0:episode.episodes_name,link:null==episode?void 0:episode.file_url})))||[];links.push({title:title,directLinks:directLinks})}):null===(_e=null==data?void 0:data.videos)||void 0===_e||_e.map(video=>{links.push({title:title+" "+(null==video?void 0:video.label),directLinks:[{title:"Play",link:null==video?void 0:video.file_url}]})}),{image:(null==image?void 0:image.includes("https"))?image:null==image?void 0:image.replace("http","https"),synopsis:synopsis,title:title,rating:rating,imdbId:"",cast:cast,tags:tags,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/dooflix/posts.js b/dist/dooflix/posts.js index b5214ed..9dc7d0d 100644 --- a/dist/dooflix/posts.js +++ b/dist/dooflix/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const headers={"Accept-Encoding":"gzip","API-KEY":"2pm95lc6prpdbk0ppji9rsqo",Connection:"Keep-Alive","If-Modified-Since":"Wed, 14 Aug 2024 13:00:04 GMT","User-Agent":"okhttp/3.14.9"},getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){try{const{axios:axios,getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("dooflix"),catalog=[],url=""+(baseUrl+filter+`?page=${page}`),resData=(yield axios.get(url,{headers:headers,signal:signal})).data;if(!resData||"string"!=typeof resData)return[];let data;try{const jsonStart=resData.indexOf("["),jsonEnd=resData.lastIndexOf("]")+1;if(-1===jsonStart||jsonEnd<=jsonStart)data=JSON.parse(resData);else{const jsonSubstring=resData.substring(jsonStart,jsonEnd),parsedArray=JSON.parse(jsonSubstring);data=parsedArray.length>0?parsedArray:resData}}catch(parseError){return[]}return Array.isArray(data)?(data.forEach(result=>{const id=null==result?void 0:result.videos_id;if(!id)return;const type=(null==result?void 0:result.is_tvseries)?"movie":"tvseries",link=`${baseUrl}/rest-api//v130/single_details?type=${type}&id=${id}`,thumbnailUrl=null==result?void 0:result.thumbnail_url,image=(null==thumbnailUrl?void 0:thumbnailUrl.includes("https"))?thumbnailUrl:null==thumbnailUrl?void 0:thumbnailUrl.replace("http","https");catalog.push({title:(null==result?void 0:result.title)||"",link:link,image:image})}),catalog):[]}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,providerContext:providerContext,signal:signal}){var _b,_c;try{if(page>1)return[];const{axios:axios,getBaseUrl:getBaseUrl}=providerContext,catalog=[],baseUrl=yield getBaseUrl("dooflix"),url=`${baseUrl}/rest-api//v130/search?q=${searchQuery}&type=movietvserieslive&range_to=0&range_from=0&tv_category_id=0&genre_id=0&country_id=0`,resData=(yield axios.get(url,{headers:headers,signal:signal})).data;if(!resData||"string"!=typeof resData)return[];let data;try{const jsonStart=resData.indexOf("{"),jsonEnd=resData.lastIndexOf("}")+1;if(-1===jsonStart||jsonEnd<=jsonStart)data=resData;else{const jsonSubstring=resData.substring(jsonStart,jsonEnd),parsedData=JSON.parse(jsonSubstring);data=(null==parsedData?void 0:parsedData.movie)?parsedData:resData}}catch(parseError){return[]}return null===(_b=null==data?void 0:data.movie)||void 0===_b||_b.forEach(result=>{const id=null==result?void 0:result.videos_id;if(!id)return;const link=`${baseUrl}/rest-api//v130/single_details?type=movie&id=${id}`,thumbnailUrl=null==result?void 0:result.thumbnail_url,image=(null==thumbnailUrl?void 0:thumbnailUrl.includes("https"))?thumbnailUrl:null==thumbnailUrl?void 0:thumbnailUrl.replace("http","https");catalog.push({title:(null==result?void 0:result.title)||"",link:link,image:image})}),null===(_c=null==data?void 0:data.tvseries)||void 0===_c||_c.forEach(result=>{const id=null==result?void 0:result.videos_id;if(!id)return;const link=`${baseUrl}/rest-api//v130/single_details?type=tvseries&id=${id}`,thumbnailUrl=null==result?void 0:result.thumbnail_url,image=(null==thumbnailUrl?void 0:thumbnailUrl.includes("https"))?thumbnailUrl:null==thumbnailUrl?void 0:thumbnailUrl.replace("http","https");catalog.push({title:(null==result?void 0:result.title)||"",link:link,image:image})}),catalog}catch(error){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const headers={"Accept-Encoding":"gzip","API-KEY":"2pm95lc6prpdbk0ppji9rsqo",Connection:"Keep-Alive","If-Modified-Since":"Wed, 14 Aug 2024 13:00:04 GMT","User-Agent":"okhttp/3.14.9"},getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){try{const{axios:axios,getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("dooflix"),catalog=[],url=""+(baseUrl+filter+`?page=${page}`),resData=(yield axios.get(url,{headers:headers,signal:signal})).data;if(!resData||"string"!=typeof resData)return[];let data;try{const jsonStart=resData.indexOf("["),jsonEnd=resData.lastIndexOf("]")+1;if(-1===jsonStart||jsonEnd<=jsonStart)data=JSON.parse(resData);else{const jsonSubstring=resData.substring(jsonStart,jsonEnd),parsedArray=JSON.parse(jsonSubstring);data=parsedArray.length>0?parsedArray:resData}}catch(parseError){return[]}return Array.isArray(data)?(data.forEach(result=>{const id=null==result?void 0:result.videos_id;if(!id)return;const type=(null==result?void 0:result.is_tvseries)?"movie":"tvseries",link=`${baseUrl}/rest-api//v130/single_details?type=${type}&id=${id}`,thumbnailUrl=null==result?void 0:result.thumbnail_url,image=(null==thumbnailUrl?void 0:thumbnailUrl.includes("https"))?thumbnailUrl:null==thumbnailUrl?void 0:thumbnailUrl.replace("http","https");catalog.push({title:(null==result?void 0:result.title)||"",link:link,image:image})}),catalog):[]}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,providerContext:providerContext,signal:signal}){var _b,_c;try{if(page>1)return[];const{axios:axios,getBaseUrl:getBaseUrl}=providerContext,catalog=[],baseUrl=yield getBaseUrl("dooflix"),url=`${baseUrl}/rest-api//v130/search?q=${searchQuery}&type=movietvserieslive&range_to=0&range_from=0&tv_category_id=0&genre_id=0&country_id=0`,resData=(yield axios.get(url,{headers:headers,signal:signal})).data;if(!resData||"string"!=typeof resData)return[];let data;try{const jsonStart=resData.indexOf("{"),jsonEnd=resData.lastIndexOf("}")+1;if(-1===jsonStart||jsonEnd<=jsonStart)data=resData;else{const jsonSubstring=resData.substring(jsonStart,jsonEnd),parsedData=JSON.parse(jsonSubstring);data=(null==parsedData?void 0:parsedData.movie)?parsedData:resData}}catch(parseError){return[]}return null===(_b=null==data?void 0:data.movie)||void 0===_b||_b.forEach(result=>{const id=null==result?void 0:result.videos_id;if(!id)return;const link=`${baseUrl}/rest-api//v130/single_details?type=movie&id=${id}`,thumbnailUrl=null==result?void 0:result.thumbnail_url,image=(null==thumbnailUrl?void 0:thumbnailUrl.includes("https"))?thumbnailUrl:null==thumbnailUrl?void 0:thumbnailUrl.replace("http","https");catalog.push({title:(null==result?void 0:result.title)||"",link:link,image:image})}),null===(_c=null==data?void 0:data.tvseries)||void 0===_c||_c.forEach(result=>{const id=null==result?void 0:result.videos_id;if(!id)return;const link=`${baseUrl}/rest-api//v130/single_details?type=tvseries&id=${id}`,thumbnailUrl=null==result?void 0:result.thumbnail_url,image=(null==thumbnailUrl?void 0:thumbnailUrl.includes("https"))?thumbnailUrl:null==thumbnailUrl?void 0:thumbnailUrl.replace("http","https");catalog.push({title:(null==result?void 0:result.title)||"",link:link,image:image})}),catalog}catch(error){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/dooflix/stream.js b/dist/dooflix/stream.js index 0b72e75..083ce36 100644 --- a/dist/dooflix/stream.js +++ b/dist/dooflix/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:link}){try{const streams=[],headers={Connection:"Keep-Alive","User-Agent":"Mozilla/5.0 (WindowsNT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.37",Referer:"https://molop.art/",Cookie:"cf_clearance=M2_2Hy4lKRy_ruRX3dzOgm3iho1FHe2DUC1lq28BUtI-1737377622-1.2.1.1-6R8RaH94._H2BuNuotsjTZ3fAF6cLwPII0guemu9A5Xa46lpCJPuELycojdREwoonYS2kRTYcZ9_1c4h4epi2LtDvMM9jIoOZKE9pIdWa30peM1hRMpvffTjGUCraHsJNCJez8S_QZ6XkkdP7GeQ5iwiYaI6Grp6qSJWoq0Hj8lS7EITZ1LzyrALI6iLlYjgLmgLGa1VuhORWJBN8ZxrJIZ_ba_pqbrR9fjnyToqxZ0XQaZfk1d3rZyNWoZUjI98GoAxVjnKtcBQQG6b2jYPJuMbbYraGoa54N7E7BR__7o"},response=yield fetch(link,{redirect:"manual",headers:headers});if(response.status>=300&&response.status<400){const redirectLink=response.headers.get("Location");redirectLink&&(link=redirectLink)}return response.url&&(link=response.url),streams.push({server:"Dooflix",link:link,headers:headers,type:"m3u8"}),streams}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:link}){try{const streams=[],headers={Connection:"Keep-Alive","User-Agent":"Mozilla/5.0 (WindowsNT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.37",Referer:"https://molop.art/",Cookie:"cf_clearance=M2_2Hy4lKRy_ruRX3dzOgm3iho1FHe2DUC1lq28BUtI-1737377622-1.2.1.1-6R8RaH94._H2BuNuotsjTZ3fAF6cLwPII0guemu9A5Xa46lpCJPuELycojdREwoonYS2kRTYcZ9_1c4h4epi2LtDvMM9jIoOZKE9pIdWa30peM1hRMpvffTjGUCraHsJNCJez8S_QZ6XkkdP7GeQ5iwiYaI6Grp6qSJWoq0Hj8lS7EITZ1LzyrALI6iLlYjgLmgLGa1VuhORWJBN8ZxrJIZ_ba_pqbrR9fjnyToqxZ0XQaZfk1d3rZyNWoZUjI98GoAxVjnKtcBQQG6b2jYPJuMbbYraGoa54N7E7BR__7o"},response=yield fetch(link,{redirect:"manual",headers:headers});if(response.status>=300&&response.status<400){const redirectLink=response.headers.get("Location");redirectLink&&(link=redirectLink)}return response.url&&(link=response.url),streams.push({server:"Dooflix",link:link,headers:headers,type:"m3u8"}),streams}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/drive/catalog.js b/dist/drive/catalog.js index a57f4d7..6225ca9 100644 --- a/dist/drive/catalog.js +++ b/dist/drive/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:""},{title:"Anime",filter:"category/anime/"},{title:"Netflix",filter:"category/netflix/"},{title:"4K",filter:"category/2160p-4k/"}],exports.genres=[{title:"Action",filter:"/category/action"},{title:"Crime",filter:"/category/crime"},{title:"Comedy",filter:"/category/comedy"},{title:"Drama",filter:"/category/drama"},{title:"Horror",filter:"/category/horror"},{title:"Family",filter:"/category/family"},{title:"Sci-Fi",filter:"/category/sifi"},{title:"Thriller",filter:"/category/triller"},{title:"Romance",filter:"/category/romance"},{title:"Fight",filter:"/category/fight"}]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:""},{title:"Anime",filter:"category/anime/"},{title:"Netflix",filter:"category/netflix/"},{title:"4K",filter:"category/2160p-4k/"}],exports.genres=[{title:"Action",filter:"/category/action"},{title:"Crime",filter:"/category/crime"},{title:"Comedy",filter:"/category/comedy"},{title:"Drama",filter:"/category/drama"},{title:"Horror",filter:"/category/horror"},{title:"Family",filter:"/category/family"},{title:"Sci-Fi",filter:"/category/sifi"},{title:"Thriller",filter:"/category/triller"},{title:"Romance",filter:"/category/romance"},{title:"Fight",filter:"/category/fight"}]; \ No newline at end of file diff --git a/dist/drive/episodes.js b/dist/drive/episodes.js index 9511214..cbd9f4c 100644 --- a/dist/drive/episodes.js +++ b/dist/drive/episodes.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio}=providerContext,html=(yield axios.get(url)).data;let $=cheerio.load(html);const episodeLinks=[];return $('a:contains("HubCloud")').map((i,element)=>{const title=$(element).parent().prev().text(),link=$(element).attr("href");link&&(title.includes("Ep")||title.includes("Download"))&&episodeLinks.push({title:title.includes("Download")?"Play":title,link:link})}),episodeLinks}catch(err){return[{title:"Server 1",link:url}]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio}=providerContext,html=(yield axios.get(url)).data;let $=cheerio.load(html);const episodeLinks=[];if($('a:contains("HubCloud")').map((i,element)=>{const title=$(element).parent().prev().text(),link=$(element).attr("href");link&&(title.includes("Ep")||title.includes("Download"))&&episodeLinks.push({title:title.includes("Download")?"Play":title,link:link})}),0===episodeLinks.length){const streamingServices=["hubcloud","gdflix"];let currentTitle="";$('h5 span[style*="color"], h5').each((i,element)=>{const text=$(element).text().trim();if(text&&(text.match(/\d{3,4}p/)||text.includes("Ep")||text.includes("Episode"))){currentTitle=text;let nextElement=$(element).parent();for(let j=0;j<10&&(nextElement=nextElement.next(),nextElement.length);j++){nextElement.find("a[href]").each((k,linkEl)=>{const href=$(linkEl).attr("href");if(href&&streamingServices.some(service=>href.includes(service))){let serverName="Play";href.includes("hubcloud")?serverName="HubCloud":href.includes("gdflix")?serverName="GDFlix":href.includes("pixeldrain")?serverName="Pixeldrain":href.includes("fastdl")&&(serverName="FastDL");const title=currentTitle?`${currentTitle} - ${serverName}`:serverName;episodeLinks.push({title:title,link:href})}})}}})}return episodeLinks.length>0?episodeLinks:[{title:"Play",link:url}]}catch(err){return[{title:"Server 1",link:url}]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/drive/meta.js b/dist/drive/meta.js index 2c05c51..d6bac52 100644 --- a/dist/drive/meta.js +++ b/dist/drive/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),type=$(".left-wrapper").text().toLocaleLowerCase().includes("movie name")?"movie":"series",imdbId=(null===(_b=$('a:contains("IMDb")').attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",title=$(".left-wrapper").find('strong:contains("Name")').next().text()||$(".left-wrapper").find('strong:contains("Name"),h5:contains("Name")').find("span:first").text(),synopsis=$(".left-wrapper").find('h2:contains("Storyline"),h3:contains("Storyline"),h5:contains("Storyline"),h4:contains("Storyline"),h4:contains("STORYLINE")').next().text()||$(".ipc-html-content-inner-div").text()||"",image=$("img.entered.lazyloaded,img.entered,img.litespeed-loaded").attr("src")||$("img.aligncenter").attr("src")||"",links=[];return $('a:contains("1080")a:not(:contains("Zip")),a:contains("720")a:not(:contains("Zip")),a:contains("480")a:not(:contains("Zip")),a:contains("2160")a:not(:contains("Zip")),a:contains("4k")a:not(:contains("Zip"))').map((i,element)=>{var _a;const title=$(element).parent("h5").prev().text(),episodesLink=$(element).attr("href"),quality=(null===(_a=title.match(/\b(480p|720p|1080p|2160p)\b/i))||void 0===_a?void 0:_a[0])||"";episodesLink&&title&&links.push({title:title,episodesLink:"series"===type?episodesLink:"",directLinks:"movie"===type?[{title:"Movie",link:episodesLink,type:"movie"}]:[],quality:quality})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),type=$(".left-wrapper").text().toLocaleLowerCase().includes("movie name")?"movie":"series",imdbId=(null===(_b=$('a:contains("IMDb")').attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",title=$(".left-wrapper").find('strong:contains("Name")').next().text()||$(".left-wrapper").find('strong:contains("Name"),h5:contains("Name")').find("span:first").text(),synopsis=$(".left-wrapper").find('h2:contains("Storyline"),h3:contains("Storyline"),h5:contains("Storyline"),h4:contains("Storyline"),h4:contains("STORYLINE")').next().text()||$(".ipc-html-content-inner-div").text()||"",image=$("img.entered.lazyloaded,img.entered,img.litespeed-loaded").attr("src")||$("img.aligncenter").attr("src")||"",links=[];return $('a:contains("1080")a:not(:contains("Zip")),a:contains("720")a:not(:contains("Zip")),a:contains("480")a:not(:contains("Zip")),a:contains("2160")a:not(:contains("Zip")),a:contains("4k")a:not(:contains("Zip"))').map((i,element)=>{var _a;const title=$(element).parent("h5").prev().text(),episodesLink=$(element).attr("href"),quality=(null===(_a=title.match(/\b(480p|720p|1080p|2160p)\b/i))||void 0===_a?void 0:_a[0])||"";episodesLink&&title&&links.push({title:title,episodesLink:"series"===type?episodesLink:"",directLinks:"movie"===type?[{title:"Movie",link:episodesLink,type:"movie"}]:[],quality:quality})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/drive/posts.js b/dist/drive/posts.js index 97c86f5..b88b415 100644 --- a/dist/drive/posts.js +++ b/dist/drive/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts({url:`${(yield getBaseUrl("drive"))+filter}page/${page}/`,signal:signal,providerContext:providerContext})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts({url:`${yield getBaseUrl("drive")}page/${page}/?s=${searchQuery}`,signal:signal,providerContext:providerContext})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,providerContext:providerContext}){try{const{cheerio:cheerio}=providerContext,res=yield fetch(url,{signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $(".poster-card").map((i,element)=>{const title=$(element).find(".poster-title").text(),link=$(element).parent().attr("href"),image=$(element).find(".poster-image img").attr("src");title&&link&&image&&catalog.push({title:title.replace("Download","").trim(),link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts({url:`${(yield getBaseUrl("drive"))+filter}page/${page}/`,signal:signal,providerContext:providerContext})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts({url:`${yield getBaseUrl("drive")}page/${page}/?s=${searchQuery}`,signal:signal,providerContext:providerContext})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,providerContext:providerContext}){try{const{cheerio:cheerio}=providerContext,res=yield fetch(url,{signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $(".poster-card").map((i,element)=>{const title=$(element).find(".poster-title").text(),link=$(element).parent().attr("href"),image=$(element).find(".poster-image img").attr("src");title&&link&&image&&catalog.push({title:title.replace("Download","").trim(),link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/drive/stream.js b/dist/drive/stream.js index 00652ae..579874e 100644 --- a/dist/drive/stream.js +++ b/dist/drive/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url,type:type,signal:signal,providerContext:providerContext}){var _b,_c;const headers=providerContext.commonHeaders;try{if("movie"===type){const html=(yield providerContext.axios.get(url,{headers:headers})).data,$=providerContext.cheerio.load(html);url=$('a:contains("HubCloud")').attr("href")||url}const res=yield providerContext.axios.get(url,{headers:headers});let redirectUrl=null===(_b=res.data.match(//i))||void 0===_b?void 0:_b[1];if(url.includes("/archives/")&&(redirectUrl=null===(_c=res.data.match(/]*href="(https:\/\/hubcloud\.[^\/]+\/[^"]+)"/i))||void 0===_c?void 0:_c[1]),!redirectUrl)return yield providerContext.extractors.hubcloudExtracter(url,signal);const data=(yield providerContext.axios.get(redirectUrl,{headers:headers})).data,hubcloudLink=providerContext.cheerio.load(data)(".fa-file-download").parent().attr("href");return yield providerContext.extractors.hubcloudExtracter((null==hubcloudLink?void 0:hubcloudLink.includes("https://hubcloud"))?hubcloudLink:redirectUrl,signal)}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;__awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};const hubcloudDecode=function(value){return void 0===value?"":atob(value.toString())};function hubcloudExtractor(link,signal,axios,cheerio,headers){return __awaiter(this,void 0,void 0,function*(){var _a,_b,_c,_d,_e,_f;try{headers.Cookie="ext_name=ojplmecpdpgccookcobabopnaifgidhf; xla=s4t; cf_clearance=woQrFGXtLfmEMBEiGUsVHrUBMT8s3cmguIzmMjmvpkg-1770053679-1.2.1.1-xBrQdciOJsweUF6F2T_OtH6jmyanN_TduQ0yslc_XqjU6RcHSxI7.YOKv6ry7oYo64868HYoULnVyww536H2eVI3R2e4wKzsky6abjPdfQPxqpUaXjxfJ02o6jl3_Vkwr4uiaU7Wy596Vdst3y78HXvVmKdIohhtPvp.vZ9_L7wvWdce0GRixjh_6JiqWmWMws46hwEt3hboaS1e1e4EoWCvj5b0M_jVwvSxBOAW5emFzvT3QrnRh4nyYmKDERnY";const baseUrl=link.split("/").slice(0,3).join("/"),streamLinks=[],vLinkText=(yield axios(`${link}`,{headers:headers,signal:signal})).data,$vLink=cheerio.load(vLinkText),vLinkRedirect=vLinkText.match(/var\s+url\s*=\s*'([^']+)';/)||[];let vcloudLink=hubcloudDecode(null===(_b=null===(_a=vLinkRedirect[1])||void 0===_a?void 0:_a.split("r="))||void 0===_b?void 0:_b[1])||vLinkRedirect[1]||$vLink(".fa-file-download.fa-lg").parent().attr("href")||link;(null==vcloudLink?void 0:vcloudLink.startsWith("/"))&&(vcloudLink=`${baseUrl}${vcloudLink}`);const vcloudRes=yield fetch(vcloudLink,{headers:headers,signal:signal,redirect:"follow"}),$=cheerio.load(yield vcloudRes.text()),linkClass=$(".btn-success.btn-lg.h6,.btn-danger,.btn-secondary");for(const element of linkClass){let link=$(element).attr("href")||"";switch(!0){case null==link?void 0:link.includes("pixeld"):if(!(null==link?void 0:link.includes("api"))){const token=link.split("/").pop(),baseUrl=link.split("/").slice(0,-2).join("/");link=`${baseUrl}/api/file/${token}?download`}streamLinks.push({server:"Pixeldrain",link:link,type:"mkv"});break;case(null==link?void 0:link.includes(".dev"))&&!(null==link?void 0:link.includes("/?id=")):streamLinks.push({server:"Cf Worker",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("hubcloud"))||(null==link?void 0:link.includes("/?id=")):try{const newLinkRes=yield fetch(link,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});let newLink=link;if(newLink=newLinkRes.status>=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||link:newLinkRes.url&&newLinkRes.url!==link?newLinkRes.url:newLinkRes.headers.get("location")||link,newLink.includes("googleusercontent"))newLink=newLink.split("?link=")[1];else{const newLinkRes2=yield fetch(newLink,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});newLink=newLinkRes2.status>=300&&newLinkRes2.status<400?(null===(_c=newLinkRes2.headers.get("location"))||void 0===_c?void 0:_c.split("?link=")[1])||newLink:newLinkRes2.url&&newLinkRes2.url!==newLink?newLinkRes2.url.split("?link=")[1]||newLinkRes2.url:(null===(_d=newLinkRes2.headers.get("location"))||void 0===_d?void 0:_d.split("?link=")[1])||newLink}streamLinks.push({server:"hubcloud",link:newLink,type:"mkv"})}catch(error){}break;case null==link?void 0:link.includes("cloudflarestorage"):streamLinks.push({server:"CfStorage",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("fastdl"))||(null==link?void 0:link.includes("fsl.")):streamLinks.push({server:"FastDl",link:link,type:"mkv"});break;case link.includes("hubcdn")&&!link.includes("/?id="):streamLinks.push({server:"HubCdn",link:link,type:"mkv"});break;default:if((null==link?void 0:link.includes(".mkv"))||(null==link?void 0:link.includes("?token="))){const serverName=(null===(_f=null===(_e=link.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/i))||void 0===_e?void 0:_e[1])||void 0===_f?void 0:_f.replace(/\./g," "))||"Unknown";streamLinks.push({server:serverName,link:link,type:"mkv"})}}}return streamLinks}catch(error){return[]}})}__awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function gdflixExtractor(link,signal,axios,cheerio,headers){return __awaiter(this,void 0,void 0,function*(){var _a,_b,_c,_d,_f,_g,_h;try{const streamLinks=[],data=(yield axios(`${link}`,{headers:headers,signal:signal})).data;let $drive=cheerio.load(data);if(null===(_a=$drive("body").attr("onload"))||void 0===_a?void 0:_a.includes("location.replace")){const newLink=null===(_d=null===(_c=null===(_b=$drive("body").attr("onload"))||void 0===_b?void 0:_b.split("location.replace('"))||void 0===_c?void 0:_c[1].split("'"))||void 0===_d?void 0:_d[0];if(newLink){const newRes=yield axios.get(newLink,{headers:headers,signal:signal});$drive=cheerio.load(newRes.data)}}try{const baseUrl=link.split("/").slice(0,3).join("/"),resumeDrive=$drive(".btn-secondary").attr("href")||"";if(resumeDrive.includes("indexbot")){const resumeBotRes=yield axios.get(resumeDrive,{headers:headers}),resumeBotToken=resumeBotRes.data.match(/formData\.append\('token', '([a-f0-9]+)'\)/)[1],resumeBotBody=new FormData;resumeBotBody.append("token",resumeBotToken);const resumeBotPath=resumeBotRes.data.match(/fetch\('\/download\?id=([a-zA-Z0-9\/+]+)'/)[1],resumeBotBaseUrl=resumeDrive.split("/download")[0],resumeBotDownload=yield fetch(resumeBotBaseUrl+"/download?id="+resumeBotPath,{method:"POST",body:resumeBotBody,headers:{Referer:resumeDrive,Cookie:"PHPSESSID=7e9658ce7c805dab5bbcea9046f7f308"}}),resumeBotDownloadData=yield resumeBotDownload.json();streamLinks.push({server:"ResumeBot",link:resumeBotDownloadData.url,type:"mkv"})}else{const url=baseUrl+resumeDrive,resumeDriveHtml=(yield axios.get(url,{headers:headers})).data,resumeLink=cheerio.load(resumeDriveHtml)(".btn-success").attr("href");resumeLink&&streamLinks.push({server:"ResumeCloud",link:resumeLink,type:"mkv"})}}catch(err){}try{const seed=$drive(".btn-danger").attr("href")||"";if(seed.includes("?url=")){const instantToken=seed.split("=")[1],InstantFromData=new FormData;InstantFromData.append("keys",instantToken);const videoSeedUrl=seed.split("/").slice(0,3).join("/")+"/api",instantLinkRes=yield fetch(videoSeedUrl,{method:"POST",body:InstantFromData,headers:{"x-token":videoSeedUrl}}),instantLinkData=yield instantLinkRes.json();if(!1===instantLinkData.error){const instantLink=instantLinkData.url;streamLinks.push({server:"Gdrive-Instant",link:instantLink,type:"mkv"})}}else{const newLink=(null===(_h=null===(_g=null===(_f=(yield axios.head(seed,{headers:headers,signal:signal})).request)||void 0===_f?void 0:_f.responseURL)||void 0===_g?void 0:_g.split("?url="))||void 0===_h?void 0:_h[1])||seed;streamLinks.push({server:"G-Drive",link:newLink,type:"mkv"})}}catch(err){}return streamLinks}catch(error){return[]}})}const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url,type:type,signal:signal,providerContext:providerContext}){var _b,_c;const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;try{if("movie"===type){const html=(yield axios.get(url,{headers:headers})).data,$=cheerio.load(html);url=$('a:contains("HubCloud")').attr("href")||url}let redirectUrl="";try{const res=yield axios.get(url,{headers:headers});redirectUrl=null===(_b=res.data.match(//i))||void 0===_b?void 0:_b[1],url.includes("/archives/")&&(redirectUrl=null===(_c=res.data.match(/]*href="(https:\/\/hubcloud\.[^\/]+\/[^"]+)"/i))||void 0===_c?void 0:_c[1])}catch(err){}if(!redirectUrl){if(url.includes("hubcloud"))return yield hubcloudExtractor(url,signal,axios,cheerio,headers);if(url.includes("gdflix")){return yield gdflixExtractor(url,signal,axios,cheerio,headers)}}const data=(yield axios.get(redirectUrl,{headers:headers})).data,hubcloudLink=cheerio.load(data)(".fa-file-download").parent().attr("href");return yield hubcloudExtractor((null==hubcloudLink?void 0:hubcloudLink.includes("https://hubcloud"))?hubcloudLink:redirectUrl,signal,axios,cheerio,headers)}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/extractors/gdflix.js b/dist/extractors/gdflix.js new file mode 100644 index 0000000..3b9a6fe --- /dev/null +++ b/dist/extractors/gdflix.js @@ -0,0 +1 @@ +"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function gdflixExtractor(link,signal,axios,cheerio,headers){return __awaiter(this,void 0,void 0,function*(){var _a,_b,_c,_d,_f,_g,_h;try{const streamLinks=[],data=(yield axios(`${link}`,{headers:headers,signal:signal})).data;let $drive=cheerio.load(data);if(null===(_a=$drive("body").attr("onload"))||void 0===_a?void 0:_a.includes("location.replace")){const newLink=null===(_d=null===(_c=null===(_b=$drive("body").attr("onload"))||void 0===_b?void 0:_b.split("location.replace('"))||void 0===_c?void 0:_c[1].split("'"))||void 0===_d?void 0:_d[0];if(newLink){const newRes=yield axios.get(newLink,{headers:headers,signal:signal});$drive=cheerio.load(newRes.data)}}try{const baseUrl=link.split("/").slice(0,3).join("/"),resumeDrive=$drive(".btn-secondary").attr("href")||"";if(resumeDrive.includes("indexbot")){const resumeBotRes=yield axios.get(resumeDrive,{headers:headers}),resumeBotToken=resumeBotRes.data.match(/formData\.append\('token', '([a-f0-9]+)'\)/)[1],resumeBotBody=new FormData;resumeBotBody.append("token",resumeBotToken);const resumeBotPath=resumeBotRes.data.match(/fetch\('\/download\?id=([a-zA-Z0-9\/+]+)'/)[1],resumeBotBaseUrl=resumeDrive.split("/download")[0],resumeBotDownload=yield fetch(resumeBotBaseUrl+"/download?id="+resumeBotPath,{method:"POST",body:resumeBotBody,headers:{Referer:resumeDrive,Cookie:"PHPSESSID=7e9658ce7c805dab5bbcea9046f7f308"}}),resumeBotDownloadData=yield resumeBotDownload.json();streamLinks.push({server:"ResumeBot",link:resumeBotDownloadData.url,type:"mkv"})}else{const url=baseUrl+resumeDrive,resumeDriveHtml=(yield axios.get(url,{headers:headers})).data,resumeLink=cheerio.load(resumeDriveHtml)(".btn-success").attr("href");resumeLink&&streamLinks.push({server:"ResumeCloud",link:resumeLink,type:"mkv"})}}catch(err){}try{const seed=$drive(".btn-danger").attr("href")||"";if(seed.includes("?url=")){const instantToken=seed.split("=")[1],InstantFromData=new FormData;InstantFromData.append("keys",instantToken);const videoSeedUrl=seed.split("/").slice(0,3).join("/")+"/api",instantLinkRes=yield fetch(videoSeedUrl,{method:"POST",body:InstantFromData,headers:{"x-token":videoSeedUrl}}),instantLinkData=yield instantLinkRes.json();if(!1===instantLinkData.error){const instantLink=instantLinkData.url;streamLinks.push({server:"Gdrive-Instant",link:instantLink,type:"mkv"})}}else{const newLink=(null===(_h=null===(_g=null===(_f=(yield axios.head(seed,{headers:headers,signal:signal})).request)||void 0===_f?void 0:_f.responseURL)||void 0===_g?void 0:_g.split("?url="))||void 0===_h?void 0:_h[1])||seed;streamLinks.push({server:"G-Drive",link:newLink,type:"mkv"})}}catch(err){}return streamLinks}catch(error){return[]}})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.gdflixExtractor=gdflixExtractor; \ No newline at end of file diff --git a/dist/extractors/gofile.js b/dist/extractors/gofile.js new file mode 100644 index 0000000..ab0a550 --- /dev/null +++ b/dist/extractors/gofile.js @@ -0,0 +1 @@ +"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function gofileExtractor(id,axios){return __awaiter(this,void 0,void 0,function*(){try{yield axios.get("https://gofile.io/d/"+id);const token=(yield axios.post("https://api.gofile.io/accounts")).data.data.token,wt=(yield axios.get("https://gofile.io/dist/js/global.js")).data.match(/appdata\.wt\s*=\s*["']([^"']+)["']/)[1],res=yield axios.get(`https://api.gofile.io/contents/${id}?wt=${wt}`,{headers:{Authorization:`Bearer ${token}`}}),oId=Object.keys(res.data.data.children)[0];return{link:res.data.data.children[oId].link,token:token}}catch(e){return{link:"",token:""}}})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.gofileExtractor=gofileExtractor; \ No newline at end of file diff --git a/dist/extractors/hubcloud.js b/dist/extractors/hubcloud.js new file mode 100644 index 0000000..13254ff --- /dev/null +++ b/dist/extractors/hubcloud.js @@ -0,0 +1 @@ +"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.hubcloudExtractor=hubcloudExtractor;const hubcloudDecode=function(value){return void 0===value?"":atob(value.toString())};function hubcloudExtractor(link,signal,axios,cheerio,headers){return __awaiter(this,void 0,void 0,function*(){var _a,_b,_c,_d,_e,_f;try{headers.Cookie="ext_name=ojplmecpdpgccookcobabopnaifgidhf; xla=s4t; cf_clearance=woQrFGXtLfmEMBEiGUsVHrUBMT8s3cmguIzmMjmvpkg-1770053679-1.2.1.1-xBrQdciOJsweUF6F2T_OtH6jmyanN_TduQ0yslc_XqjU6RcHSxI7.YOKv6ry7oYo64868HYoULnVyww536H2eVI3R2e4wKzsky6abjPdfQPxqpUaXjxfJ02o6jl3_Vkwr4uiaU7Wy596Vdst3y78HXvVmKdIohhtPvp.vZ9_L7wvWdce0GRixjh_6JiqWmWMws46hwEt3hboaS1e1e4EoWCvj5b0M_jVwvSxBOAW5emFzvT3QrnRh4nyYmKDERnY";const baseUrl=link.split("/").slice(0,3).join("/"),streamLinks=[],vLinkText=(yield axios(`${link}`,{headers:headers,signal:signal})).data,$vLink=cheerio.load(vLinkText),vLinkRedirect=vLinkText.match(/var\s+url\s*=\s*'([^']+)';/)||[];let vcloudLink=hubcloudDecode(null===(_b=null===(_a=vLinkRedirect[1])||void 0===_a?void 0:_a.split("r="))||void 0===_b?void 0:_b[1])||vLinkRedirect[1]||$vLink(".fa-file-download.fa-lg").parent().attr("href")||link;(null==vcloudLink?void 0:vcloudLink.startsWith("/"))&&(vcloudLink=`${baseUrl}${vcloudLink}`);const vcloudRes=yield fetch(vcloudLink,{headers:headers,signal:signal,redirect:"follow"}),$=cheerio.load(yield vcloudRes.text()),linkClass=$(".btn-success.btn-lg.h6,.btn-danger,.btn-secondary");for(const element of linkClass){let link=$(element).attr("href")||"";switch(!0){case null==link?void 0:link.includes("pixeld"):if(!(null==link?void 0:link.includes("api"))){const token=link.split("/").pop(),baseUrl=link.split("/").slice(0,-2).join("/");link=`${baseUrl}/api/file/${token}?download`}streamLinks.push({server:"Pixeldrain",link:link,type:"mkv"});break;case(null==link?void 0:link.includes(".dev"))&&!(null==link?void 0:link.includes("/?id=")):streamLinks.push({server:"Cf Worker",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("hubcloud"))||(null==link?void 0:link.includes("/?id=")):try{const newLinkRes=yield fetch(link,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});let newLink=link;if(newLink=newLinkRes.status>=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||link:newLinkRes.url&&newLinkRes.url!==link?newLinkRes.url:newLinkRes.headers.get("location")||link,newLink.includes("googleusercontent"))newLink=newLink.split("?link=")[1];else{const newLinkRes2=yield fetch(newLink,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});newLink=newLinkRes2.status>=300&&newLinkRes2.status<400?(null===(_c=newLinkRes2.headers.get("location"))||void 0===_c?void 0:_c.split("?link=")[1])||newLink:newLinkRes2.url&&newLinkRes2.url!==newLink?newLinkRes2.url.split("?link=")[1]||newLinkRes2.url:(null===(_d=newLinkRes2.headers.get("location"))||void 0===_d?void 0:_d.split("?link=")[1])||newLink}streamLinks.push({server:"hubcloud",link:newLink,type:"mkv"})}catch(error){}break;case null==link?void 0:link.includes("cloudflarestorage"):streamLinks.push({server:"CfStorage",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("fastdl"))||(null==link?void 0:link.includes("fsl.")):streamLinks.push({server:"FastDl",link:link,type:"mkv"});break;case link.includes("hubcdn")&&!link.includes("/?id="):streamLinks.push({server:"HubCdn",link:link,type:"mkv"});break;default:if((null==link?void 0:link.includes(".mkv"))||(null==link?void 0:link.includes("?token="))){const serverName=(null===(_f=null===(_e=link.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/i))||void 0===_e?void 0:_e[1])||void 0===_f?void 0:_f.replace(/\./g," "))||"Unknown";streamLinks.push({server:serverName,link:link,type:"mkv"})}}}return streamLinks}catch(error){return[]}})} \ No newline at end of file diff --git a/dist/superVideoExtractor.js b/dist/extractors/supeVideo.js similarity index 100% rename from dist/superVideoExtractor.js rename to dist/extractors/supeVideo.js diff --git a/dist/filmyfly/catalog.js b/dist/filmyfly/catalog.js index d2f5044..6bc8dbc 100644 --- a/dist/filmyfly/catalog.js +++ b/dist/filmyfly/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Home",filter:""},{title:"Web Series",filter:"/page-cat/42/Web-Series.html"},{title:"Hollywood",filter:"/page-cat/4/Hollywood-Hindi-Movies.html"}],exports.genres=[]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Home",filter:""},{title:"Web Series",filter:"/page-cat/42/Web-Series.html"},{title:"Hollywood",filter:"/page-cat/4/Hollywood-Hindi-Movies.html"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/filmyfly/episodes.js b/dist/filmyfly/episodes.js index 8331c8a..ce7c01a 100644 --- a/dist/filmyfly/episodes.js +++ b/dist/filmyfly/episodes.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){try{const headers=providerContext.commonHeaders,{axios:axios,cheerio:cheerio}=providerContext,data=(yield axios.get(url,{headers:headers})).data,$=cheerio.load(data),episodeLinks=[];return $(".dlink.dl").map((i,element)=>{var _a,_b;const title=null===(_b=null===(_a=$(element).find("a").text())||void 0===_a?void 0:_a.replace("Download",""))||void 0===_b?void 0:_b.trim(),link=$(element).find("a").attr("href");title&&link&&episodeLinks.push({title:title,link:link})}),episodeLinks}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){try{const headers=providerContext.commonHeaders,{axios:axios,cheerio:cheerio}=providerContext,data=(yield axios.get(url,{headers:headers})).data,$=cheerio.load(data),episodeLinks=[];return $(".dlink.dl").map((i,element)=>{var _a,_b;const title=null===(_b=null===(_a=$(element).find("a").text())||void 0===_a?void 0:_a.replace("Download",""))||void 0===_b?void 0:_b.trim(),link=$(element).find("a").attr("href");title&&link&&episodeLinks.push({title:title,link:link})}),episodeLinks}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/filmyfly/meta.js b/dist/filmyfly/meta.js index 289f37e..0b2364c 100644 --- a/dist/filmyfly/meta.js +++ b/dist/filmyfly/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext,url=link,data=(yield axios.get(url,{headers:headers})).data,$=cheerio.load(data),type=url.includes("tvshows")?"series":"movie",imdbId="",title=$('.fname:contains("Name")').find(".colora").text().trim(),image=$(".ss").find("img").attr("src")||"",synopsis=$('.fname:contains("Description")').find(".colorg").text().trim(),tags=$('.fname:contains("Genre")').find(".colorb").text().split(",")||[],rating="",links=[],downloadLink=$(".dlbtn").find("a").attr("href");return downloadLink&&links.push({title:title,episodesLink:downloadLink}),{title:title,tags:tags,rating:rating,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext,url=link,data=(yield axios.get(url,{headers:headers})).data,$=cheerio.load(data),type=url.includes("tvshows")?"series":"movie",imdbId="",title=$('.fname:contains("Name")').find(".colora").text().trim(),image=$(".ss").find("img").attr("src")||"",synopsis=$('.fname:contains("Description")').find(".colorg").text().trim(),tags=$('.fname:contains("Genre")').find(".colorb").text().split(",")||[],rating="",links=[],downloadLink=$(".dlbtn").find("a").attr("href");return downloadLink&&links.push({title:title,episodesLink:downloadLink}),{title:title,tags:tags,rating:rating,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/filmyfly/posts.js b/dist/filmyfly/posts.js index ce0f583..f6f8dda 100644 --- a/dist/filmyfly/posts.js +++ b/dist/filmyfly/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("filmyfly");return posts({url:`${baseUrl+filter}/${page}`,signal:signal,baseUrl:baseUrl,providerContext:providerContext})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("filmyfly");return page>1?[]:posts({url:`${baseUrl}/site-1.html?to-search=${searchQuery}`,signal:signal,baseUrl:baseUrl,providerContext:providerContext})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,baseUrl:baseUrl,providerContext:providerContext}){try{const{cheerio:cheerio,commonHeaders:headers}=providerContext,res=yield fetch(url,{headers:headers,signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $(".A2,.A10,.fl").map((i,element)=>{const title=$(element).find("a").eq(1).text()||$(element).find("b").text(),link=$(element).find("a").attr("href"),image=$(element).find("img").attr("src");title&&link&&image&&catalog.push({title:title,link:baseUrl+link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("filmyfly");return posts({url:`${baseUrl+filter}/${page}`,signal:signal,baseUrl:baseUrl,providerContext:providerContext})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("filmyfly");return page>1?[]:posts({url:`${baseUrl}/site-1.html?to-search=${searchQuery}`,signal:signal,baseUrl:baseUrl,providerContext:providerContext})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,baseUrl:baseUrl,providerContext:providerContext}){try{const{cheerio:cheerio,commonHeaders:headers}=providerContext,res=yield fetch(url,{headers:headers,signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $(".A2,.A10,.fl").map((i,element)=>{const title=$(element).find("a").eq(1).text()||$(element).find("b").text(),link=$(element).find("a").attr("href"),image=$(element).find("img").attr("src");title&&link&&image&&catalog.push({title:title,link:baseUrl+link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/filmyfly/stream.js b/dist/filmyfly/stream.js index 6577915..412dddd 100644 --- a/dist/filmyfly/stream.js +++ b/dist/filmyfly/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,signal:signal,providerContext:providerContext}){try{const data=(yield providerContext.axios.get(link,{signal:signal})).data,$=providerContext.cheerio.load(data),streams=[],promises=$(".button2,.button1,.button3,.button4,.button").toArray().map(element=>__awaiter(this,void 0,void 0,function*(){const title=$(element).text();let link=$(element).attr("href");if(title.includes("GDFLIX")&&link){const gdLinks=yield providerContext.extractors.gdFlixExtracter(link,signal);streams.push(...gdLinks)}const alreadyAdded=streams.find(s=>s.link===link);!title||!link||title.includes("Watch")||title.includes("Login")||title.includes("GoFile")||alreadyAdded||streams.push({server:title,link:link,type:"mkv"})}));return yield Promise.all(promises),streams}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;__awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function gdflixExtractor(link,signal,axios,cheerio,headers){return __awaiter(this,void 0,void 0,function*(){var _a,_b,_c,_d,_f,_g,_h;try{const streamLinks=[],data=(yield axios(`${link}`,{headers:headers,signal:signal})).data;let $drive=cheerio.load(data);if(null===(_a=$drive("body").attr("onload"))||void 0===_a?void 0:_a.includes("location.replace")){const newLink=null===(_d=null===(_c=null===(_b=$drive("body").attr("onload"))||void 0===_b?void 0:_b.split("location.replace('"))||void 0===_c?void 0:_c[1].split("'"))||void 0===_d?void 0:_d[0];if(newLink){const newRes=yield axios.get(newLink,{headers:headers,signal:signal});$drive=cheerio.load(newRes.data)}}try{const baseUrl=link.split("/").slice(0,3).join("/"),resumeDrive=$drive(".btn-secondary").attr("href")||"";if(resumeDrive.includes("indexbot")){const resumeBotRes=yield axios.get(resumeDrive,{headers:headers}),resumeBotToken=resumeBotRes.data.match(/formData\.append\('token', '([a-f0-9]+)'\)/)[1],resumeBotBody=new FormData;resumeBotBody.append("token",resumeBotToken);const resumeBotPath=resumeBotRes.data.match(/fetch\('\/download\?id=([a-zA-Z0-9\/+]+)'/)[1],resumeBotBaseUrl=resumeDrive.split("/download")[0],resumeBotDownload=yield fetch(resumeBotBaseUrl+"/download?id="+resumeBotPath,{method:"POST",body:resumeBotBody,headers:{Referer:resumeDrive,Cookie:"PHPSESSID=7e9658ce7c805dab5bbcea9046f7f308"}}),resumeBotDownloadData=yield resumeBotDownload.json();streamLinks.push({server:"ResumeBot",link:resumeBotDownloadData.url,type:"mkv"})}else{const url=baseUrl+resumeDrive,resumeDriveHtml=(yield axios.get(url,{headers:headers})).data,resumeLink=cheerio.load(resumeDriveHtml)(".btn-success").attr("href");resumeLink&&streamLinks.push({server:"ResumeCloud",link:resumeLink,type:"mkv"})}}catch(err){}try{const seed=$drive(".btn-danger").attr("href")||"";if(seed.includes("?url=")){const instantToken=seed.split("=")[1],InstantFromData=new FormData;InstantFromData.append("keys",instantToken);const videoSeedUrl=seed.split("/").slice(0,3).join("/")+"/api",instantLinkRes=yield fetch(videoSeedUrl,{method:"POST",body:InstantFromData,headers:{"x-token":videoSeedUrl}}),instantLinkData=yield instantLinkRes.json();if(!1===instantLinkData.error){const instantLink=instantLinkData.url;streamLinks.push({server:"Gdrive-Instant",link:instantLink,type:"mkv"})}}else{const newLink=(null===(_h=null===(_g=null===(_f=(yield axios.head(seed,{headers:headers,signal:signal})).request)||void 0===_f?void 0:_f.responseURL)||void 0===_g?void 0:_g.split("?url="))||void 0===_h?void 0:_h[1])||seed;streamLinks.push({server:"G-Drive",link:newLink,type:"mkv"})}}catch(err){}return streamLinks}catch(error){return[]}})}const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,signal:signal,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;try{const data=(yield axios.get(link,{signal:signal})).data,$=cheerio.load(data),streams=[],promises=$(".button2,.button1,.button3,.button4,.button").toArray().map(element=>__awaiter(this,void 0,void 0,function*(){const title=$(element).text();let link=$(element).attr("href");if(title.includes("GDFLIX")&&link){const gdLinks=yield gdflixExtractor(link,signal,axios,cheerio,headers);streams.push(...gdLinks)}const alreadyAdded=streams.find(s=>s.link===link);!title||!link||title.includes("Watch")||title.includes("Login")||title.includes("GoFile")||alreadyAdded||streams.push({server:title,link:link,type:"mkv"})}));return yield Promise.all(promises),streams}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/flixhq/catalog.js b/dist/flixhq/catalog.js index 0ad3dbd..e373830 100644 --- a/dist/flixhq/catalog.js +++ b/dist/flixhq/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Trending",filter:"/trending"},{title:"Movies",filter:"/recent-movies"},{title:"TV Shows",filter:"/recent-shows"}],exports.genres=[]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Trending",filter:"/trending"},{title:"Movies",filter:"/recent-movies"},{title:"TV Shows",filter:"/recent-shows"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/flixhq/meta.js b/dist/flixhq/meta.js index 1841190..fd60729 100644 --- a/dist/flixhq/meta.js +++ b/dist/flixhq/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,providerContext:providerContext}){try{const{axios:axios,getBaseUrl:getBaseUrl}=providerContext,url=`${yield getBaseUrl("consumet")}/movies/flixhq/info?id=`+id,data=(yield axios.get(url)).data,meta={title:data.title,synopsis:data.description.replace(/<[^>]*>?/gm,"").trim(),image:data.cover,cast:data.casts,rating:data.rating,tags:[null==data?void 0:data.type,null==data?void 0:data.duration,data.releaseDate.split("-")[0]],imdbId:"",type:data.episodes.length>1?"series":"movie"},links=[];return data.episodes.forEach(episode=>{const title=(null==episode?void 0:episode.number)?"Season-"+(null==episode?void 0:episode.season)+" Ep-"+episode.number:episode.title,link=episode.id+"*"+data.id;link&&title&&links.push({title:title,link:link})}),Object.assign(Object.assign({},meta),{linkList:[{title:meta.title,directLinks:links}]})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,providerContext:providerContext}){try{const{axios:axios,getBaseUrl:getBaseUrl}=providerContext,url=`${yield getBaseUrl("consumet")}/movies/flixhq/info?id=`+id,data=(yield axios.get(url)).data,meta={title:data.title,synopsis:data.description.replace(/<[^>]*>?/gm,"").trim(),image:data.cover,cast:data.casts,rating:data.rating,tags:[null==data?void 0:data.type,null==data?void 0:data.duration,data.releaseDate.split("-")[0]],imdbId:"",type:data.episodes.length>1?"series":"movie"},links=[];return data.episodes.forEach(episode=>{const title=(null==episode?void 0:episode.number)?"Season-"+(null==episode?void 0:episode.season)+" Ep-"+episode.number:episode.title,link=episode.id+"*"+data.id;link&&title&&links.push({title:title,link:link})}),Object.assign(Object.assign({},meta),{linkList:[{title:meta.title,directLinks:links}]})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/flixhq/posts.js b/dist/flixhq/posts.js index 471a618..5b56671 100644 --- a/dist/flixhq/posts.js +++ b/dist/flixhq/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts({url:`${(yield getBaseUrl("consumet"))+"/movies/flixhq"+filter}`,signal:signal,providerContext:providerContext})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts({url:`${(yield getBaseUrl("consumet"))+"/movies/flixhq"}/${searchQuery}?page=${page}`,signal:signal,providerContext:providerContext})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,providerContext:providerContext}){var _b;try{const{axios:axios}=providerContext,res=yield axios.get(url,{signal:signal}),data=(null===(_b=res.data)||void 0===_b?void 0:_b.results)||res.data,catalog=[];return null==data||data.map(element=>{const title=element.title,link=element.id,image=element.image;title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts({url:`${(yield getBaseUrl("consumet"))+"/movies/flixhq"+filter}`,signal:signal,providerContext:providerContext})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts({url:`${(yield getBaseUrl("consumet"))+"/movies/flixhq"}/${searchQuery}?page=${page}`,signal:signal,providerContext:providerContext})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,providerContext:providerContext}){var _b;try{const{axios:axios}=providerContext,res=yield axios.get(url,{signal:signal}),data=(null===(_b=res.data)||void 0===_b?void 0:_b.results)||res.data,catalog=[];return null==data||data.map(element=>{const title=element.title,link=element.id,image=element.image;title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/flixhq/stream.js b/dist/flixhq/stream.js index 50016fa..e8e70cc 100644 --- a/dist/flixhq/stream.js +++ b/dist/flixhq/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,providerContext:providerContext}){var _b;try{const{getBaseUrl:getBaseUrl}=providerContext,episodeId=id.split("*")[0],mediaId=id.split("*")[1],baseUrl=yield getBaseUrl("consumet"),serverUrl=`${baseUrl}/movies/flixhq/servers?episodeId=${episodeId}&mediaId=${mediaId}`,res=yield fetch(serverUrl),servers=yield res.json(),streamLinks=[];for(const server of servers){const streamUrl=`${baseUrl}/movies/flixhq/watch?server=`+server.name+"&episodeId="+episodeId+"&mediaId="+mediaId,streamRes=yield fetch(streamUrl),streamData=yield streamRes.json(),subtitles=[];(null===(_b=null==streamData?void 0:streamData.sources)||void 0===_b?void 0:_b.length)>0&&(streamData.subtitles&&streamData.subtitles.forEach(sub=>{var _a;subtitles.push({language:null===(_a=null==sub?void 0:sub.lang)||void 0===_a?void 0:_a.slice(0,2),uri:null==sub?void 0:sub.url,type:"text/vtt",title:null==sub?void 0:sub.lang})}),streamData.sources.forEach(source=>{var _a;streamLinks.push({server:(null==server?void 0:server.name)+"-"+(null===(_a=null==source?void 0:source.quality)||void 0===_a?void 0:_a.replace("auto","MultiQuality")),link:source.url,type:source.isM3U8?"m3u8":"mp4",subtitles:subtitles})}))}return streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,providerContext:providerContext}){var _b;try{const{getBaseUrl:getBaseUrl}=providerContext,episodeId=id.split("*")[0],mediaId=id.split("*")[1],baseUrl=yield getBaseUrl("consumet"),serverUrl=`${baseUrl}/movies/flixhq/servers?episodeId=${episodeId}&mediaId=${mediaId}`,res=yield fetch(serverUrl),servers=yield res.json(),streamLinks=[];for(const server of servers){const streamUrl=`${baseUrl}/movies/flixhq/watch?server=`+server.name+"&episodeId="+episodeId+"&mediaId="+mediaId,streamRes=yield fetch(streamUrl),streamData=yield streamRes.json(),subtitles=[];(null===(_b=null==streamData?void 0:streamData.sources)||void 0===_b?void 0:_b.length)>0&&(streamData.subtitles&&streamData.subtitles.forEach(sub=>{var _a;subtitles.push({language:null===(_a=null==sub?void 0:sub.lang)||void 0===_a?void 0:_a.slice(0,2),uri:null==sub?void 0:sub.url,type:"text/vtt",title:null==sub?void 0:sub.lang})}),streamData.sources.forEach(source=>{var _a;streamLinks.push({server:(null==server?void 0:server.name)+"-"+(null===(_a=null==source?void 0:source.quality)||void 0===_a?void 0:_a.replace("auto","MultiQuality")),link:source.url,type:source.isM3U8?"m3u8":"mp4",subtitles:subtitles})}))}return streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/gdflixExtractor.js b/dist/gdflixExtractor.js deleted file mode 100644 index 14c50d5..0000000 --- a/dist/gdflixExtractor.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);desc&&!("get"in desc?!m.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=this&&this.__importStar||function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o){var ar=[];for(var k in o)Object.prototype.hasOwnProperty.call(o,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(null!=mod)for(var k=ownKeys(mod),i=0;i{var _a,_b,_c;(null==video?void 0:video.season)<=0||(season.has(null==video?void 0:video.season)||season.set(null==video?void 0:video.season,[]),season.get(null==video?void 0:video.season).push({title:"Episode "+(null==video?void 0:video.episode),type:"series",link:`${null===(_a=null==data?void 0:data.meta)||void 0===_a?void 0:_a.imdb_id}-${null===(_b=null==video?void 0:video.id)||void 0===_b?void 0:_b.split(":")[1]}-${null===(_c=null==video?void 0:video.id)||void 0===_c?void 0:_c.split(":")[2]}`}))});const keys=Array.from(season.keys());keys.sort(),keys.map(key=>{directLinks=season.get(key),links.push({title:`Season ${key}`,directLinks:directLinks})})}else links.push({title:null===(_j=null==data?void 0:data.meta)||void 0===_j?void 0:_j.name,directLinks:[{title:"Movie",type:"movie",link:`${null===(_k=null==data?void 0:data.meta)||void 0===_k?void 0:_k.imdb_id}-`}]});return Object.assign(Object.assign({},meta),{linkList:links})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j,_k;const axios=providerContext.axios;try{const data=(yield axios.get(link)).data,meta={title:(null===(_b=null==data?void 0:data.meta)||void 0===_b?void 0:_b.name)||"",synopsis:(null===(_c=null==data?void 0:data.meta)||void 0===_c?void 0:_c.description)||"",image:(null===(_d=null==data?void 0:data.meta)||void 0===_d?void 0:_d.background)||"",imdbId:(null===(_e=null==data?void 0:data.meta)||void 0===_e?void 0:_e.imdb_id)||"",type:(null===(_f=null==data?void 0:data.meta)||void 0===_f?void 0:_f.type)||"movie"},links=[];let directLinks=[],season=new Map;if("series"===meta.type){null===(_h=null===(_g=null==data?void 0:data.meta)||void 0===_g?void 0:_g.videos)||void 0===_h||_h.map(video=>{var _a,_b,_c;(null==video?void 0:video.season)<=0||(season.has(null==video?void 0:video.season)||season.set(null==video?void 0:video.season,[]),season.get(null==video?void 0:video.season).push({title:"Episode "+(null==video?void 0:video.episode),type:"series",link:`${null===(_a=null==data?void 0:data.meta)||void 0===_a?void 0:_a.imdb_id}-${null===(_b=null==video?void 0:video.id)||void 0===_b?void 0:_b.split(":")[1]}-${null===(_c=null==video?void 0:video.id)||void 0===_c?void 0:_c.split(":")[2]}`}))});const keys=Array.from(season.keys());keys.sort(),keys.map(key=>{directLinks=season.get(key),links.push({title:`Season ${key}`,directLinks:directLinks})})}else links.push({title:null===(_j=null==data?void 0:data.meta)||void 0===_j?void 0:_j.name,directLinks:[{title:"Movie",type:"movie",link:`${null===(_k=null==data?void 0:data.meta)||void 0===_k?void 0:_k.imdb_id}-`}]});return Object.assign(Object.assign({},meta),{linkList:links})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/guardahd/posts.js b/dist/guardahd/posts.js index b15b8a0..a1f3947 100644 --- a/dist/guardahd/posts.js +++ b/dist/guardahd/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,signal:signal,providerContext:providerContext}){try{const catalog=[],url="https://cinemeta-catalogs.strem.io"+filter,data=(yield providerContext.axios.get(url,{headers:providerContext.commonHeaders,signal:signal})).data;return null==data||data.metas.map(result=>{const title=null==result?void 0:result.name,id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),type=null==result?void 0:result.type,image=null==result?void 0:result.poster;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})}),catalog}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){try{const{axios:axios,commonHeaders:headers}=providerContext;if(page>1)return[];const catalog=[],url2=`https://v3-cinemeta.strem.io/catalog/movie/top/search=${encodeURI(searchQuery)}.json`,data2=(yield axios.get(url2,{headers:headers,signal:signal})).data;return null==data2||data2.metas.map(result=>{const title=(null==result?void 0:result.name)||"",id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),image=null==result?void 0:result.poster,type=null==result?void 0:result.type;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})}),catalog}catch(err){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,signal:signal,providerContext:providerContext}){try{const catalog=[],url="https://cinemeta-catalogs.strem.io"+filter,data=(yield providerContext.axios.get(url,{headers:providerContext.commonHeaders,signal:signal})).data;return null==data||data.metas.map(result=>{const title=null==result?void 0:result.name,id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),type=null==result?void 0:result.type,image=null==result?void 0:result.poster;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})}),catalog}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){try{const{axios:axios,commonHeaders:headers}=providerContext;if(page>1)return[];const catalog=[],url2=`https://v3-cinemeta.strem.io/catalog/movie/top/search=${encodeURI(searchQuery)}.json`,data2=(yield axios.get(url2,{headers:headers,signal:signal})).data;return null==data2||data2.metas.map(result=>{const title=(null==result?void 0:result.name)||"",id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),image=null==result?void 0:result.poster,type=null==result?void 0:result.type;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})}),catalog}catch(err){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/guardahd/stream.js b/dist/guardahd/stream.js index 365210b..06e0944 100644 --- a/dist/guardahd/stream.js +++ b/dist/guardahd/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,type:type,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio,extractors:extractors,commonHeaders:commonHeaders}=providerContext,{superVideoExtractor:superVideoExtractor}=extractors;function ExtractGuardahd(_a){return __awaiter(this,arguments,void 0,function*({imdb:imdb}){try{const url="https://guardahd.stream"+("/set-movie-a/"+imdb),html=(yield axios.get(url,{timeout:4e3})).data,superVideoUrl=cheerio.load(html)('li:contains("supervideo")').attr("data-link");if(!superVideoUrl)return null;const controller2=new AbortController,signal2=controller2.signal;setTimeout(()=>controller2.abort(),4e3);const res2=yield fetch("https:"+superVideoUrl,{signal:signal2,headers:Object.assign({},commonHeaders)}),data=yield res2.text();return yield superVideoExtractor(data)}catch(err){}})}function GetMostraguardaStream(_a){return __awaiter(this,arguments,void 0,function*({imdb:imdb,type:type,season:season,episode:episode}){try{const url="https://mostraguarda.stream"+("tv"===type?`/serie/${imdb}/${season}/${episode}`:`/movie/${imdb}`),html=(yield axios(url,{timeout:4e3})).data,superVideoUrl=cheerio.load(html)('li:contains("supervideo")').attr("data-link");if(!superVideoUrl)return null;const controller2=new AbortController,signal2=controller2.signal;setTimeout(()=>controller2.abort(),4e3);const res2=yield fetch("https:"+superVideoUrl,{signal:signal2,headers:Object.assign({},commonHeaders)}),data=yield res2.text();return yield superVideoExtractor(data)}catch(err){}})}const streams=[],[imdbId,season,episode]=id.split("-"),mostraguardaStream=yield GetMostraguardaStream({imdb:imdbId,type:type,season:season,episode:episode});mostraguardaStream&&streams.push({server:"Supervideo 1",link:mostraguardaStream,type:"m3u8"});const guardahdStream=yield ExtractGuardahd({imdb:imdbId,type:type,season:season,episode:episode});return guardahdStream&&streams.push({server:"Supervideo 2",link:guardahdStream,type:"m3u8"}),streams}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;__awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function superVideoExtractor(data){return __awaiter(this,void 0,void 0,function*(){var _a,_b;try{var match=/eval\(function\((.*?)\)\{.*?return p\}.*?\('(.*?)'\.split/.exec(data);let p="";if(match){var encodedString=match[2];p=null===(_a=encodedString.split("',36,"))||void 0===_a?void 0:_a[0].trim();let a=36,c=encodedString.split("',36,")[1].slice(2).split("|").length,k=encodedString.split("',36,")[1].slice(2).split("|");for(;c--;)if(k[c]){var regex=new RegExp("\\b"+c.toString(a)+"\\b","g");p=p.replace(regex,k[c])}}return(null===(_b=null==p?void 0:p.match(/file:\s*"([^"]+\.m3u8[^"]*)"/))||void 0===_b?void 0:_b[1])||""}catch(err){return""}})}const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,type:type,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio,commonHeaders:commonHeaders}=providerContext;const streams=[],[imdbId,season,episode]=id.split("-"),mostraguardaStream=yield function(_a){return __awaiter(this,arguments,void 0,function*({imdb:imdb,type:type,season:season,episode:episode}){try{const url="https://mostraguarda.stream"+("tv"===type?`/serie/${imdb}/${season}/${episode}`:`/movie/${imdb}`),html=(yield axios(url,{timeout:4e3})).data,superVideoUrl=cheerio.load(html)('li:contains("supervideo")').attr("data-link");if(!superVideoUrl)return null;const controller2=new AbortController,signal2=controller2.signal;setTimeout(()=>controller2.abort(),4e3);const res2=yield fetch("https:"+superVideoUrl,{signal:signal2,headers:Object.assign({},commonHeaders)}),data=yield res2.text();return yield superVideoExtractor(data)}catch(err){}})}({imdb:imdbId,type:type,season:season,episode:episode});mostraguardaStream&&streams.push({server:"Supervideo 1",link:mostraguardaStream,type:"m3u8"});const guardahdStream=yield function(_a){return __awaiter(this,arguments,void 0,function*({imdb:imdb}){try{const url="https://guardahd.stream"+("/set-movie-a/"+imdb),html=(yield axios.get(url,{timeout:4e3})).data,superVideoUrl=cheerio.load(html)('li:contains("supervideo")').attr("data-link");if(!superVideoUrl)return null;const controller2=new AbortController,signal2=controller2.signal;setTimeout(()=>controller2.abort(),4e3);const res2=yield fetch("https:"+superVideoUrl,{signal:signal2,headers:Object.assign({},commonHeaders)}),data=yield res2.text();return yield superVideoExtractor(data)}catch(err){}})}({imdb:imdbId,type:type,season:season,episode:episode});return guardahdStream&&streams.push({server:"Supervideo 2",link:guardahdStream,type:"m3u8"}),streams}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/hdhub4u/catalog.js b/dist/hdhub4u/catalog.js index f41ac7b..2957fef 100644 --- a/dist/hdhub4u/catalog.js +++ b/dist/hdhub4u/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:""},{title:"Web Series",filter:"/category/web-series"},{title:"Hollywood ",filter:"/category/hollywood-movies"},{title:"South Movies",filter:"/category/south-hindi-movies"}],exports.genres=[{title:"Action",filter:"/category/action"},{title:"Crime",filter:"/category/crime"},{title:"Comedy",filter:"/category/comedy"},{title:"Drama",filter:"/category/drama"},{title:"Horror",filter:"/category/horror"},{title:"Family",filter:"/category/family"},{title:"Sci-Fi",filter:"/category/sifi"},{title:"Thriller",filter:"/category/triller"},{title:"Romance",filter:"/category/romance"},{title:"Fight",filter:"/category/fight"}]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:""},{title:"Web Series",filter:"/category/web-series"},{title:"Hollywood ",filter:"/category/hollywood-movies"},{title:"South Movies",filter:"/category/south-hindi-movies"}],exports.genres=[{title:"Action",filter:"/category/action"},{title:"Crime",filter:"/category/crime"},{title:"Comedy",filter:"/category/comedy"},{title:"Drama",filter:"/category/drama"},{title:"Horror",filter:"/category/horror"},{title:"Family",filter:"/category/family"},{title:"Sci-Fi",filter:"/category/sifi"},{title:"Thriller",filter:"/category/triller"},{title:"Romance",filter:"/category/romance"},{title:"Fight",filter:"/category/fight"}]; \ No newline at end of file diff --git a/dist/hdhub4u/meta.js b/dist/hdhub4u/meta.js index c3da24f..dd953b3 100644 --- a/dist/hdhub4u/meta.js +++ b/dist/hdhub4u/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const hdbHeaders={Cookie:"xla=s4t",Referer:"https://google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url,{headers:hdbHeaders})).data,$=cheerio.load(data),container=$(".page-body"),imdbId=(null===(_b=container.find('a[href*="imdb.com/title/tt"]:not([href*="imdb.com/title/tt/"])').attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",title=container.find('h2[data-ved="2ahUKEwjL0NrBk4vnAhWlH7cAHRCeAlwQ3B0oATAfegQIFBAM"],h2[data-ved="2ahUKEwiP0pGdlermAhUFYVAKHV8tAmgQ3B0oATAZegQIDhAM"]').text(),type=title.toLocaleLowerCase().includes("season")?"series":"movie",synopsis=container.find('strong:contains("DESCRIPTION")').parent().text().replace("DESCRIPTION:",""),image=container.find('img[decoding="async"]').attr("src")||"",links=[],directLink=[];return $('strong:contains("EPiSODE")').map((i,element)=>{const epTitle=$(element).parent().parent().text(),episodesLink=$(element).parent().parent().parent().next().next().find("a").attr("href")||$(element).parent().parent().parent().next().find("a").attr("href");episodesLink&&episodesLink&&directLink.push({title:epTitle,link:episodesLink})}),0===directLink.length&&container.find('a:contains("EPiSODE")').map((i,element)=>{const epTitle=$(element).text(),episodesLink=$(element).attr("href");episodesLink&&directLink.push({title:epTitle.toLocaleUpperCase(),link:episodesLink})}),directLink.length>0&&links.push({title:title,directLinks:directLink}),0===directLink.length&&container.find('a:contains("480"),a:contains("720"),a:contains("1080"),a:contains("2160"),a:contains("4K")').map((i,element)=>{var _a;const quality=(null===(_a=$(element).text().match(/\b(480p|720p|1080p|2160p)\b/i))||void 0===_a?void 0:_a[0])||"",movieLinks=$(element).attr("href"),title=$(element).text();movieLinks&&links.push({directLinks:[{link:movieLinks,title:"Movie",type:"movie"}],quality:quality,title:title})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const hdbHeaders={Cookie:"xla=s4t",Referer:"https://google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url,{headers:hdbHeaders})).data,$=cheerio.load(data),container=$(".page-body"),imdbId=(null===(_b=container.find('a[href*="imdb.com/title/tt"]:not([href*="imdb.com/title/tt/"])').attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",title=container.find('h2[data-ved="2ahUKEwjL0NrBk4vnAhWlH7cAHRCeAlwQ3B0oATAfegQIFBAM"],h2[data-ved="2ahUKEwiP0pGdlermAhUFYVAKHV8tAmgQ3B0oATAZegQIDhAM"]').text(),type=title.toLocaleLowerCase().includes("season")?"series":"movie",synopsis=container.find('strong:contains("DESCRIPTION")').parent().text().replace("DESCRIPTION:",""),image=container.find('img[decoding="async"]').attr("src")||"",links=[],directLink=[];return $('strong:contains("EPiSODE")').map((i,element)=>{const epTitle=$(element).parent().parent().text(),episodesLink=$(element).parent().parent().parent().next().next().find("a").attr("href")||$(element).parent().parent().parent().next().find("a").attr("href");episodesLink&&episodesLink&&directLink.push({title:epTitle,link:episodesLink})}),0===directLink.length&&container.find('a:contains("EPiSODE")').map((i,element)=>{const epTitle=$(element).text(),episodesLink=$(element).attr("href");episodesLink&&directLink.push({title:epTitle.toLocaleUpperCase(),link:episodesLink})}),directLink.length>0&&links.push({title:title,directLinks:directLink}),0===directLink.length&&container.find('a:contains("480"),a:contains("720"),a:contains("1080"),a:contains("2160"),a:contains("4K")').map((i,element)=>{var _a;const quality=(null===(_a=$(element).text().match(/\b(480p|720p|1080p|2160p)\b/i))||void 0===_a?void 0:_a[0])||"",movieLinks=$(element).attr("href"),title=$(element).text();movieLinks&&links.push({directLinks:[{link:movieLinks,title:"Movie",type:"movie"}],quality:quality,title:title})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/hdhub4u/posts.js b/dist/hdhub4u/posts.js index 47db813..f252662 100644 --- a/dist/hdhub4u/posts.js +++ b/dist/hdhub4u/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const hdbHeaders={Cookie:"xla=s4t",Referer:"https://google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"},getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts({url:`${(yield getBaseUrl("hdhub"))+filter}/page/${page}/`,signal:signal,providerContext:providerContext})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts({url:`${yield getBaseUrl("hdhub")}/page/${page}/?s=${searchQuery}`,signal:signal,providerContext:providerContext})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,providerContext:providerContext}){const{cheerio:cheerio}=providerContext;try{const res=yield fetch(url,{headers:hdbHeaders,signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $(".recent-movies").children().map((i,element)=>{const title=$(element).find("figure").find("img").attr("alt"),link=$(element).find("a").attr("href"),image=$(element).find("figure").find("img").attr("src");title&&link&&image&&catalog.push({title:title.replace("Download","").trim(),link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const hdbHeaders={Cookie:"xla=s4t",Referer:"https://google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"},getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts({url:`${(yield getBaseUrl("hdhub"))+filter}/page/${page}/`,signal:signal,providerContext:providerContext})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts({url:`${yield getBaseUrl("hdhub")}/page/${page}/?s=${searchQuery}`,signal:signal,providerContext:providerContext})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,providerContext:providerContext}){const{cheerio:cheerio}=providerContext;try{const res=yield fetch(url,{headers:hdbHeaders,signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $(".recent-movies").children().map((i,element)=>{const title=$(element).find("figure").find("img").attr("alt"),link=$(element).find("a").attr("href"),image=$(element).find("figure").find("img").attr("src");title&&link&&image&&catalog.push({title:title.replace("Download","").trim(),link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/hdhub4u/stream.js b/dist/hdhub4u/stream.js index ff6f6ec..8ac840e 100644 --- a/dist/hdhub4u/stream.js +++ b/dist/hdhub4u/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,signal:signal,providerContext:providerContext}){var _b,_c,_d,_e;const{axios:axios,cheerio:cheerio,extractors:extractors,commonHeaders:headers}=providerContext,{hubcloudExtracter:hubcloudExtracter}=extractors;let hubdriveLink="";if(link.includes("hubdrive")){const hubdriveText=(yield axios.get(link,{headers:headers,signal:signal})).data;hubdriveLink=cheerio.load(hubdriveText)(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href")||link}else{const decodedString=decodeString(null===(_d=null===(_c=null===(_b=(yield axios.get(link,{headers:headers,signal:signal})).data.split("s('o','"))||void 0===_b?void 0:_b[1])||void 0===_c?void 0:_c.split("',180"))||void 0===_d?void 0:_d[0]);link=atob(null==decodedString?void 0:decodedString.o);const redirectLink=yield getRedirectLinks(link,signal,headers),redirectLinkText=(yield axios.get(redirectLink,{headers:headers,signal:signal})).data;if(hubdriveLink=cheerio.load(redirectLinkText)('h3:contains("1080p")').find("a").attr("href")||redirectLinkText.match(/href="(https:\/\/hubcloud\.[^\/]+\/drive\/[^"]+)"/)[1],hubdriveLink.includes("hubdrive")){const hubdriveText=(yield axios.get(hubdriveLink,{headers:headers,signal:signal})).data;hubdriveLink=cheerio.load(hubdriveText)(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href")||hubdriveLink}}const hubcloudLink=(null===(_e=(yield axios.get(hubdriveLink,{headers:headers,signal:signal})).data.match(//i))||void 0===_e?void 0:_e[1])||hubdriveLink;try{return yield hubcloudExtracter(hubcloudLink,signal)}catch(error){return[]}})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=getStream,exports.getRedirectLinks=getRedirectLinks,exports.decodeString=decodeString;const encode=function(value){return btoa(value.toString())},decode=function(value){return void 0===value?"":atob(value.toString())},pen=function(value){return value.replace(/[a-zA-Z]/g,function(_0x1a470e){return String.fromCharCode((_0x1a470e<="Z"?90:122)>=(_0x1a470e=_0x1a470e.charCodeAt(0)+13)?_0x1a470e:_0x1a470e-26)})},abortableTimeout=(ms,{signal:signal}={})=>new Promise((resolve,reject)=>{if(signal&&signal.aborted)return reject(new Error("Aborted"));const timer=setTimeout(resolve,ms);signal&&signal.addEventListener("abort",()=>{clearTimeout(timer),reject(new Error("Aborted"))})});function getRedirectLinks(link,signal,headers){return __awaiter(this,void 0,void 0,function*(){try{const res=yield fetch(link,{signal:signal}),resText=yield res.text();for(var match,regex=/ck\('_wp_http_\d+','([^']+)'/g,combinedString="";null!==(match=regex.exec(resText));)combinedString+=match[1];const decodedString=decode(pen(decode(decode(combinedString)))),data=JSON.parse(decodedString),token=encode(null==data?void 0:data.data),blogLink=(null==data?void 0:data.wp_http1)+"?re="+token;let wait=abortableTimeout(1e3*(Number(null==data?void 0:data.total_time)+3),{signal:signal});yield wait;let vcloudLink="Invalid Request";for(;vcloudLink.includes("Invalid Request");){const blogRes=yield fetch(blogLink,{headers:headers,signal:signal}),blogResText=yield blogRes.text();if(!blogResText.includes("Invalid Request")){vcloudLink=blogResText.match(/var reurl = "([^"]+)"/)||"";break}}return blogLink||link}catch(err){return link}})}function rot13(str){return str.replace(/[a-zA-Z]/g,function(char){const charCode=char.charCodeAt(0),baseCharCode=char<="Z"?65:97;return String.fromCharCode((charCode-baseCharCode+13)%26+baseCharCode)})}function decodeString(encryptedString){try{let decoded=atob(encryptedString);return decoded=atob(decoded),decoded=rot13(decoded),decoded=atob(decoded),JSON.parse(decoded)}catch(error){return null}} \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=getStream,exports.getRedirectLinks=getRedirectLinks,exports.decodeString=decodeString;__awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};const hubcloudDecode=function(value){return void 0===value?"":atob(value.toString())};function hubcloudExtractor(link,signal,axios,cheerio,headers){return __awaiter(this,void 0,void 0,function*(){var _a,_b,_c,_d,_e,_f;try{headers.Cookie="ext_name=ojplmecpdpgccookcobabopnaifgidhf; xla=s4t; cf_clearance=woQrFGXtLfmEMBEiGUsVHrUBMT8s3cmguIzmMjmvpkg-1770053679-1.2.1.1-xBrQdciOJsweUF6F2T_OtH6jmyanN_TduQ0yslc_XqjU6RcHSxI7.YOKv6ry7oYo64868HYoULnVyww536H2eVI3R2e4wKzsky6abjPdfQPxqpUaXjxfJ02o6jl3_Vkwr4uiaU7Wy596Vdst3y78HXvVmKdIohhtPvp.vZ9_L7wvWdce0GRixjh_6JiqWmWMws46hwEt3hboaS1e1e4EoWCvj5b0M_jVwvSxBOAW5emFzvT3QrnRh4nyYmKDERnY";const baseUrl=link.split("/").slice(0,3).join("/"),streamLinks=[],vLinkText=(yield axios(`${link}`,{headers:headers,signal:signal})).data,$vLink=cheerio.load(vLinkText),vLinkRedirect=vLinkText.match(/var\s+url\s*=\s*'([^']+)';/)||[];let vcloudLink=hubcloudDecode(null===(_b=null===(_a=vLinkRedirect[1])||void 0===_a?void 0:_a.split("r="))||void 0===_b?void 0:_b[1])||vLinkRedirect[1]||$vLink(".fa-file-download.fa-lg").parent().attr("href")||link;(null==vcloudLink?void 0:vcloudLink.startsWith("/"))&&(vcloudLink=`${baseUrl}${vcloudLink}`);const vcloudRes=yield fetch(vcloudLink,{headers:headers,signal:signal,redirect:"follow"}),$=cheerio.load(yield vcloudRes.text()),linkClass=$(".btn-success.btn-lg.h6,.btn-danger,.btn-secondary");for(const element of linkClass){let link=$(element).attr("href")||"";switch(!0){case null==link?void 0:link.includes("pixeld"):if(!(null==link?void 0:link.includes("api"))){const token=link.split("/").pop(),baseUrl=link.split("/").slice(0,-2).join("/");link=`${baseUrl}/api/file/${token}?download`}streamLinks.push({server:"Pixeldrain",link:link,type:"mkv"});break;case(null==link?void 0:link.includes(".dev"))&&!(null==link?void 0:link.includes("/?id=")):streamLinks.push({server:"Cf Worker",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("hubcloud"))||(null==link?void 0:link.includes("/?id=")):try{const newLinkRes=yield fetch(link,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});let newLink=link;if(newLink=newLinkRes.status>=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||link:newLinkRes.url&&newLinkRes.url!==link?newLinkRes.url:newLinkRes.headers.get("location")||link,newLink.includes("googleusercontent"))newLink=newLink.split("?link=")[1];else{const newLinkRes2=yield fetch(newLink,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});newLink=newLinkRes2.status>=300&&newLinkRes2.status<400?(null===(_c=newLinkRes2.headers.get("location"))||void 0===_c?void 0:_c.split("?link=")[1])||newLink:newLinkRes2.url&&newLinkRes2.url!==newLink?newLinkRes2.url.split("?link=")[1]||newLinkRes2.url:(null===(_d=newLinkRes2.headers.get("location"))||void 0===_d?void 0:_d.split("?link=")[1])||newLink}streamLinks.push({server:"hubcloud",link:newLink,type:"mkv"})}catch(error){}break;case null==link?void 0:link.includes("cloudflarestorage"):streamLinks.push({server:"CfStorage",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("fastdl"))||(null==link?void 0:link.includes("fsl.")):streamLinks.push({server:"FastDl",link:link,type:"mkv"});break;case link.includes("hubcdn")&&!link.includes("/?id="):streamLinks.push({server:"HubCdn",link:link,type:"mkv"});break;default:if((null==link?void 0:link.includes(".mkv"))||(null==link?void 0:link.includes("?token="))){const serverName=(null===(_f=null===(_e=link.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/i))||void 0===_e?void 0:_e[1])||void 0===_f?void 0:_f.replace(/\./g," "))||"Unknown";streamLinks.push({server:serverName,link:link,type:"mkv"})}}}return streamLinks}catch(error){return[]}})}function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,signal:signal,providerContext:providerContext}){var _b,_c,_d,_e;const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;let hubdriveLink="";if(link.includes("hubdrive")){const hubdriveText=(yield axios.get(link,{headers:headers,signal:signal})).data;hubdriveLink=cheerio.load(hubdriveText)(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href")||link}else{const decodedString=decodeString(null===(_d=null===(_c=null===(_b=(yield axios.get(link,{headers:headers,signal:signal})).data.split("s('o','"))||void 0===_b?void 0:_b[1])||void 0===_c?void 0:_c.split("',180"))||void 0===_d?void 0:_d[0]);link=atob(null==decodedString?void 0:decodedString.o);const redirectLink=yield getRedirectLinks(link,signal,headers),redirectLinkText=(yield axios.get(redirectLink,{headers:headers,signal:signal})).data;if(hubdriveLink=cheerio.load(redirectLinkText)('h3:contains("1080p")').find("a").attr("href")||redirectLinkText.match(/href="(https:\/\/hubcloud\.[^\/]+\/drive\/[^"]+)"/)[1],hubdriveLink.includes("hubdrive")){const hubdriveText=(yield axios.get(hubdriveLink,{headers:headers,signal:signal})).data;hubdriveLink=cheerio.load(hubdriveText)(".btn.btn-primary.btn-user").attr("href")||hubdriveLink}}let hubcloudLink=hubdriveLink;try{const hubdriveLinkRes=yield axios.get(hubdriveLink,{headers:headers,signal:signal});hubcloudLink=(null===(_e=hubdriveLinkRes.data.match(//i))||void 0===_e?void 0:_e[1])||hubdriveLink}catch(error){}try{return yield hubcloudExtractor(hubcloudLink,signal,axios,cheerio,headers)}catch(error){return[]}})}const encode=function(value){return btoa(value.toString())},decode=function(value){return void 0===value?"":atob(value.toString())},pen=function(value){return value.replace(/[a-zA-Z]/g,function(_0x1a470e){return String.fromCharCode((_0x1a470e<="Z"?90:122)>=(_0x1a470e=_0x1a470e.charCodeAt(0)+13)?_0x1a470e:_0x1a470e-26)})},abortableTimeout=(ms,{signal:signal}={})=>new Promise((resolve,reject)=>{if(signal&&signal.aborted)return reject(new Error("Aborted"));const timer=setTimeout(resolve,ms);signal&&signal.addEventListener("abort",()=>{clearTimeout(timer),reject(new Error("Aborted"))})});function getRedirectLinks(link,signal,headers){return __awaiter(this,void 0,void 0,function*(){try{const res=yield fetch(link,{signal:signal}),resText=yield res.text();for(var match,regex=/ck\('_wp_http_\d+','([^']+)'/g,combinedString="";null!==(match=regex.exec(resText));)combinedString+=match[1];const decodedString=decode(pen(decode(decode(combinedString)))),data=JSON.parse(decodedString),token=encode(null==data?void 0:data.data),blogLink=(null==data?void 0:data.wp_http1)+"?re="+token;let wait=abortableTimeout(1e3*(Number(null==data?void 0:data.total_time)+3),{signal:signal});yield wait;let vcloudLink="Invalid Request";for(;vcloudLink.includes("Invalid Request");){const blogRes=yield fetch(blogLink,{headers:headers,signal:signal}),blogResText=yield blogRes.text();if(!blogResText.includes("Invalid Request")){vcloudLink=blogResText.match(/var reurl = "([^"]+)"/)||"";break}}return blogLink||link}catch(err){return link}})}function rot13(str){return str.replace(/[a-zA-Z]/g,function(char){const charCode=char.charCodeAt(0),baseCharCode=char<="Z"?65:97;return String.fromCharCode((charCode-baseCharCode+13)%26+baseCharCode)})}function decodeString(encryptedString){try{let decoded=atob(encryptedString);return decoded=atob(decoded),decoded=rot13(decoded),decoded=atob(decoded),JSON.parse(decoded)}catch(error){return null}} \ No newline at end of file diff --git a/dist/hiAnime/catalog.js b/dist/hiAnime/catalog.js index 033e1f4..eab8621 100644 --- a/dist/hiAnime/catalog.js +++ b/dist/hiAnime/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Recent",filter:"/anime/zoro/recent-episodes"},{title:"Top Airing",filter:"/anime/zoro/top-airing"},{title:"Most Popular",filter:"/anime/zoro/most-popular"},{title:"Most Favorited",filter:"/anime/zoro/most-favorite"}],exports.genres=[]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Recent",filter:"/anime/zoro/recent-episodes"},{title:"Top Airing",filter:"/anime/zoro/top-airing"},{title:"Most Popular",filter:"/anime/zoro/most-popular"},{title:"Most Favorited",filter:"/anime/zoro/most-favorite"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/hiAnime/meta.js b/dist/hiAnime/meta.js index f16607d..13b7ffd 100644 --- a/dist/hiAnime/meta.js +++ b/dist/hiAnime/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{getBaseUrl:getBaseUrl,axios:axios}=providerContext,url=`${yield getBaseUrl("consumet")}/anime/zoro/info?id=`+link,data=(yield axios.get(url)).data,meta={title:data.title,synopsis:data.description,image:data.image,tags:[null==data?void 0:data.type,"both"===(null==data?void 0:data.subOrDub)?"Sub And Dub":null==data?void 0:data.subOrDub],imdbId:"",type:data.episodes.length>0?"series":"movie"},linkList=[],subLinks=[];if(data.episodes.forEach(episode=>{if(!(null==episode?void 0:episode.isSubbed))return;const title="Episode "+episode.number+((null==episode?void 0:episode.isFiller)?" (Filler)":""),link=episode.id+"$sub";link&&title&&subLinks.push({title:title,link:link})}),linkList.push({title:meta.title+" (Sub)",directLinks:subLinks}),"both"===(null==data?void 0:data.subOrDub)){const dubLinks=[];data.episodes.forEach(episode=>{if(!(null==episode?void 0:episode.isDubbed))return;const title="Episode "+episode.number+((null==episode?void 0:episode.isFiller)?" (Filler)":""),link=episode.id+"$dub";link&&title&&dubLinks.push({title:title,link:link})}),linkList.push({title:meta.title+" (Dub)",directLinks:dubLinks})}return Object.assign(Object.assign({},meta),{linkList:linkList})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{getBaseUrl:getBaseUrl,axios:axios}=providerContext,url=`${yield getBaseUrl("consumet")}/anime/zoro/info?id=`+link,data=(yield axios.get(url)).data,meta={title:data.title,synopsis:data.description,image:data.image,tags:[null==data?void 0:data.type,"both"===(null==data?void 0:data.subOrDub)?"Sub And Dub":null==data?void 0:data.subOrDub],imdbId:"",type:data.episodes.length>0?"series":"movie"},linkList=[],subLinks=[];if(data.episodes.forEach(episode=>{if(!(null==episode?void 0:episode.isSubbed))return;const title="Episode "+episode.number+((null==episode?void 0:episode.isFiller)?" (Filler)":""),link=episode.id+"$sub";link&&title&&subLinks.push({title:title,link:link})}),linkList.push({title:meta.title+" (Sub)",directLinks:subLinks}),"both"===(null==data?void 0:data.subOrDub)){const dubLinks=[];data.episodes.forEach(episode=>{if(!(null==episode?void 0:episode.isDubbed))return;const title="Episode "+episode.number+((null==episode?void 0:episode.isFiller)?" (Filler)":""),link=episode.id+"$dub";link&&title&&dubLinks.push({title:title,link:link})}),linkList.push({title:meta.title+" (Dub)",directLinks:dubLinks})}return Object.assign(Object.assign({},meta),{linkList:linkList})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/hiAnime/posts.js b/dist/hiAnime/posts.js index 2f7a63a..43e1a23 100644 --- a/dist/hiAnime/posts.js +++ b/dist/hiAnime/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios}=providerContext;return posts({url:`${(yield getBaseUrl("consumet"))+filter}?page=${page}`,signal:signal,axios:axios})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios}=providerContext;return posts({url:`${yield getBaseUrl("consumet")}/anime/zoro/${searchQuery}?page=${page}`,signal:signal,axios:axios})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,axios:axios}){var _b;try{const data=null===(_b=(yield axios.get(url,{signal:signal})).data)||void 0===_b?void 0:_b.results,catalog=[];return null==data||data.map(element=>{const title=element.title,link=element.id,image=element.image;title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios}=providerContext;return posts({url:`${(yield getBaseUrl("consumet"))+filter}?page=${page}`,signal:signal,axios:axios})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios}=providerContext;return posts({url:`${yield getBaseUrl("consumet")}/anime/zoro/${searchQuery}?page=${page}`,signal:signal,axios:axios})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,axios:axios}){var _b;try{const data=null===(_b=(yield axios.get(url,{signal:signal})).data)||void 0===_b?void 0:_b.results,catalog=[];return null==data||data.map(element=>{const title=element.title,link=element.id,image=element.image;title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/hiAnime/stream.js b/dist/hiAnime/stream.js index 6cd77a8..ab5245a 100644 --- a/dist/hiAnime/stream.js +++ b/dist/hiAnime/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,providerContext:providerContext}){try{const{getBaseUrl:getBaseUrl,axios:axios}=providerContext,baseUrl=yield getBaseUrl("consumet"),servers=["vidcloud","vidstreaming"],url=`${baseUrl}/anime/zoro/watch?episodeId=${id}&server=`,streamLinks=[];return yield Promise.all(servers.map(server=>__awaiter(this,void 0,void 0,function*(){var _a,_b;try{const res=yield axios.get(url+server);if(res.data){const subtitles=[];null===(_a=res.data)||void 0===_a||_a.subtitles.forEach(sub=>{var _a,_b;"Thumbnails"!==(null==sub?void 0:sub.lang)&&subtitles.push({language:(null===(_a=null==sub?void 0:sub.lang)||void 0===_a?void 0:_a.slice(0,2))||"Und",uri:null==sub?void 0:sub.url,title:(null==sub?void 0:sub.lang)||"Undefined",type:(null===(_b=null==sub?void 0:sub.url)||void 0===_b?void 0:_b.endsWith(".vtt"))?"text/vtt":"application/x-subrip"})}),null===(_b=res.data)||void 0===_b||_b.sources.forEach(source=>{streamLinks.push({server:server,link:null==source?void 0:source.url,type:(null==source?void 0:source.isM3U8)?"m3u8":"mp4",headers:{Referer:"https://megacloud.club/",Origin:"https://megacloud.club"},subtitles:subtitles})})}}catch(e){}}))),streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,providerContext:providerContext}){try{const{getBaseUrl:getBaseUrl,axios:axios}=providerContext,baseUrl=yield getBaseUrl("consumet"),servers=["vidcloud","vidstreaming"],url=`${baseUrl}/anime/zoro/watch?episodeId=${id}&server=`,streamLinks=[];return yield Promise.all(servers.map(server=>__awaiter(this,void 0,void 0,function*(){var _a,_b;try{const res=yield axios.get(url+server);if(res.data){const subtitles=[];null===(_a=res.data)||void 0===_a||_a.subtitles.forEach(sub=>{var _a,_b;"Thumbnails"!==(null==sub?void 0:sub.lang)&&subtitles.push({language:(null===(_a=null==sub?void 0:sub.lang)||void 0===_a?void 0:_a.slice(0,2))||"Und",uri:null==sub?void 0:sub.url,title:(null==sub?void 0:sub.lang)||"Undefined",type:(null===(_b=null==sub?void 0:sub.url)||void 0===_b?void 0:_b.endsWith(".vtt"))?"text/vtt":"application/x-subrip"})}),null===(_b=res.data)||void 0===_b||_b.sources.forEach(source=>{streamLinks.push({server:server,link:null==source?void 0:source.url,type:(null==source?void 0:source.isM3U8)?"m3u8":"mp4",headers:{Referer:"https://megacloud.club/",Origin:"https://megacloud.club"},subtitles:subtitles})})}}catch(e){}}))),streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/hubcloudExtractor.js b/dist/hubcloudExtractor.js deleted file mode 100644 index 71b85d8..0000000 --- a/dist/hubcloudExtractor.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);desc&&!("get"in desc?!m.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=this&&this.__importStar||function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o){var ar=[];for(var k in o)Object.prototype.hasOwnProperty.call(o,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(null!=mod)for(var k=ownKeys(mod),i=0;i=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||link:newLinkRes.url&&newLinkRes.url!==link?newLinkRes.url:newLinkRes.headers.get("location")||link,newLink.includes("googleusercontent"))newLink=newLink.split("?link=")[1];else{const newLinkRes2=yield fetch(newLink,{method:"HEAD",headers:headers_1.headers,signal:signal,redirect:"manual"});newLink=newLinkRes2.status>=300&&newLinkRes2.status<400?(null===(_c=newLinkRes2.headers.get("location"))||void 0===_c?void 0:_c.split("?link=")[1])||newLink:newLinkRes2.url&&newLinkRes2.url!==newLink?newLinkRes2.url.split("?link=")[1]||newLinkRes2.url:(null===(_d=newLinkRes2.headers.get("location"))||void 0===_d?void 0:_d.split("?link=")[1])||newLink}streamLinks.push({server:"hubcloud",link:newLink,type:"mkv"})}catch(error){}break;case null==link?void 0:link.includes("cloudflarestorage"):streamLinks.push({server:"CfStorage",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("fastdl"))||(null==link?void 0:link.includes("fsl.")):streamLinks.push({server:"FastDl",link:link,type:"mkv"});break;case link.includes("hubcdn")&&!link.includes("/?id="):streamLinks.push({server:"HubCdn",link:link,type:"mkv"});break;default:if(null==link?void 0:link.includes(".mkv")){const serverName=(null===(_f=null===(_e=link.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/i))||void 0===_e?void 0:_e[1])||void 0===_f?void 0:_f.replace(/\./g," "))||"Unknown";streamLinks.push({server:serverName,link:link,type:"mkv"})}}}return streamLinks}catch(error){return[]}})} \ No newline at end of file diff --git a/dist/katMovieFix/catalog.js b/dist/katMovieFix/catalog.js index c1b2593..312c3eb 100644 --- a/dist/katMovieFix/catalog.js +++ b/dist/katMovieFix/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.catalog=void 0,exports.catalog=[{title:"Netflix",filter:"/category/netflix/"},{title:"Anime",filter:"/category/anime/"}]; \ No newline at end of file +exports.catalog=void 0,exports.catalog=[{title:"Netflix",filter:"/category/netflix/"},{title:"Anime",filter:"/category/anime/"}]; \ No newline at end of file diff --git a/dist/katMovieFix/episodes.js b/dist/katMovieFix/episodes.js index 1bffe12..d5f7e1f 100644 --- a/dist/katMovieFix/episodes.js +++ b/dist/katMovieFix/episodes.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function getEpisodeLinks(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){try{const res=yield providerContext.axios.get(url),$=providerContext.cheerio.load(res.data||""),episodes=[];return $("a").each((i,el)=>{var _a;const $el=$(el),href=($el.attr("href")||"").trim(),text=$el.text().trim();if(href&&(text.includes("Episode")||/E\d+/i.test(text)||href.includes("vcloud.lol"))){let epNum=(null===(_a=text.match(/E\d+/i))||void 0===_a?void 0:_a[0])||text;/^\d+$/.test(epNum)&&(epNum=`Episode ${epNum}`),episodes.push({title:epNum,link:href})}}),episodes}catch(err){return[]}})}function getEpisodes(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){return yield getEpisodeLinks({url:url,providerContext:providerContext})})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodeLinks=getEpisodeLinks,exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function getEpisodeLinks(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){try{const res=yield providerContext.axios.get(url),$=providerContext.cheerio.load(res.data||""),episodes=[];return $("a").each((i,el)=>{var _a;const $el=$(el),href=($el.attr("href")||"").trim(),text=$el.text().trim();if(href&&(text.includes("Episode")||/E\d+/i.test(text)||href.includes("vcloud.lol"))){let epNum=(null===(_a=text.match(/E\d+/i))||void 0===_a?void 0:_a[0])||text;/^\d+$/.test(epNum)&&(epNum=`Episode ${epNum}`),episodes.push({title:epNum,link:href})}}),episodes}catch(err){return[]}})}function getEpisodes(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){return yield getEpisodeLinks({url:url,providerContext:providerContext})})}exports.getEpisodeLinks=getEpisodeLinks,exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/katMovieFix/meta.js b/dist/katMovieFix/meta.js index 2d2f856..b77e7e5 100644 --- a/dist/katMovieFix/meta.js +++ b/dist/katMovieFix/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.scrapeEpisodePage=exports.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext;return axios.get(link,{headers:headers}).then(response=>{var _a;const $=cheerio.load(response.data),infoContainer=$(".entry-content,.post-inner"),title=$("h1.entry-title").text().trim()||$("h2.entry-title").text().trim()||"",imdbMatch=null===(_a=infoContainer.html())||void 0===_a?void 0:_a.match(/tt\d+/),imdbId=imdbMatch?imdbMatch[0]:"",synopsis=infoContainer.find("h3:contains('SYNOPSIS'), h3:contains('synopsis')").next("p").text().trim()||"";let image=infoContainer.find("img").first().attr("src")||"";image.startsWith("//")&&(image="https:"+image);const type=/Season \d+/i.test(infoContainer.text())?"series":"movie",linkList=[];return"series"===type?infoContainer.find("h2 a").each((_,el)=>{var _a;const el$=$(el),href=null===(_a=el$.attr("href"))||void 0===_a?void 0:_a.trim(),linkText=el$.text().trim();href&&linkText.includes("Single Episode")&&linkList.push({title:linkText,episodesLink:href,directLinks:[]})}):infoContainer.find("a[href]").each((_,aEl)=>{var _a;const el$=$(aEl),href=(null===(_a=el$.attr("href"))||void 0===_a?void 0:_a.trim())||"";if(!href)return;const btnText=el$.text().trim()||"Download";linkList.push({title:btnText,directLinks:[{title:btnText,link:href,type:"movie"}],episodesLink:""})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:linkList}}).catch(err=>({title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}))})};exports.getMeta=getMeta;const scrapeEpisodePage=function({link:link,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext,result=[];return axios.get(link,{headers:headers}).then(response=>{const $=cheerio.load(response.data);return $(".entry-content,.post-inner").find("h3 a").each((_,el)=>{var _a;const el$=$(el),href=null===(_a=el$.attr("href"))||void 0===_a?void 0:_a.trim(),btnText=el$.text().trim()||"Download";href&&result.push({title:btnText,link:href,type:"series"})}),result}).catch(err=>result)};exports.scrapeEpisodePage=scrapeEpisodePage; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.scrapeEpisodePage=exports.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext;return axios.get(link,{headers:headers}).then(response=>{var _a;const $=cheerio.load(response.data),infoContainer=$(".entry-content,.post-inner"),title=$("h1.entry-title").text().trim()||$("h2.entry-title").text().trim()||"",imdbMatch=null===(_a=infoContainer.html())||void 0===_a?void 0:_a.match(/tt\d+/),imdbId=imdbMatch?imdbMatch[0]:"",synopsis=infoContainer.find("h3:contains('SYNOPSIS'), h3:contains('synopsis')").next("p").text().trim()||"";let image=infoContainer.find("img").first().attr("src")||"";image.startsWith("//")&&(image="https:"+image);const type=/Season \d+/i.test(infoContainer.text())?"series":"movie",linkList=[];return"series"===type?infoContainer.find("h2 a").each((_,el)=>{var _a;const el$=$(el),href=null===(_a=el$.attr("href"))||void 0===_a?void 0:_a.trim(),linkText=el$.text().trim();href&&linkText.includes("Single Episode")&&linkList.push({title:linkText,episodesLink:href,directLinks:[]})}):infoContainer.find("a[href]").each((_,aEl)=>{var _a;const el$=$(aEl),href=(null===(_a=el$.attr("href"))||void 0===_a?void 0:_a.trim())||"";if(!href)return;const btnText=el$.text().trim()||"Download";linkList.push({title:btnText,directLinks:[{title:btnText,link:href,type:"movie"}],episodesLink:""})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:linkList}}).catch(err=>({title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}))})};exports.getMeta=getMeta;const scrapeEpisodePage=function({link:link,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext,result=[];return axios.get(link,{headers:headers}).then(response=>{const $=cheerio.load(response.data);return $(".entry-content,.post-inner").find("h3 a").each((_,el)=>{var _a;const el$=$(el),href=null===(_a=el$.attr("href"))||void 0===_a?void 0:_a.trim(),btnText=el$.text().trim()||"Download";href&&result.push({title:btnText,link:href,type:"series"})}),result}).catch(err=>result)};exports.scrapeEpisodePage=scrapeEpisodePage; \ No newline at end of file diff --git a/dist/katMovieFix/posts.js b/dist/katMovieFix/posts.js index 390acad..ebbeead 100644 --- a/dist/katMovieFix/posts.js +++ b/dist/katMovieFix/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getPosts=getPosts,exports.getSearchPosts=getSearchPosts;const defaultHeaders={Referer:"https://www.google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language":"en-US,en;q=0.9",Pragma:"no-cache","Cache-Control":"no-cache"};function getPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:filter,page:page,query:"",signal:signal,providerContext:providerContext})})}function getSearchPosts(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:"",page:page,query:searchQuery,signal:signal,providerContext:providerContext})})}function fetchPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,query:query,page:page=1,signal:signal,providerContext:providerContext}){try{const baseUrl=yield providerContext.getBaseUrl("katmoviefix");let url;url=query&&query.trim()?`${baseUrl}/?s=${encodeURIComponent(query)}${page>1?`&paged=${page}`:""}`:filter?filter.startsWith("/")?`${baseUrl}${filter.replace(/\/$/,"")}${page>1?`/page/${page}`:""}`:`${baseUrl}/${filter}${page>1?`/page/${page}`:""}`:`${baseUrl}${page>1?`/page/${page}`:""}`;const{axios:axios,cheerio:cheerio}=providerContext,res=yield axios.get(url,{headers:defaultHeaders,signal:signal}),$=cheerio.load(res.data||""),resolveUrl=href=>(null==href?void 0:href.startsWith("http"))?href:`${baseUrl}${href.startsWith("/")?"":"/"}${href}`,seen=new Set,catalog=[],POST_SELECTORS=[".pstr_box","article",".result-item",".post",".item",".thumbnail",".latest-movies",".movie-item"].join(",");return $(POST_SELECTORS).each((_,el)=>{var _a;const card=$(el);let link=card.find("a[href]").first().attr("href")||"";if(!link)return;if(link=resolveUrl(link),seen.has(link))return;let title=card.find("h2").first().text().trim()||(null===(_a=card.find("a[title]").first().attr("title"))||void 0===_a?void 0:_a.trim())||card.text().trim();if(title=title.replace(/\[.*?\]/g,"").replace(/\(.+?\)/g,"").replace(/\s{2,}/g," ").trim(),!title)return;const img=card.find("img").first().attr("src")||card.find("img").first().attr("data-src")||card.find("img").first().attr("data-original")||"",image=img?resolveUrl(img):"";seen.add(link),catalog.push({title:title,link:link,image:image})}),catalog.slice(0,100)}catch(err){return[]}})} \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getPosts=getPosts,exports.getSearchPosts=getSearchPosts;const defaultHeaders={Referer:"https://www.google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language":"en-US,en;q=0.9",Pragma:"no-cache","Cache-Control":"no-cache"};function getPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:filter,page:page,query:"",signal:signal,providerContext:providerContext})})}function getSearchPosts(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:"",page:page,query:searchQuery,signal:signal,providerContext:providerContext})})}function fetchPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,query:query,page:page=1,signal:signal,providerContext:providerContext}){try{const baseUrl=yield providerContext.getBaseUrl("katmoviefix");let url;url=query&&query.trim()?`${baseUrl}/?s=${encodeURIComponent(query)}${page>1?`&paged=${page}`:""}`:filter?filter.startsWith("/")?`${baseUrl}${filter.replace(/\/$/,"")}${page>1?`/page/${page}`:""}`:`${baseUrl}/${filter}${page>1?`/page/${page}`:""}`:`${baseUrl}${page>1?`/page/${page}`:""}`;const{axios:axios,cheerio:cheerio}=providerContext,res=yield axios.get(url,{headers:defaultHeaders,signal:signal}),$=cheerio.load(res.data||""),resolveUrl=href=>(null==href?void 0:href.startsWith("http"))?href:`${baseUrl}${href.startsWith("/")?"":"/"}${href}`,seen=new Set,catalog=[],POST_SELECTORS=[".pstr_box","article",".result-item",".post",".item",".thumbnail",".latest-movies",".movie-item"].join(",");return $(POST_SELECTORS).each((_,el)=>{var _a;const card=$(el);let link=card.find("a[href]").first().attr("href")||"";if(!link)return;if(link=resolveUrl(link),seen.has(link))return;let title=card.find("h2").first().text().trim()||(null===(_a=card.find("a[title]").first().attr("title"))||void 0===_a?void 0:_a.trim())||card.text().trim();if(title=title.replace(/\[.*?\]/g,"").replace(/\(.+?\)/g,"").replace(/\s{2,}/g," ").trim(),!title)return;const img=card.find("img").first().attr("src")||card.find("img").first().attr("data-src")||card.find("img").first().attr("data-original")||"",image=img?resolveUrl(img):"";seen.add(link),catalog.push({title:title,link:link,image:image})}),catalog.slice(0,100)}catch(err){return[]}})} \ No newline at end of file diff --git a/dist/katMovieFix/stream.js b/dist/katMovieFix/stream.js index 24308ec..9226f9d 100644 --- a/dist/katMovieFix/stream.js +++ b/dist/katMovieFix/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=getStream;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,type:type,signal:signal,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,extractors:extractors}=providerContext,{hubcloudExtracter:hubcloudExtracter}=extractors;try{const streamLinks=[],response=yield axios.get(link,{headers:headers}),$=cheerio.load(response.data);$("a[href*='pixeldrain.dev/api/file/']").each((_,el)=>{var _a;const href=null===(_a=$(el).attr("href"))||void 0===_a?void 0:_a.trim();href&&streamLinks.push({server:"pixeldrain",link:href,type:"mp4"})});const hubcloudStreams=yield hubcloudExtracter(link,signal);return streamLinks.push(...hubcloudStreams),streamLinks}catch(error){return[]}})} \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=getStream;__awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};const hubcloudDecode=function(value){return void 0===value?"":atob(value.toString())};function hubcloudExtractor(link,signal,axios,cheerio,headers){return __awaiter(this,void 0,void 0,function*(){var _a,_b,_c,_d,_e,_f;try{headers.Cookie="ext_name=ojplmecpdpgccookcobabopnaifgidhf; xla=s4t; cf_clearance=woQrFGXtLfmEMBEiGUsVHrUBMT8s3cmguIzmMjmvpkg-1770053679-1.2.1.1-xBrQdciOJsweUF6F2T_OtH6jmyanN_TduQ0yslc_XqjU6RcHSxI7.YOKv6ry7oYo64868HYoULnVyww536H2eVI3R2e4wKzsky6abjPdfQPxqpUaXjxfJ02o6jl3_Vkwr4uiaU7Wy596Vdst3y78HXvVmKdIohhtPvp.vZ9_L7wvWdce0GRixjh_6JiqWmWMws46hwEt3hboaS1e1e4EoWCvj5b0M_jVwvSxBOAW5emFzvT3QrnRh4nyYmKDERnY";const baseUrl=link.split("/").slice(0,3).join("/"),streamLinks=[],vLinkText=(yield axios(`${link}`,{headers:headers,signal:signal})).data,$vLink=cheerio.load(vLinkText),vLinkRedirect=vLinkText.match(/var\s+url\s*=\s*'([^']+)';/)||[];let vcloudLink=hubcloudDecode(null===(_b=null===(_a=vLinkRedirect[1])||void 0===_a?void 0:_a.split("r="))||void 0===_b?void 0:_b[1])||vLinkRedirect[1]||$vLink(".fa-file-download.fa-lg").parent().attr("href")||link;(null==vcloudLink?void 0:vcloudLink.startsWith("/"))&&(vcloudLink=`${baseUrl}${vcloudLink}`);const vcloudRes=yield fetch(vcloudLink,{headers:headers,signal:signal,redirect:"follow"}),$=cheerio.load(yield vcloudRes.text()),linkClass=$(".btn-success.btn-lg.h6,.btn-danger,.btn-secondary");for(const element of linkClass){let link=$(element).attr("href")||"";switch(!0){case null==link?void 0:link.includes("pixeld"):if(!(null==link?void 0:link.includes("api"))){const token=link.split("/").pop(),baseUrl=link.split("/").slice(0,-2).join("/");link=`${baseUrl}/api/file/${token}?download`}streamLinks.push({server:"Pixeldrain",link:link,type:"mkv"});break;case(null==link?void 0:link.includes(".dev"))&&!(null==link?void 0:link.includes("/?id=")):streamLinks.push({server:"Cf Worker",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("hubcloud"))||(null==link?void 0:link.includes("/?id=")):try{const newLinkRes=yield fetch(link,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});let newLink=link;if(newLink=newLinkRes.status>=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||link:newLinkRes.url&&newLinkRes.url!==link?newLinkRes.url:newLinkRes.headers.get("location")||link,newLink.includes("googleusercontent"))newLink=newLink.split("?link=")[1];else{const newLinkRes2=yield fetch(newLink,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});newLink=newLinkRes2.status>=300&&newLinkRes2.status<400?(null===(_c=newLinkRes2.headers.get("location"))||void 0===_c?void 0:_c.split("?link=")[1])||newLink:newLinkRes2.url&&newLinkRes2.url!==newLink?newLinkRes2.url.split("?link=")[1]||newLinkRes2.url:(null===(_d=newLinkRes2.headers.get("location"))||void 0===_d?void 0:_d.split("?link=")[1])||newLink}streamLinks.push({server:"hubcloud",link:newLink,type:"mkv"})}catch(error){}break;case null==link?void 0:link.includes("cloudflarestorage"):streamLinks.push({server:"CfStorage",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("fastdl"))||(null==link?void 0:link.includes("fsl.")):streamLinks.push({server:"FastDl",link:link,type:"mkv"});break;case link.includes("hubcdn")&&!link.includes("/?id="):streamLinks.push({server:"HubCdn",link:link,type:"mkv"});break;default:if((null==link?void 0:link.includes(".mkv"))||(null==link?void 0:link.includes("?token="))){const serverName=(null===(_f=null===(_e=link.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/i))||void 0===_e?void 0:_e[1])||void 0===_f?void 0:_f.replace(/\./g," "))||"Unknown";streamLinks.push({server:serverName,link:link,type:"mkv"})}}}return streamLinks}catch(error){return[]}})}const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,type:type,signal:signal,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:commonHeaders}=providerContext;try{const streamLinks=[],response=yield axios.get(link,{headers:headers}),$=cheerio.load(response.data);$("a[href*='pixeldrain.dev/api/file/']").each((_,el)=>{var _a;const href=null===(_a=$(el).attr("href"))||void 0===_a?void 0:_a.trim();href&&streamLinks.push({server:"pixeldrain",link:href,type:"mp4"})});const hubcloudStreams=yield hubcloudExtractor(link,signal,axios,cheerio,commonHeaders);return streamLinks.push(...hubcloudStreams),streamLinks}catch(error){return[]}})} \ No newline at end of file diff --git a/dist/katmovies/catalog.js b/dist/katmovies/catalog.js index c46d148..b289846 100644 --- a/dist/katmovies/catalog.js +++ b/dist/katmovies/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:""},{title:"Netflix",filter:"/category/netflix"},{title:"Animated",filter:"/category/animated"},{title:"Amazon Prime",filter:"/category/amazon-prime"}],exports.genres=[{title:"Action",filter:"/category/action"},{title:"Crime",filter:"/category/crime"},{title:"Comedy",filter:"/category/comedy"},{title:"Drama",filter:"/category/drama"},{title:"Horror",filter:"/category/horror"},{title:"Family",filter:"/category/family"},{title:"Sci-Fi",filter:"/category/sifi"},{title:"Thriller",filter:"/category/triller"},{title:"Romance",filter:"/category/romance"},{title:"Fight",filter:"/category/fight"}]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:""},{title:"Netflix",filter:"/category/netflix"},{title:"Animated",filter:"/category/animated"},{title:"Amazon Prime",filter:"/category/amazon-prime"}],exports.genres=[{title:"Action",filter:"/category/action"},{title:"Crime",filter:"/category/crime"},{title:"Comedy",filter:"/category/comedy"},{title:"Drama",filter:"/category/drama"},{title:"Horror",filter:"/category/horror"},{title:"Family",filter:"/category/family"},{title:"Sci-Fi",filter:"/category/sifi"},{title:"Thriller",filter:"/category/triller"},{title:"Romance",filter:"/category/romance"},{title:"Fight",filter:"/category/fight"}]; \ No newline at end of file diff --git a/dist/katmovies/episodes.js b/dist/katmovies/episodes.js index cadc908..43f21a0 100644 --- a/dist/katmovies/episodes.js +++ b/dist/katmovies/episodes.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0,exports.extractKmhdLink=extractKmhdLink;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){var _b;const{axios:axios,cheerio:cheerio}=providerContext,episodesLink=[];try{if(url.includes("gdflix")){const baseUrl=null===(_b=url.split("/pack"))||void 0===_b?void 0:_b[0],data=(yield axios.get(url)).data,$=cheerio.load(data),links=$(".list-group-item");if(null==links||links.map((i,link)=>{episodesLink.push({title:$(link).text()||"",link:baseUrl+$(link).find("a").attr("href")||""})}),episodesLink.length>0)return episodesLink}if(url.includes("/pack")){const epIds=yield extractKmhdEpisodes(url,providerContext);null==epIds||epIds.forEach((id,index)=>{episodesLink.push({title:`Episode ${index+1}`,link:url.split("/pack")[0]+"/file/"+id})})}const episodeData=(yield axios.get(url,{headers:{Cookie:"_ga_GNR438JY8N=GS1.1.1722240350.5.0.1722240350.0.0.0; _ga=GA1.1.372196696.1722150754; unlocked=true"}})).data,$=cheerio.load(episodeData),links=$(".autohyperlink");return null==links||links.map((i,link)=>{episodesLink.push({title:$(link).parent().children().remove().end().text()||"",link:$(link).attr("href")||""})}),episodesLink}catch(err){return[]}})};function extractKmhdLink(katlink,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios}=providerContext,data=(yield axios.get(katlink)).data,hubDriveRes=data.match(/hubdrive_res:\s*"([^"]+)"/)[1];return data.match(/hubdrive_res\s*:\s*{[^}]*?link\s*:\s*"([^"]+)"/)[1]+hubDriveRes})}function extractKmhdEpisodes(katlink,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios}=providerContext;return(yield axios.get(katlink)).data.match(/[\w]+_[a-f0-9]{8}/g)})}exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getEpisodes=void 0,exports.extractKmhdLink=extractKmhdLink;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){var _b;const{axios:axios,cheerio:cheerio}=providerContext,episodesLink=[];try{if(url.includes("gdflix")){const baseUrl=null===(_b=url.split("/pack"))||void 0===_b?void 0:_b[0],data=(yield axios.get(url)).data,$=cheerio.load(data),links=$(".list-group-item");if(null==links||links.map((i,link)=>{episodesLink.push({title:$(link).text()||"",link:baseUrl+$(link).find("a").attr("href")||""})}),episodesLink.length>0)return episodesLink}if(url.includes("/pack")){const epIds=yield extractKmhdEpisodes(url,providerContext);null==epIds||epIds.forEach((id,index)=>{episodesLink.push({title:`Episode ${index+1}`,link:url.split("/pack")[0]+"/file/"+id})})}const episodeData=(yield axios.get(url,{headers:{Cookie:"_ga_GNR438JY8N=GS1.1.1722240350.5.0.1722240350.0.0.0; _ga=GA1.1.372196696.1722150754; unlocked=true"}})).data,$=cheerio.load(episodeData),links=$(".autohyperlink");return null==links||links.map((i,link)=>{episodesLink.push({title:$(link).parent().children().remove().end().text()||"",link:$(link).attr("href")||""})}),episodesLink}catch(err){return[]}})};function extractKmhdLink(katlink,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios}=providerContext,data=(yield axios.get(katlink)).data,hubDriveRes=data.match(/hubdrive_res:\s*"([^"]+)"/)[1];return data.match(/hubdrive_res\s*:\s*{[^}]*?link\s*:\s*"([^"]+)"/)[1]+hubDriveRes})}function extractKmhdEpisodes(katlink,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios}=providerContext;return(yield axios.get(katlink)).data.match(/[\w]+_[a-f0-9]{8}/g)})}exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/katmovies/meta.js b/dist/katmovies/meta.js index 900a5c6..84cad16 100644 --- a/dist/katmovies/meta.js +++ b/dist/katmovies/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),container=$(".yQ8hqd.ksSzJd.LoQAYe").html()?$(".yQ8hqd.ksSzJd.LoQAYe"):$(".FxvUNb"),imdbId=(null===(_b=container.find('a[href*="imdb.com/title/tt"]:not([href*="imdb.com/title/tt/"])').attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",title=container.find('li:contains("Name")').children().remove().end().text(),type=$(".yQ8hqd.ksSzJd.LoQAYe").html()?"series":"movie",synopsis=container.find('li:contains("Stars")').text(),image=$('h4:contains("SCREENSHOTS")').next().find("img").attr("src")||"",links=[],directLink=[];return $(".entry-content").find('p:contains("Episode")').each((i,element)=>{const dlLink=$(element).nextAll("h3,h2").first().find('a:contains("1080"),a:contains("720"),a:contains("480")').attr("href")||"",dlTitle=$(element).find("span").text();link.trim().length>0&&dlTitle.includes("Episode ")&&directLink.push({title:dlTitle,link:dlLink})}),directLink.length>0&&links.push({quality:"",title:title,directLinks:directLink}),$(".entry-content").find("pre").nextUntil("div").filter("h2").each((i,element)=>{var _a;const link=$(element).find("a").attr("href"),quality=(null===(_a=$(element).text().match(/\b(480p|720p|1080p|2160p)\b/i))||void 0===_a?void 0:_a[0])||"",title=$(element).text();link&&title.includes("")&&links.push({quality:quality,title:title,episodesLink:link})}),0===links.length&&"movie"===type&&$(".entry-content").find('h2:contains("DOWNLOAD"),h3:contains("DOWNLOAD")').nextUntil("pre,div").filter("h2").each((i,element)=>{var _a;const link=$(element).find("a").attr("href"),quality=(null===(_a=$(element).text().match(/\b(480p|720p|1080p|2160p)\b/i))||void 0===_a?void 0:_a[0])||"",title=$(element).text();link&&!title.includes("Online")&&links.push({quality:quality,title:title,directLinks:[{link:link,title:title,type:"movie"}]})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),container=$(".yQ8hqd.ksSzJd.LoQAYe").html()?$(".yQ8hqd.ksSzJd.LoQAYe"):$(".FxvUNb"),imdbId=(null===(_b=container.find('a[href*="imdb.com/title/tt"]:not([href*="imdb.com/title/tt/"])').attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",title=container.find('li:contains("Name")').children().remove().end().text(),type=$(".yQ8hqd.ksSzJd.LoQAYe").html()?"series":"movie",synopsis=container.find('li:contains("Stars")').text(),image=$('h4:contains("SCREENSHOTS")').next().find("img").attr("src")||"",links=[],directLink=[];return $(".entry-content").find('p:contains("Episode")').each((i,element)=>{const dlLink=$(element).nextAll("h3,h2").first().find('a:contains("1080"),a:contains("720"),a:contains("480")').attr("href")||"",dlTitle=$(element).find("span").text();link.trim().length>0&&dlTitle.includes("Episode ")&&directLink.push({title:dlTitle,link:dlLink})}),directLink.length>0&&links.push({quality:"",title:title,directLinks:directLink}),$(".entry-content").find("pre").nextUntil("div").filter("h2").each((i,element)=>{var _a;const link=$(element).find("a").attr("href"),quality=(null===(_a=$(element).text().match(/\b(480p|720p|1080p|2160p)\b/i))||void 0===_a?void 0:_a[0])||"",title=$(element).text();link&&title.includes("")&&links.push({quality:quality,title:title,episodesLink:link})}),0===links.length&&"movie"===type&&$(".entry-content").find('h2:contains("DOWNLOAD"),h3:contains("DOWNLOAD")').nextUntil("pre,div").filter("h2").each((i,element)=>{var _a;const link=$(element).find("a").attr("href"),quality=(null===(_a=$(element).text().match(/\b(480p|720p|1080p|2160p)\b/i))||void 0===_a?void 0:_a[0])||"",title=$(element).text();link&&!title.includes("Online")&&links.push({quality:quality,title:title,directLinks:[{link:link,title:title,type:"movie"}]})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/katmovies/posts.js b/dist/katmovies/posts.js index ca9dbbb..9af056b 100644 --- a/dist/katmovies/posts.js +++ b/dist/katmovies/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${(yield getBaseUrl("kat"))+filter}/page/${page}/`,signal:signal,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${yield getBaseUrl("kat")}/page/${page}/?s=${searchQuery}`,signal:signal,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,cheerio:cheerio}){try{const res=yield fetch(url,{signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $(".recent-posts").children().map((i,element)=>{const title=$(element).find("img").attr("alt"),link=$(element).find("a").attr("href"),image=$(element).find("img").attr("src");title&&link&&image&&catalog.push({title:title.replace("Download","").trim(),link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${(yield getBaseUrl("kat"))+filter}/page/${page}/`,signal:signal,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${yield getBaseUrl("kat")}/page/${page}/?s=${searchQuery}`,signal:signal,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,cheerio:cheerio}){try{const res=yield fetch(url,{signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $(".recent-posts").children().map((i,element)=>{const title=$(element).find("img").attr("alt"),link=$(element).find("a").attr("href"),image=$(element).find("img").attr("src");title&&link&&image&&catalog.push({title:title.replace("Download","").trim(),link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/katmovies/stream.js b/dist/katmovies/stream.js index f8a94f2..0b94137 100644 --- a/dist/katmovies/stream.js +++ b/dist/katmovies/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function extractKmhdLink(katlink,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios}=providerContext,data=(yield axios.get(katlink,{headers:{Cookie:"unlocked=true"}})).data,hubDriveRes=data.match(/hubdrive_res:\s*"([^"]+)"/)[1];return data.match(/hubdrive_res\s*:\s*{[^}]*?link\s*:\s*"([^"]+)"/)[1]+hubDriveRes})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,signal:signal,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,extractors:extractors}=providerContext,{hubcloudExtracter:hubcloudExtracter,gdFlixExtracter:gdFlixExtracter}=extractors,streamLinks=[];try{if(link.includes("gdflix"))return yield gdFlixExtracter(link,signal);if(link.includes("kmhd")){const hubcloudLink=yield extractKmhdLink(link,providerContext);return yield hubcloudExtracter(hubcloudLink,signal)}if(link.includes("gdflix")){try{const resumeDrive=link.replace("/file","/zfile"),resumeDriveHtml=(yield axios.get(resumeDrive)).data,resumeLink=cheerio.load(resumeDriveHtml)(".btn-success").attr("href");resumeLink&&streamLinks.push({server:"ResumeCloud",link:resumeLink,type:"mkv"})}catch(err){}try{const driveres=yield axios.get(link,{timeout:1e4}),seed=cheerio.load(driveres.data)(".btn-danger").attr("href")||"",instantToken=seed.split("=")[1],InstantFromData=new FormData;InstantFromData.append("keys",instantToken);const videoSeedUrl=seed.split("/").slice(0,3).join("/")+"/api",instantLinkRes=yield fetch(videoSeedUrl,{method:"POST",body:InstantFromData,headers:{"x-token":videoSeedUrl}}),instantLinkData=yield instantLinkRes.json();if(!1===instantLinkData.error){const instantLink=instantLinkData.url;streamLinks.push({server:"Gdrive-Instant",link:instantLink,type:"mkv"})}}catch(err){}return streamLinks}return yield hubcloudExtracter(link,signal)}catch(error){return[]}})};exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;__awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};const hubcloudDecode=function(value){return void 0===value?"":atob(value.toString())};function hubcloudExtractor(link,signal,axios,cheerio,headers){return __awaiter(this,void 0,void 0,function*(){var _a,_b,_c,_d,_e,_f;try{headers.Cookie="ext_name=ojplmecpdpgccookcobabopnaifgidhf; xla=s4t; cf_clearance=woQrFGXtLfmEMBEiGUsVHrUBMT8s3cmguIzmMjmvpkg-1770053679-1.2.1.1-xBrQdciOJsweUF6F2T_OtH6jmyanN_TduQ0yslc_XqjU6RcHSxI7.YOKv6ry7oYo64868HYoULnVyww536H2eVI3R2e4wKzsky6abjPdfQPxqpUaXjxfJ02o6jl3_Vkwr4uiaU7Wy596Vdst3y78HXvVmKdIohhtPvp.vZ9_L7wvWdce0GRixjh_6JiqWmWMws46hwEt3hboaS1e1e4EoWCvj5b0M_jVwvSxBOAW5emFzvT3QrnRh4nyYmKDERnY";const baseUrl=link.split("/").slice(0,3).join("/"),streamLinks=[],vLinkText=(yield axios(`${link}`,{headers:headers,signal:signal})).data,$vLink=cheerio.load(vLinkText),vLinkRedirect=vLinkText.match(/var\s+url\s*=\s*'([^']+)';/)||[];let vcloudLink=hubcloudDecode(null===(_b=null===(_a=vLinkRedirect[1])||void 0===_a?void 0:_a.split("r="))||void 0===_b?void 0:_b[1])||vLinkRedirect[1]||$vLink(".fa-file-download.fa-lg").parent().attr("href")||link;(null==vcloudLink?void 0:vcloudLink.startsWith("/"))&&(vcloudLink=`${baseUrl}${vcloudLink}`);const vcloudRes=yield fetch(vcloudLink,{headers:headers,signal:signal,redirect:"follow"}),$=cheerio.load(yield vcloudRes.text()),linkClass=$(".btn-success.btn-lg.h6,.btn-danger,.btn-secondary");for(const element of linkClass){let link=$(element).attr("href")||"";switch(!0){case null==link?void 0:link.includes("pixeld"):if(!(null==link?void 0:link.includes("api"))){const token=link.split("/").pop(),baseUrl=link.split("/").slice(0,-2).join("/");link=`${baseUrl}/api/file/${token}?download`}streamLinks.push({server:"Pixeldrain",link:link,type:"mkv"});break;case(null==link?void 0:link.includes(".dev"))&&!(null==link?void 0:link.includes("/?id=")):streamLinks.push({server:"Cf Worker",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("hubcloud"))||(null==link?void 0:link.includes("/?id=")):try{const newLinkRes=yield fetch(link,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});let newLink=link;if(newLink=newLinkRes.status>=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||link:newLinkRes.url&&newLinkRes.url!==link?newLinkRes.url:newLinkRes.headers.get("location")||link,newLink.includes("googleusercontent"))newLink=newLink.split("?link=")[1];else{const newLinkRes2=yield fetch(newLink,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});newLink=newLinkRes2.status>=300&&newLinkRes2.status<400?(null===(_c=newLinkRes2.headers.get("location"))||void 0===_c?void 0:_c.split("?link=")[1])||newLink:newLinkRes2.url&&newLinkRes2.url!==newLink?newLinkRes2.url.split("?link=")[1]||newLinkRes2.url:(null===(_d=newLinkRes2.headers.get("location"))||void 0===_d?void 0:_d.split("?link=")[1])||newLink}streamLinks.push({server:"hubcloud",link:newLink,type:"mkv"})}catch(error){}break;case null==link?void 0:link.includes("cloudflarestorage"):streamLinks.push({server:"CfStorage",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("fastdl"))||(null==link?void 0:link.includes("fsl.")):streamLinks.push({server:"FastDl",link:link,type:"mkv"});break;case link.includes("hubcdn")&&!link.includes("/?id="):streamLinks.push({server:"HubCdn",link:link,type:"mkv"});break;default:if((null==link?void 0:link.includes(".mkv"))||(null==link?void 0:link.includes("?token="))){const serverName=(null===(_f=null===(_e=link.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/i))||void 0===_e?void 0:_e[1])||void 0===_f?void 0:_f.replace(/\./g," "))||"Unknown";streamLinks.push({server:serverName,link:link,type:"mkv"})}}}return streamLinks}catch(error){return[]}})}__awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function gdflixExtractor(link,signal,axios,cheerio,headers){return __awaiter(this,void 0,void 0,function*(){var _a,_b,_c,_d,_f,_g,_h;try{const streamLinks=[],data=(yield axios(`${link}`,{headers:headers,signal:signal})).data;let $drive=cheerio.load(data);if(null===(_a=$drive("body").attr("onload"))||void 0===_a?void 0:_a.includes("location.replace")){const newLink=null===(_d=null===(_c=null===(_b=$drive("body").attr("onload"))||void 0===_b?void 0:_b.split("location.replace('"))||void 0===_c?void 0:_c[1].split("'"))||void 0===_d?void 0:_d[0];if(newLink){const newRes=yield axios.get(newLink,{headers:headers,signal:signal});$drive=cheerio.load(newRes.data)}}try{const baseUrl=link.split("/").slice(0,3).join("/"),resumeDrive=$drive(".btn-secondary").attr("href")||"";if(resumeDrive.includes("indexbot")){const resumeBotRes=yield axios.get(resumeDrive,{headers:headers}),resumeBotToken=resumeBotRes.data.match(/formData\.append\('token', '([a-f0-9]+)'\)/)[1],resumeBotBody=new FormData;resumeBotBody.append("token",resumeBotToken);const resumeBotPath=resumeBotRes.data.match(/fetch\('\/download\?id=([a-zA-Z0-9\/+]+)'/)[1],resumeBotBaseUrl=resumeDrive.split("/download")[0],resumeBotDownload=yield fetch(resumeBotBaseUrl+"/download?id="+resumeBotPath,{method:"POST",body:resumeBotBody,headers:{Referer:resumeDrive,Cookie:"PHPSESSID=7e9658ce7c805dab5bbcea9046f7f308"}}),resumeBotDownloadData=yield resumeBotDownload.json();streamLinks.push({server:"ResumeBot",link:resumeBotDownloadData.url,type:"mkv"})}else{const url=baseUrl+resumeDrive,resumeDriveHtml=(yield axios.get(url,{headers:headers})).data,resumeLink=cheerio.load(resumeDriveHtml)(".btn-success").attr("href");resumeLink&&streamLinks.push({server:"ResumeCloud",link:resumeLink,type:"mkv"})}}catch(err){}try{const seed=$drive(".btn-danger").attr("href")||"";if(seed.includes("?url=")){const instantToken=seed.split("=")[1],InstantFromData=new FormData;InstantFromData.append("keys",instantToken);const videoSeedUrl=seed.split("/").slice(0,3).join("/")+"/api",instantLinkRes=yield fetch(videoSeedUrl,{method:"POST",body:InstantFromData,headers:{"x-token":videoSeedUrl}}),instantLinkData=yield instantLinkRes.json();if(!1===instantLinkData.error){const instantLink=instantLinkData.url;streamLinks.push({server:"Gdrive-Instant",link:instantLink,type:"mkv"})}}else{const newLink=(null===(_h=null===(_g=null===(_f=(yield axios.head(seed,{headers:headers,signal:signal})).request)||void 0===_f?void 0:_f.responseURL)||void 0===_g?void 0:_g.split("?url="))||void 0===_h?void 0:_h[1])||seed;streamLinks.push({server:"G-Drive",link:newLink,type:"mkv"})}}catch(err){}return streamLinks}catch(error){return[]}})}function extractKmhdLink(katlink,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios}=providerContext,data=(yield axios.get(katlink,{headers:{Cookie:"unlocked=true"}})).data,hubDriveRes=data.match(/hubdrive_res:\s*"([^"]+)"/)[1];return data.match(/hubdrive_res\s*:\s*{[^}]*?link\s*:\s*"([^"]+)"/)[1]+hubDriveRes})}const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,signal:signal,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:commonHeaders}=providerContext,streamLinks=[];try{if(link.includes("gdflix"))return yield gdflixExtractor(link,signal,axios,cheerio,commonHeaders);if(link.includes("kmhd")){const hubcloudLink=yield extractKmhdLink(link,providerContext);return yield hubcloudExtractor(hubcloudLink,signal,axios,cheerio,commonHeaders)}if(link.includes("gdflix")){try{const resumeDrive=link.replace("/file","/zfile"),resumeDriveHtml=(yield axios.get(resumeDrive)).data,resumeLink=cheerio.load(resumeDriveHtml)(".btn-success").attr("href");resumeLink&&streamLinks.push({server:"ResumeCloud",link:resumeLink,type:"mkv"})}catch(err){}try{const driveres=yield axios.get(link,{timeout:1e4}),seed=cheerio.load(driveres.data)(".btn-danger").attr("href")||"",instantToken=seed.split("=")[1],InstantFromData=new FormData;InstantFromData.append("keys",instantToken);const videoSeedUrl=seed.split("/").slice(0,3).join("/")+"/api",instantLinkRes=yield fetch(videoSeedUrl,{method:"POST",body:InstantFromData,headers:{"x-token":videoSeedUrl}}),instantLinkData=yield instantLinkRes.json();if(!1===instantLinkData.error){const instantLink=instantLinkData.url;streamLinks.push({server:"Gdrive-Instant",link:instantLink,type:"mkv"})}}catch(err){}return streamLinks}return yield hubcloudExtractor(link,signal,axios,cheerio,commonHeaders)}catch(error){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/kissKh/catalog.js b/dist/kissKh/catalog.js index 03ab8ff..36bc22b 100644 --- a/dist/kissKh/catalog.js +++ b/dist/kissKh/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:"/api/DramaList/List?type=0&sub=0&country=0&status=0&order=2"},{title:"Hollywood",filter:"/api/DramaList/List?type=4&sub=0&country=0&status=0&order=2"},{title:"Anime",filter:"/api/DramaList/List?type=3&sub=0&country=0&status=0&order=2"},{title:"K Drama",filter:"/api/DramaList/List?type=0&sub=0&country=0&status=0&order=2"}],exports.genres=[]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:"/api/DramaList/List?type=0&sub=0&country=0&status=0&order=2"},{title:"Hollywood",filter:"/api/DramaList/List?type=4&sub=0&country=0&status=0&order=2"},{title:"Anime",filter:"/api/DramaList/List?type=3&sub=0&country=0&status=0&order=2"},{title:"K Drama",filter:"/api/DramaList/List?type=0&sub=0&country=0&status=0&order=2"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/kissKh/meta.js b/dist/kissKh/meta.js index 8018db2..6db3500 100644 --- a/dist/kissKh/meta.js +++ b/dist/kissKh/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c;try{const{axios:axios}=providerContext,data=(yield axios.get(link)).data,meta={title:data.title,synopsis:data.description,image:data.thumbnail,tags:[null===(_b=null==data?void 0:data.releaseDate)||void 0===_b?void 0:_b.split("-")[0],null==data?void 0:data.status,null==data?void 0:data.type],imdbId:"",type:data.episodesCount>1?"series":"movie"},linkList=[],subLinks=[];return null===(_c=null==data?void 0:data.episodes)||void 0===_c||_c.reverse().map(episode=>{var _a;const title="Episode "+(null==episode?void 0:episode.number),link=null===(_a=null==episode?void 0:episode.id)||void 0===_a?void 0:_a.toString();link&&title&&subLinks.push({title:title,link:link})}),linkList.push({title:meta.title,directLinks:subLinks}),Object.assign(Object.assign({},meta),{linkList:linkList})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c;try{const{axios:axios}=providerContext,data=(yield axios.get(link)).data,meta={title:data.title,synopsis:data.description,image:data.thumbnail,tags:[null===(_b=null==data?void 0:data.releaseDate)||void 0===_b?void 0:_b.split("-")[0],null==data?void 0:data.status,null==data?void 0:data.type],imdbId:"",type:data.episodesCount>1?"series":"movie"},linkList=[],subLinks=[];return null===(_c=null==data?void 0:data.episodes)||void 0===_c||_c.reverse().map(episode=>{var _a;const title="Episode "+(null==episode?void 0:episode.number),link=null===(_a=null==episode?void 0:episode.id)||void 0===_a?void 0:_a.toString();link&&title&&subLinks.push({title:title,link:link})}),linkList.push({title:meta.title,directLinks:subLinks}),Object.assign(Object.assign({},meta),{linkList:linkList})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/kissKh/posts.js b/dist/kissKh/posts.js index 4f4c922..77cef53 100644 --- a/dist/kissKh/posts.js +++ b/dist/kissKh/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,signal:signal,providerContext:providerContext}){var _b;const{getBaseUrl:getBaseUrl,axios:axios}=providerContext,baseUrl=yield getBaseUrl("kissKh"),url=`${baseUrl+filter}&type=0`;try{const data=null===(_b=(yield axios.get(url,{signal:signal})).data)||void 0===_b?void 0:_b.data,catalog=[];return null==data||data.map(element=>{const title=element.title,link=baseUrl+`/api/DramaList/Drama/${null==element?void 0:element.id}?isq=false`,image=element.thumbnail;title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios}=providerContext,baseUrl=yield getBaseUrl("kissKh"),url=`${baseUrl}/api/DramaList/Search?q=${searchQuery}&type=0`;try{const data=(yield axios.get(url,{signal:signal})).data,catalog=[];return null==data||data.map(element=>{const title=element.title,link=baseUrl+`/api/DramaList/Drama/${null==element?void 0:element.id}?isq=false`,image=element.thumbnail;title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,signal:signal,providerContext:providerContext}){var _b;const{getBaseUrl:getBaseUrl,axios:axios}=providerContext,baseUrl=yield getBaseUrl("kissKh"),url=`${baseUrl+filter}&type=0`;try{const data=null===(_b=(yield axios.get(url,{signal:signal})).data)||void 0===_b?void 0:_b.data,catalog=[];return null==data||data.map(element=>{const title=element.title,link=baseUrl+`/api/DramaList/Drama/${null==element?void 0:element.id}?isq=false`,image=element.thumbnail;title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios}=providerContext,baseUrl=yield getBaseUrl("kissKh"),url=`${baseUrl}/api/DramaList/Search?q=${searchQuery}&type=0`;try{const data=(yield axios.get(url,{signal:signal})).data,catalog=[];return null==data||data.map(element=>{const title=element.title,link=baseUrl+`/api/DramaList/Drama/${null==element?void 0:element.id}?isq=false`,image=element.thumbnail;title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/kissKh/stream.js b/dist/kissKh/stream.js index 7921f4a..c322994 100644 --- a/dist/kissKh/stream.js +++ b/dist/kissKh/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,providerContext:providerContext}){var _b,_c,_d;try{const{axios:axios,getBaseUrl:getBaseUrl}=providerContext,streamLinks=[],subtitles=[],baseUrl=yield getBaseUrl("kissKh"),streamUrl="https://adorable-salamander-ecbb21.netlify.app/api/kisskh/video?id="+id,res=yield axios.get(streamUrl),stream=null===(_c=null===(_b=res.data)||void 0===_b?void 0:_b.source)||void 0===_c?void 0:_c.Video,subData=null===(_d=res.data)||void 0===_d?void 0:_d.subtitles;return null==subData||subData.map(sub=>{var _a;subtitles.push({title:null==sub?void 0:sub.label,language:null==sub?void 0:sub.land,type:(null===(_a=null==sub?void 0:sub.src)||void 0===_a?void 0:_a.includes(".vtt"))?"text/vtt":"application/x-subrip",uri:null==sub?void 0:sub.src})}),streamLinks.push({server:"kissKh",link:stream,type:(null==stream?void 0:stream.includes(".mp4"))?"mp4":"m3u8",headers:{referer:baseUrl}}),streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,providerContext:providerContext}){var _b,_c,_d;try{const{axios:axios,getBaseUrl:getBaseUrl}=providerContext,streamLinks=[],subtitles=[],baseUrl=yield getBaseUrl("kissKh"),streamUrl="https://adorable-salamander-ecbb21.netlify.app/api/kisskh/video?id="+id,res=yield axios.get(streamUrl),stream=null===(_c=null===(_b=res.data)||void 0===_b?void 0:_b.source)||void 0===_c?void 0:_c.Video,subData=null===(_d=res.data)||void 0===_d?void 0:_d.subtitles;return null==subData||subData.map(sub=>{var _a;subtitles.push({title:null==sub?void 0:sub.label,language:null==sub?void 0:sub.land,type:(null===(_a=null==sub?void 0:sub.src)||void 0===_a?void 0:_a.includes(".vtt"))?"text/vtt":"application/x-subrip",uri:null==sub?void 0:sub.src})}),streamLinks.push({server:"kissKh",link:stream,type:(null==stream?void 0:stream.includes(".mp4"))?"mp4":"m3u8",headers:{referer:baseUrl}}),streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/kmMovies/catalog.js b/dist/kmMovies/catalog.js index 39aee15..d84e257 100644 --- a/dist/kmMovies/catalog.js +++ b/dist/kmMovies/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:""},{title:"Bollywood",filter:"category/movies/"},{title:"Dual",filter:"category/dual-audio/"}]; \ No newline at end of file +exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:""},{title:"Bollywood",filter:"category/movies/"},{title:"Dual",filter:"category/dual-audio/"}]; \ No newline at end of file diff --git a/dist/kmMovies/episodes.js b/dist/kmMovies/episodes.js index 7dca7f2..a499507 100644 --- a/dist/kmMovies/episodes.js +++ b/dist/kmMovies/episodes.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function getEpisodeLinks(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){try{const res=yield providerContext.axios.get(url),$=providerContext.cheerio.load(res.data||""),episodes=[];return $("h4.fittexted_for_content_h4").each((_,h4El)=>{const epTitle=$(h4El).text().trim();epTitle&&$(h4El).nextUntil("h4, hr").find("a[href]").each((_,linkEl)=>{let href=($(linkEl).attr("href")||"").trim();if(!href)return;href.startsWith("http")||(href=new URL(href,url).href);const btnText=$(linkEl).text().trim()||"Watch Episode",lowerHref=href.toLowerCase();(lowerHref.includes("skydro")||lowerHref.includes("flexplayer.buzz"))&&episodes.push({title:`${epTitle} - ${btnText}`,link:href})})}),episodes.sort((a,b)=>{var _a,_b;return parseInt((null===(_a=a.title.match(/\d+/))||void 0===_a?void 0:_a[0])||"0")-parseInt((null===(_b=b.title.match(/\d+/))||void 0===_b?void 0:_b[0])||"0")}),episodes}catch(err){return[]}})}function getEpisodes(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){return yield getEpisodeLinks({url:url,providerContext:providerContext})})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodeLinks=getEpisodeLinks,exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function getEpisodeLinks(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){try{const res=yield providerContext.axios.get(url),$=providerContext.cheerio.load(res.data||""),episodes=[];return $("h4.fittexted_for_content_h4").each((_,h4El)=>{const epTitle=$(h4El).text().trim();epTitle&&$(h4El).nextUntil("h4, hr").find("a[href]").each((_,linkEl)=>{let href=($(linkEl).attr("href")||"").trim();if(!href)return;href.startsWith("http")||(href=new URL(href,url).href);const btnText=$(linkEl).text().trim()||"Watch Episode",lowerHref=href.toLowerCase();(lowerHref.includes("skydro")||lowerHref.includes("flexplayer.buzz"))&&episodes.push({title:`${epTitle} - ${btnText}`,link:href})})}),episodes.sort((a,b)=>{var _a,_b;return parseInt((null===(_a=a.title.match(/\d+/))||void 0===_a?void 0:_a[0])||"0")-parseInt((null===(_b=b.title.match(/\d+/))||void 0===_b?void 0:_b[0])||"0")}),episodes}catch(err){return[]}})}function getEpisodes(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){return yield getEpisodeLinks({url:url,providerContext:providerContext})})}exports.getEpisodeLinks=getEpisodeLinks,exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/kmMovies/meta.js b/dist/kmMovies/meta.js index 34ba49a..e3df659 100644 --- a/dist/kmMovies/meta.js +++ b/dist/kmMovies/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const kmmHeaders={Referer:"https://google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c;try{const{axios:axios,cheerio:cheerio}=providerContext;if(!link.startsWith("http")){link=`${yield providerContext.getBaseUrl("kmmovies")}${link.startsWith("/")?"":"/"}${link}`}const res=yield axios.get(link,{headers:kmmHeaders}),$=cheerio.load(res.data),title=$("h1, h2, .animated-text").first().text().trim()||(null===(_b=$("meta[property='og:title']").attr("content"))||void 0===_b?void 0:_b.trim())||$("title").text().trim()||"Unknown";let image=$("div.wp-slider-container img").first().attr("src")||$("meta[property='og:image']").attr("content")||$("meta[name='twitter:image']").attr("content")||"";image&&image.startsWith("http")||(image=new URL(image||"/placeholder.png",link).href);let synopsis="";$("p").each((_,el)=>{const text=$(el).text().trim();if(text&&text.length>40&&!text.toLowerCase().includes("download")&&!text.toLowerCase().includes("quality"))return synopsis=text,!1}),synopsis||(synopsis=$("meta[property='og:description']").attr("content")||$("meta[name='description']").attr("content")||"");const tags=[];res.data.toLowerCase().includes("action")&&tags.push("Action"),res.data.toLowerCase().includes("drama")&&tags.push("Drama"),res.data.toLowerCase().includes("romance")&&tags.push("Romance"),res.data.toLowerCase().includes("thriller")&&tags.push("Thriller");const cast=[];$("p").each((_,el)=>{const text=$(el).text().trim();/starring|cast/i.test(text)&&text.split(",").forEach(name=>cast.push(name.trim()))});let rating=(null===(_c=$("p").text().match(/IMDb Rating[:\s]*([0-9.]+)/i))||void 0===_c?void 0:_c[1])||"";rating&&!rating.includes("/")&&(rating+="/10");const imdbLink=$("p a[href*='imdb.com']").attr("href")||"",imdbId=imdbLink&&imdbLink.includes("/tt")?"tt"+imdbLink.split("/tt")[1].split("/")[0]:"",linkList=[],isSeries=$(".download-options-grid").length>0;return isSeries?$(".download-card").each((_,card)=>{const card$=$(card),quality=card$.find(".download-quality-text").text().trim(),size=card$.find(".download-size-info").text().trim()||"",href=card$.find("a.tabs-download-button").attr("href")||"";if(href){const titleText=`Download ${quality} ${size}`.trim();linkList.push({title:titleText,quality:quality||"AUTO",directLinks:[{link:href,title:titleText,type:"series"}]})}}):$("a.modern-download-button").each((_,a)=>{const quality=$(a).closest(".modern-option-card").find(".modern-badge").text().trim()||"AUTO",href=$(a).attr("href")||"",titleText=`Download ${quality}`;href&&linkList.push({title:titleText,quality:quality,directLinks:[{link:href,title:titleText,type:"movie"}]})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:isSeries?"series":"movie",tags:tags,cast:cast,rating:rating,linkList:linkList}}catch(err){return{title:"",synopsis:"",image:"https://via.placeholder.com/300x450",imdbId:"",type:"movie",tags:[],cast:[],rating:"",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const kmmHeaders={Referer:"https://google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c;try{const{axios:axios,cheerio:cheerio}=providerContext;if(!link.startsWith("http")){link=`${yield providerContext.getBaseUrl("kmmovies")}${link.startsWith("/")?"":"/"}${link}`}const res=yield axios.get(link,{headers:kmmHeaders}),$=cheerio.load(res.data),title=$("h1, h2, .animated-text").first().text().trim()||(null===(_b=$("meta[property='og:title']").attr("content"))||void 0===_b?void 0:_b.trim())||$("title").text().trim()||"Unknown";let image=$("div.wp-slider-container img").first().attr("src")||$("meta[property='og:image']").attr("content")||$("meta[name='twitter:image']").attr("content")||"";image&&image.startsWith("http")||(image=new URL(image||"/placeholder.png",link).href);let synopsis="";$("p").each((_,el)=>{const text=$(el).text().trim();if(text&&text.length>40&&!text.toLowerCase().includes("download")&&!text.toLowerCase().includes("quality"))return synopsis=text,!1}),synopsis||(synopsis=$("meta[property='og:description']").attr("content")||$("meta[name='description']").attr("content")||"");const tags=[];res.data.toLowerCase().includes("action")&&tags.push("Action"),res.data.toLowerCase().includes("drama")&&tags.push("Drama"),res.data.toLowerCase().includes("romance")&&tags.push("Romance"),res.data.toLowerCase().includes("thriller")&&tags.push("Thriller");const cast=[];$("p").each((_,el)=>{const text=$(el).text().trim();/starring|cast/i.test(text)&&text.split(",").forEach(name=>cast.push(name.trim()))});let rating=(null===(_c=$("p").text().match(/IMDb Rating[:\s]*([0-9.]+)/i))||void 0===_c?void 0:_c[1])||"";rating&&!rating.includes("/")&&(rating+="/10");const imdbLink=$("p a[href*='imdb.com']").attr("href")||"",imdbId=imdbLink&&imdbLink.includes("/tt")?"tt"+imdbLink.split("/tt")[1].split("/")[0]:"",linkList=[],isSeries=$(".download-options-grid").length>0;return isSeries?$(".download-card").each((_,card)=>{const card$=$(card),quality=card$.find(".download-quality-text").text().trim(),size=card$.find(".download-size-info").text().trim()||"",href=card$.find("a.tabs-download-button").attr("href")||"";if(href){const titleText=`Download ${quality} ${size}`.trim();linkList.push({title:titleText,quality:quality||"AUTO",directLinks:[{link:href,title:titleText,type:"series"}]})}}):$("a.modern-download-button").each((_,a)=>{const quality=$(a).closest(".modern-option-card").find(".modern-badge").text().trim()||"AUTO",href=$(a).attr("href")||"",titleText=`Download ${quality}`;href&&linkList.push({title:titleText,quality:quality,directLinks:[{link:href,title:titleText,type:"movie"}]})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:isSeries?"series":"movie",tags:tags,cast:cast,rating:rating,linkList:linkList}}catch(err){return{title:"",synopsis:"",image:"https://via.placeholder.com/300x450",imdbId:"",type:"movie",tags:[],cast:[],rating:"",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/kmMovies/posts.js b/dist/kmMovies/posts.js index fd7cab3..051c9d4 100644 --- a/dist/kmMovies/posts.js +++ b/dist/kmMovies/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getPosts=getPosts,exports.getSearchPosts=getSearchPosts;const defaultHeaders={Referer:"https://www.google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language":"en-US,en;q=0.9",Pragma:"no-cache","Cache-Control":"no-cache"};function getPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:filter,page:page,query:"",signal:signal,providerContext:providerContext})})}function getSearchPosts(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:"",page:page,query:searchQuery,signal:signal,providerContext:providerContext})})}function fetchPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,query:query,page:page=1,signal:signal,providerContext:providerContext}){try{const baseUrl=yield providerContext.getBaseUrl("kmmovies");let url;url=query&&query.trim()?`${baseUrl}/?s=${encodeURIComponent(query)}${page>1?`&paged=${page}`:""}`:filter?filter.startsWith("/")?`${baseUrl}${filter.replace(/\/$/,"")}${page>1?`/page/${page}`:""}`:`${baseUrl}/${filter}${page>1?`/page/${page}`:""}`:`${baseUrl}${page>1?`/page/${page}`:""}`;const{axios:axios,cheerio:cheerio}=providerContext,res=yield axios.get(url,{headers:defaultHeaders,signal:signal}),$=cheerio.load(res.data||""),resolveUrl=href=>(null==href?void 0:href.startsWith("http"))?href:`${baseUrl}${href.startsWith("/")?"":"/"}${href}`,seen=new Set,catalog=[],POST_SELECTORS=[".pstr_box","article",".result-item",".post",".item",".thumbnail",".latest-movies",".movie-item"].join(",");return $(POST_SELECTORS).each((_,el)=>{var _a;const card=$(el);let link=card.find("a[href]").first().attr("href")||"";if(!link)return;if(link=resolveUrl(link),seen.has(link))return;let title=card.find("h2").first().text().trim()||(null===(_a=card.find("a[title]").first().attr("title"))||void 0===_a?void 0:_a.trim())||card.text().trim();if(title=title.replace(/\[.*?\]/g,"").replace(/\(.+?\)/g,"").replace(/\s{2,}/g," ").trim(),!title)return;const img=card.find("img").first().attr("src")||card.find("img").first().attr("data-src")||card.find("img").first().attr("data-original")||"",image=img?resolveUrl(img):"";seen.add(link),catalog.push({title:title,link:link,image:image})}),catalog.slice(0,100)}catch(err){return[]}})} \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getPosts=getPosts,exports.getSearchPosts=getSearchPosts;const defaultHeaders={Referer:"https://www.google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language":"en-US,en;q=0.9",Pragma:"no-cache","Cache-Control":"no-cache"};function getPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:filter,page:page,query:"",signal:signal,providerContext:providerContext})})}function getSearchPosts(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:"",page:page,query:searchQuery,signal:signal,providerContext:providerContext})})}function fetchPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,query:query,page:page=1,signal:signal,providerContext:providerContext}){try{const baseUrl=yield providerContext.getBaseUrl("kmmovies");let url;url=query&&query.trim()?`${baseUrl}/?s=${encodeURIComponent(query)}${page>1?`&paged=${page}`:""}`:filter?filter.startsWith("/")?`${baseUrl}${filter.replace(/\/$/,"")}${page>1?`/page/${page}`:""}`:`${baseUrl}/${filter}${page>1?`/page/${page}`:""}`:`${baseUrl}${page>1?`/page/${page}`:""}`;const{axios:axios,cheerio:cheerio}=providerContext,res=yield axios.get(url,{headers:defaultHeaders,signal:signal}),$=cheerio.load(res.data||""),resolveUrl=href=>(null==href?void 0:href.startsWith("http"))?href:`${baseUrl}${href.startsWith("/")?"":"/"}${href}`,seen=new Set,catalog=[],POST_SELECTORS=[".pstr_box","article",".result-item",".post",".item",".thumbnail",".latest-movies",".movie-item"].join(",");return $(POST_SELECTORS).each((_,el)=>{var _a;const card=$(el);let link=card.find("a[href]").first().attr("href")||"";if(!link)return;if(link=resolveUrl(link),seen.has(link))return;let title=card.find("h2").first().text().trim()||(null===(_a=card.find("a[title]").first().attr("title"))||void 0===_a?void 0:_a.trim())||card.text().trim();if(title=title.replace(/\[.*?\]/g,"").replace(/\(.+?\)/g,"").replace(/\s{2,}/g," ").trim(),!title)return;const img=card.find("img").first().attr("src")||card.find("img").first().attr("data-src")||card.find("img").first().attr("data-original")||"",image=img?resolveUrl(img):"";seen.add(link),catalog.push({title:title,link:link,image:image})}),catalog.slice(0,100)}catch(err){return[]}})} \ No newline at end of file diff --git a/dist/kmMovies/stream.js b/dist/kmMovies/stream.js index 2bb6391..e32942b 100644 --- a/dist/kmMovies/stream.js +++ b/dist/kmMovies/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=getStream;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,type:type,signal:signal,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext;try{const streamLinks=[],res=yield axios.get(link,{headers:headers,signal:signal}),$=cheerio.load(res.data),ALLOWED_SERVERS=["ONE CLICK","ZIP-ZAP","ULTRA FAST","SKYDROP"];return $("a.download-button").each((_,el)=>{var _a;const btn=$(el),href=null===(_a=btn.attr("href"))||void 0===_a?void 0:_a.trim(),serverName=btn.text().trim()||"Unknown Server",isAllowed=ALLOWED_SERVERS.some(allowed=>serverName.toUpperCase().includes(allowed)||allowed.includes(serverName.toUpperCase()));href&&isAllowed&&streamLinks.push({server:serverName,link:href,type:"mkv"})}),streamLinks}catch(error){return[]}})} \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=getStream;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,type:type,signal:signal,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext;try{const streamLinks=[],res=yield axios.get(link,{headers:headers,signal:signal}),$=cheerio.load(res.data),ALLOWED_SERVERS=["ONE CLICK","ZIP-ZAP","ULTRA FAST","SKYDROP"];return $("a.download-button").each((_,el)=>{var _a;const btn=$(el),href=null===(_a=btn.attr("href"))||void 0===_a?void 0:_a.trim(),serverName=btn.text().trim()||"Unknown Server",isAllowed=ALLOWED_SERVERS.some(allowed=>serverName.toUpperCase().includes(allowed)||allowed.includes(serverName.toUpperCase()));href&&isAllowed&&streamLinks.push({server:serverName,link:href,type:"mkv"})}),streamLinks}catch(error){return[]}})} \ No newline at end of file diff --git a/dist/luxMovies/catalog.js b/dist/luxMovies/catalog.js index 9f1edc5..3029c3b 100644 --- a/dist/luxMovies/catalog.js +++ b/dist/luxMovies/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"New",filter:""},{title:"Netflix",filter:"web-series/netflix"},{title:"Amazon Prime",filter:"web-series/amazon-prime-video"},{title:"4K Movies",filter:"movies-by-quality/2160p"}],exports.genres=[{title:"Action",filter:"category/movies-by-genres/action/"},{title:"Adventure",filter:"category/movies-by-genres/adventure/"},{title:"Animation",filter:"category/movies-by-genres/animation/"},{title:"Biography",filter:"category/movies-by-genres/biography/"},{title:"Comedy",filter:"category/movies-by-genres/comedy/"},{title:"Crime",filter:"category/movies-by-genres/crime/"},{title:"Documentary",filter:"category/movies-by-genres/documentary/"},{title:"Drama",filter:"category/movies-by-genres/drama/"},{title:"Family",filter:"category/movies-by-genres/family/"},{title:"Fantasy",filter:"category/movies-by-genres/fantasy/"},{title:"History",filter:"category/movies-by-genres/history/"},{title:"Horror",filter:"category/movies-by-genres/horror/"},{title:"Music",filter:"category/movies-by-genres/music/"},{title:"Mystery",filter:"category/movies-by-genres/mystery/"},{title:"Romance",filter:"category/movies-by-genres/romance/"},{title:"Sci-Fi",filter:"category/movies-by-genres/sci-fi/"},{title:"Sport",filter:"category/movies-by-genres/sport/"},{title:"Thriller",filter:"category/movies-by-genres/thriller/"},{title:"War",filter:"category/movies-by-genres/war/"},{title:"Western",filter:"category/movies-by-genres/western/"}]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"New",filter:""},{title:"Netflix",filter:"web-series/netflix"},{title:"Amazon Prime",filter:"web-series/amazon-prime-video"},{title:"4K Movies",filter:"movies-by-quality/2160p"}],exports.genres=[{title:"Action",filter:"category/movies-by-genres/action/"},{title:"Adventure",filter:"category/movies-by-genres/adventure/"},{title:"Animation",filter:"category/movies-by-genres/animation/"},{title:"Biography",filter:"category/movies-by-genres/biography/"},{title:"Comedy",filter:"category/movies-by-genres/comedy/"},{title:"Crime",filter:"category/movies-by-genres/crime/"},{title:"Documentary",filter:"category/movies-by-genres/documentary/"},{title:"Drama",filter:"category/movies-by-genres/drama/"},{title:"Family",filter:"category/movies-by-genres/family/"},{title:"Fantasy",filter:"category/movies-by-genres/fantasy/"},{title:"History",filter:"category/movies-by-genres/history/"},{title:"Horror",filter:"category/movies-by-genres/horror/"},{title:"Music",filter:"category/movies-by-genres/music/"},{title:"Mystery",filter:"category/movies-by-genres/mystery/"},{title:"Romance",filter:"category/movies-by-genres/romance/"},{title:"Sci-Fi",filter:"category/movies-by-genres/sci-fi/"},{title:"Sport",filter:"category/movies-by-genres/sport/"},{title:"Thriller",filter:"category/movies-by-genres/thriller/"},{title:"War",filter:"category/movies-by-genres/war/"},{title:"Western",filter:"category/movies-by-genres/western/"}]; \ No newline at end of file diff --git a/dist/luxMovies/episodes.js b/dist/luxMovies/episodes.js index e787504..c1f1865 100644 --- a/dist/luxMovies/episodes.js +++ b/dist/luxMovies/episodes.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;try{const res=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{cookie:"ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=6yZYfXQxBgjaD1eacR5zZCz7njssbxjtSZZCElTOGk0-1764836255-1.2.1.1-bzHvDcDRLp6AAYo7qvGVzJ6Gk6zaqAepuGiGhAWCGYL.ZDpw5yI4TkUIXDgAnEhGCZ9J5X2_OagzgeMHZrd8rzeyAFQXj0dmYMErcfII7_Rhq5kZ4kAtS0tl9PtaNKKd2m4taIufySXCCstl3iNLMODTjbsW_KZi8U8DauOdGSAhBd1DCGxvLlAOM.snfkhb0yQiVJcLW8Bv9IeKQac0ar_TKkV6QexqNZYiyRXnE7E; xla=s4t","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0"})}),$=cheerio.load(res.data),container=$(".entry-content,.entry-inner");$(".unili-content,.code-block-1").remove();const episodes=[];return container.find("h4").each((index,element)=>{const el=$(element),title=el.text().replace(/-/g,"").replace(/:/g,""),link=el.next("p").find('.btn-outline[style="background:linear-gradient(135deg,#ed0b0b,#f2d152); color: white;"]').parent().attr("href");title&&link&&episodes.push({title:title,link:link})}),episodes}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;try{const res=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{cookie:"ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=6yZYfXQxBgjaD1eacR5zZCz7njssbxjtSZZCElTOGk0-1764836255-1.2.1.1-bzHvDcDRLp6AAYo7qvGVzJ6Gk6zaqAepuGiGhAWCGYL.ZDpw5yI4TkUIXDgAnEhGCZ9J5X2_OagzgeMHZrd8rzeyAFQXj0dmYMErcfII7_Rhq5kZ4kAtS0tl9PtaNKKd2m4taIufySXCCstl3iNLMODTjbsW_KZi8U8DauOdGSAhBd1DCGxvLlAOM.snfkhb0yQiVJcLW8Bv9IeKQac0ar_TKkV6QexqNZYiyRXnE7E; xla=s4t","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0"})}),$=cheerio.load(res.data),container=$(".entry-content,.entry-inner");$(".unili-content,.code-block-1").remove();const episodes=[];return container.find("h4").each((index,element)=>{const el=$(element),title=el.text().replace(/-/g,"").replace(/:/g,""),link=el.next("p").find('.btn-outline[style="background:linear-gradient(135deg,#ed0b0b,#f2d152); color: white;"]').parent().attr("href");title&&link&&episodes.push({title:title,link:link})}),episodes}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/luxMovies/meta.js b/dist/luxMovies/meta.js index 3e8b699..84c3729 100644 --- a/dist/luxMovies/meta.js +++ b/dist/luxMovies/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"_ga=GA1.1.10613951.1756380104; xla=s4t; _ga_1CG5NQ0F53=GS2.1.s1756380103$o1$g1$t1756380120$j43$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"},getMeta=_a=>__awaiter(void 0,[_a],void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m,_o,_p,_q,_r,_s,_t,_u,_v;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,baseUrl=url.split("/").slice(0,3).join("/"),response=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{Referer:baseUrl})}),$=cheerio.load(response.data),infoContainer=$(".entry-content,.post-inner"),heading=null==infoContainer?void 0:infoContainer.find("h3"),imdbId=(null===(_g=null===(_f=null===(_e=null===(_d=null===(_c=null===(_b=null==heading?void 0:heading.next("p"))||void 0===_b?void 0:_b.find("a"))||void 0===_c?void 0:_c[0])||void 0===_d?void 0:_d.attribs)||void 0===_e?void 0:_e.href)||void 0===_f?void 0:_f.match(/tt\d+/g))||void 0===_g?void 0:_g[0])||(null===(_h=infoContainer.text().match(/tt\d+/g))||void 0===_h?void 0:_h[0])||"",type=(null===(_k=null===(_j=null==heading?void 0:heading.next("p"))||void 0===_j?void 0:_j.text())||void 0===_k?void 0:_k.includes("Series Name"))?"series":"movie",titleRegex=/Name: (.+)/,title=(null===(_o=null===(_m=null===(_l=null==heading?void 0:heading.next("p"))||void 0===_l?void 0:_l.text())||void 0===_m?void 0:_m.match(titleRegex))||void 0===_o?void 0:_o[1])||"",synopsisNode=null===(_t=null===(_s=null===(_r=null===(_q=null===(_p=null==infoContainer?void 0:infoContainer.find("p"))||void 0===_p?void 0:_p.next("h3,h4"))||void 0===_q?void 0:_q.next("p"))||void 0===_r?void 0:_r[0])||void 0===_s?void 0:_s.children)||void 0===_t?void 0:_t[0],synopsis=synopsisNode&&"data"in synopsisNode?synopsisNode.data:"";let image=(null===(_u=null==infoContainer?void 0:infoContainer.find("img[data-lazy-src]"))||void 0===_u?void 0:_u.attr("data-lazy-src"))||"";image.startsWith("//")&&(image="https:"+image);const hr=null===(_v=null==infoContainer?void 0:infoContainer.first())||void 0===_v?void 0:_v.find("hr"),list=null==hr?void 0:hr.nextUntil("hr"),links=[];return list.each((index,element)=>{var _a,_b,_c,_d,_e,_f,_g,_h,_j;const title=(null==(element=$(element))?void 0:element.text())||"",quality=(null===(_a=null==element?void 0:element.text().match(/\d+p\b/))||void 0===_a?void 0:_a[0])||"",movieLinks=(null==element?void 0:element.next().find(".dwd-button").text().toLowerCase().includes("download"))?null===(_c=null===(_b=null==element?void 0:element.next().find(".dwd-button"))||void 0===_b?void 0:_b.parent())||void 0===_c?void 0:_c.attr("href"):"",vcloudLinks=null===(_e=null===(_d=null==element?void 0:element.next().find(".btn-outline[style='background:linear-gradient(135deg,#ed0b0b,#f2d152); color: white;'],.btn-outline[style='background:linear-gradient(135deg,#ed0b0b,#f2d152); color: #fdf8f2;']"))||void 0===_d?void 0:_d.parent())||void 0===_e?void 0:_e.attr("href"),episodesLink=vcloudLinks||((null==element?void 0:element.next().find(".dwd-button").text().toLowerCase().includes("episode"))?null===(_g=null===(_f=null==element?void 0:element.next().find(".dwd-button"))||void 0===_f?void 0:_f.parent())||void 0===_g?void 0:_g.attr("href"):"")||(null===(_j=null===(_h=null==element?void 0:element.next().find(".btn-outline[style='background:linear-gradient(135deg,#0ebac3,#09d261); color: white;']"))||void 0===_h?void 0:_h.parent())||void 0===_j?void 0:_j.attr("href"));(movieLinks||episodesLink)&&links.push({title:title,directLinks:movieLinks?[{title:"Movie",link:movieLinks,type:"movie"}]:[],episodesLink:episodesLink,quality:quality})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(error){return{title:"",synopsis:"",image:"",imdbId:"",type:"",linkList:[]}}});exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"_ga=GA1.1.10613951.1756380104; xla=s4t; _ga_1CG5NQ0F53=GS2.1.s1756380103$o1$g1$t1756380120$j43$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"},getMeta=_a=>__awaiter(void 0,[_a],void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m,_o,_p,_q,_r,_s,_t,_u,_v;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,baseUrl=url.split("/").slice(0,3).join("/"),response=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{Referer:baseUrl})}),$=cheerio.load(response.data),infoContainer=$(".entry-content,.post-inner"),heading=null==infoContainer?void 0:infoContainer.find("h3"),imdbId=(null===(_g=null===(_f=null===(_e=null===(_d=null===(_c=null===(_b=null==heading?void 0:heading.next("p"))||void 0===_b?void 0:_b.find("a"))||void 0===_c?void 0:_c[0])||void 0===_d?void 0:_d.attribs)||void 0===_e?void 0:_e.href)||void 0===_f?void 0:_f.match(/tt\d+/g))||void 0===_g?void 0:_g[0])||(null===(_h=infoContainer.text().match(/tt\d+/g))||void 0===_h?void 0:_h[0])||"",type=(null===(_k=null===(_j=null==heading?void 0:heading.next("p"))||void 0===_j?void 0:_j.text())||void 0===_k?void 0:_k.includes("Series Name"))?"series":"movie",titleRegex=/Name: (.+)/,title=(null===(_o=null===(_m=null===(_l=null==heading?void 0:heading.next("p"))||void 0===_l?void 0:_l.text())||void 0===_m?void 0:_m.match(titleRegex))||void 0===_o?void 0:_o[1])||"",synopsisNode=null===(_t=null===(_s=null===(_r=null===(_q=null===(_p=null==infoContainer?void 0:infoContainer.find("p"))||void 0===_p?void 0:_p.next("h3,h4"))||void 0===_q?void 0:_q.next("p"))||void 0===_r?void 0:_r[0])||void 0===_s?void 0:_s.children)||void 0===_t?void 0:_t[0],synopsis=synopsisNode&&"data"in synopsisNode?synopsisNode.data:"";let image=(null===(_u=null==infoContainer?void 0:infoContainer.find("img[data-lazy-src]"))||void 0===_u?void 0:_u.attr("data-lazy-src"))||"";image.startsWith("//")&&(image="https:"+image);const hr=null===(_v=null==infoContainer?void 0:infoContainer.first())||void 0===_v?void 0:_v.find("hr"),list=null==hr?void 0:hr.nextUntil("hr"),links=[];return list.each((index,element)=>{var _a,_b,_c,_d,_e,_f,_g,_h,_j;const title=(null==(element=$(element))?void 0:element.text())||"",quality=(null===(_a=null==element?void 0:element.text().match(/\d+p\b/))||void 0===_a?void 0:_a[0])||"",movieLinks=(null==element?void 0:element.next().find(".dwd-button").text().toLowerCase().includes("download"))?null===(_c=null===(_b=null==element?void 0:element.next().find(".dwd-button"))||void 0===_b?void 0:_b.parent())||void 0===_c?void 0:_c.attr("href"):"",vcloudLinks=null===(_e=null===(_d=null==element?void 0:element.next().find(".btn-outline[style='background:linear-gradient(135deg,#ed0b0b,#f2d152); color: white;'],.btn-outline[style='background:linear-gradient(135deg,#ed0b0b,#f2d152); color: #fdf8f2;']"))||void 0===_d?void 0:_d.parent())||void 0===_e?void 0:_e.attr("href"),episodesLink=vcloudLinks||((null==element?void 0:element.next().find(".dwd-button").text().toLowerCase().includes("episode"))?null===(_g=null===(_f=null==element?void 0:element.next().find(".dwd-button"))||void 0===_f?void 0:_f.parent())||void 0===_g?void 0:_g.attr("href"):"")||(null===(_j=null===(_h=null==element?void 0:element.next().find(".btn-outline[style='background:linear-gradient(135deg,#0ebac3,#09d261); color: white;']"))||void 0===_h?void 0:_h.parent())||void 0===_j?void 0:_j.attr("href"));(movieLinks||episodesLink)&&links.push({title:title,directLinks:movieLinks?[{title:"Movie",link:movieLinks,type:"movie"}]:[],episodesLink:episodesLink,quality:quality})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(error){return{title:"",synopsis:"",image:"",imdbId:"",type:"",linkList:[]}}});exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/luxMovies/posts.js b/dist/luxMovies/posts.js index bd771a3..9f8ac8b 100644 --- a/dist/luxMovies/posts.js +++ b/dist/luxMovies/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"_ga=GA1.1.10613951.1756380104; xla=s4t; _ga_1CG5NQ0F53=GS2.1.s1756380103$o1$g1$t1756380120$j43$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0"},getPosts=_a=>__awaiter(void 0,[_a],void 0,function*({filter:filter,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts(`${yield getBaseUrl("lux")}/${filter}/page/${page}/`,signal,providerContext)});exports.getPosts=getPosts;const getSearchPosts=_a=>__awaiter(void 0,[_a],void 0,function*({searchQuery:searchQuery,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("lux");return posts(1===page?`https://c.8man.workers.dev/?url=${baseUrl}/?s=${searchQuery}`:`https://c.8man.workers.dev/?url=${baseUrl}/page/${page}/?s=${searchQuery}`,signal,providerContext)});function posts(url,signal,providerContext){return __awaiter(this,void 0,void 0,function*(){var _a,_b;try{const{axios:axios,cheerio:cheerio}=providerContext,urlRes=yield fetch(url,{headers:Object.assign(Object.assign({},headers),{Referer:url}),signal:signal}),$=cheerio.load(yield urlRes.text()),posts=[];return null===(_b=null===(_a=$(".blog-items"))||void 0===_a?void 0:_a.children("article"))||void 0===_b||_b.each((index,element)=>{var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k;const post={title:(null===(_e=null===(_d=null===(_c=null===(_b=null===(_a=$(element))||void 0===_a?void 0:_a.find("a"))||void 0===_b?void 0:_b.attr("title"))||void 0===_c?void 0:_c.replace("Download",""))||void 0===_d?void 0:_d.match(/^(.*?)\s*\((\d{4})\)|^(.*?)\s*\((Season \d+)\)/))||void 0===_e?void 0:_e[0])||(null===(_h=null===(_g=null===(_f=$(element))||void 0===_f?void 0:_f.find("a"))||void 0===_g?void 0:_g.attr("title"))||void 0===_h?void 0:_h.replace("Download",""))||"",link:(null===(_k=null===(_j=$(element))||void 0===_j?void 0:_j.find("a"))||void 0===_k?void 0:_k.attr("href"))||"",image:$(element).find("a").find("img").attr("data-lazy-src")||$(element).find("a").find("img").attr("data-src")||$(element).find("a").find("img").attr("src")||""};post.image.startsWith("//")&&(post.image="https:"+post.image),posts.push(post)}),posts}catch(error){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"_ga=GA1.1.10613951.1756380104; xla=s4t; _ga_1CG5NQ0F53=GS2.1.s1756380103$o1$g1$t1756380120$j43$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0"},getPosts=_a=>__awaiter(void 0,[_a],void 0,function*({filter:filter,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts(`${yield getBaseUrl("lux")}/${filter}/page/${page}/`,signal,providerContext)});exports.getPosts=getPosts;const getSearchPosts=_a=>__awaiter(void 0,[_a],void 0,function*({searchQuery:searchQuery,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("lux");return posts(1===page?`https://c.8man.workers.dev/?url=${baseUrl}/?s=${searchQuery}`:`https://c.8man.workers.dev/?url=${baseUrl}/page/${page}/?s=${searchQuery}`,signal,providerContext)});function posts(url,signal,providerContext){return __awaiter(this,void 0,void 0,function*(){var _a,_b;try{const{axios:axios,cheerio:cheerio}=providerContext,urlRes=yield fetch(url,{headers:Object.assign(Object.assign({},headers),{Referer:url}),signal:signal}),$=cheerio.load(yield urlRes.text()),posts=[];return null===(_b=null===(_a=$(".blog-items"))||void 0===_a?void 0:_a.children("article"))||void 0===_b||_b.each((index,element)=>{var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k;const post={title:(null===(_e=null===(_d=null===(_c=null===(_b=null===(_a=$(element))||void 0===_a?void 0:_a.find("a"))||void 0===_b?void 0:_b.attr("title"))||void 0===_c?void 0:_c.replace("Download",""))||void 0===_d?void 0:_d.match(/^(.*?)\s*\((\d{4})\)|^(.*?)\s*\((Season \d+)\)/))||void 0===_e?void 0:_e[0])||(null===(_h=null===(_g=null===(_f=$(element))||void 0===_f?void 0:_f.find("a"))||void 0===_g?void 0:_g.attr("title"))||void 0===_h?void 0:_h.replace("Download",""))||"",link:(null===(_k=null===(_j=$(element))||void 0===_j?void 0:_j.find("a"))||void 0===_k?void 0:_k.attr("href"))||"",image:$(element).find("a").find("img").attr("data-lazy-src")||$(element).find("a").find("img").attr("data-src")||$(element).find("a").find("img").attr("src")||""};post.image.startsWith("//")&&(post.image="https:"+post.image),posts.push(post)}),posts}catch(error){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/luxMovies/stream.js b/dist/luxMovies/stream.js index 96e350d..adc16f9 100644 --- a/dist/luxMovies/stream.js +++ b/dist/luxMovies/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=getStream;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=6yZYfXQxBgjaD1eacR5zZCz7njssbxjtSZZCElTOGk0-1764836255-1.2.1.1-bzHvDcDRLp6AAYo7qvGVzJ6Gk6zaqAepuGiGhAWCGYL.ZDpw5yI4TkUIXDgAnEhGCZ9J5X2_OagzgeMHZrd8rzeyAFQXj0dmYMErcfII7_Rhq5kZ4kAtS0tl9PtaNKKd2m4taIufySXCCstl3iNLMODTjbsW_KZi8U8DauOdGSAhBd1DCGxvLlAOM.snfkhb0yQiVJcLW8Bv9IeKQac0ar_TKkV6QexqNZYiyRXnE7E; xla=s4t","Upgrade-Insecure-Requests":"1","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0"};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,type:type,signal:signal,providerContext:providerContext}){var _b,_c,_d,_e;const{axios:axios,cheerio:cheerio,extractors:extractors}=providerContext,{hubcloudExtracter:hubcloudExtracter}=extractors;try{const streamLinks=[];if("movie"===type){const dotlinkText=(yield axios(`${link}`,{headers:headers})).data;link=(dotlinkText.match(/=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||link:newLinkRes.url&&newLinkRes.url!==link?newLinkRes.url:newLinkRes.headers.get("location")||link,newLink.includes("googleusercontent"))newLink=newLink.split("?link=")[1];else{const newLinkRes2=yield fetch(newLink,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});newLink=newLinkRes2.status>=300&&newLinkRes2.status<400?(null===(_c=newLinkRes2.headers.get("location"))||void 0===_c?void 0:_c.split("?link=")[1])||newLink:newLinkRes2.url&&newLinkRes2.url!==newLink?newLinkRes2.url.split("?link=")[1]||newLinkRes2.url:(null===(_d=newLinkRes2.headers.get("location"))||void 0===_d?void 0:_d.split("?link=")[1])||newLink}streamLinks.push({server:"hubcloud",link:newLink,type:"mkv"})}catch(error){}break;case null==link?void 0:link.includes("cloudflarestorage"):streamLinks.push({server:"CfStorage",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("fastdl"))||(null==link?void 0:link.includes("fsl.")):streamLinks.push({server:"FastDl",link:link,type:"mkv"});break;case link.includes("hubcdn")&&!link.includes("/?id="):streamLinks.push({server:"HubCdn",link:link,type:"mkv"});break;default:if((null==link?void 0:link.includes(".mkv"))||(null==link?void 0:link.includes("?token="))){const serverName=(null===(_f=null===(_e=link.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/i))||void 0===_e?void 0:_e[1])||void 0===_f?void 0:_f.replace(/\./g," "))||"Unknown";streamLinks.push({server:serverName,link:link,type:"mkv"})}}}return streamLinks}catch(error){return[]}})}const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=6yZYfXQxBgjaD1eacR5zZCz7njssbxjtSZZCElTOGk0-1764836255-1.2.1.1-bzHvDcDRLp6AAYo7qvGVzJ6Gk6zaqAepuGiGhAWCGYL.ZDpw5yI4TkUIXDgAnEhGCZ9J5X2_OagzgeMHZrd8rzeyAFQXj0dmYMErcfII7_Rhq5kZ4kAtS0tl9PtaNKKd2m4taIufySXCCstl3iNLMODTjbsW_KZi8U8DauOdGSAhBd1DCGxvLlAOM.snfkhb0yQiVJcLW8Bv9IeKQac0ar_TKkV6QexqNZYiyRXnE7E; xla=s4t","Upgrade-Insecure-Requests":"1","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0"};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,type:type,signal:signal,providerContext:providerContext}){var _b,_c,_d,_e;const{axios:axios,cheerio:cheerio,commonHeaders:commonHeaders}=providerContext;try{const streamLinks=[];if("movie"===type){const dotlinkText=(yield axios(`${link}`,{headers:headers})).data;link=(dotlinkText.match(/{const seriesTitle=$(element).text(),episodesLink=$(element).find("a").attr("href");episodesLink&&"#"!==episodesLink&&episodeLinks.push({title:seriesTitle.trim()||"No title found",link:episodesLink||""})}),$("a.maxbutton").map((i,element)=>{const seriesTitle=$(element).children("span").text(),episodesLink=$(element).attr("href");episodesLink&&"#"!==episodesLink&&episodeLinks.push({title:seriesTitle.trim()||"No title found",link:episodesLink||""})}),episodeLinks}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){var _b;const{axios:axios,cheerio:cheerio}=providerContext;try{url.includes("url=")&&(url=atob(url.split("url=")[1]));const html=(yield axios.get(url)).data;let $=cheerio.load(html);if(url.includes("url=")){const newUrl=null===(_b=$("meta[http-equiv='refresh']").attr("content"))||void 0===_b?void 0:_b.split("url=")[1],html2=(yield axios.get(newUrl||url)).data;$=cheerio.load(html2)}const episodeLinks=[];return $("h3,h4").map((i,element)=>{const seriesTitle=$(element).text(),episodesLink=$(element).find("a").attr("href");episodesLink&&"#"!==episodesLink&&episodeLinks.push({title:seriesTitle.trim()||"No title found",link:episodesLink||""})}),$("a.maxbutton").map((i,element)=>{const seriesTitle=$(element).children("span").text(),episodesLink=$(element).attr("href");episodesLink&&"#"!==episodesLink&&episodeLinks.push({title:seriesTitle.trim()||"No title found",link:episodesLink||""})}),episodeLinks}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/mod/meta.js b/dist/mod/meta.js index feddc27..d635b03 100644 --- a/dist/mod/meta.js +++ b/dist/mod/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),meta={title:$(".imdbwp__title").text()||$("strong:contains('Full Name:')").parent().clone().children().remove().end().text().trim(),synopsis:$(".imdbwp__teaser").text()||$(".liTOue").children("p").first().text(),image:$(".imdbwp__thumb").find("img").attr("src")||$("span:contains('ScreenShots:')").parent().next("p").children("img").first().attr("src")||"",imdbId:(null===(_b=$(".imdbwp__link").attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",type:$(".thecontent").text().toLocaleLowerCase().includes("season")?"series":"movie"},links=[];return $("h3,h4").map((i,element)=>{var _a;const seriesTitle=$(element).text(),episodesLink=$(element).next("p").find(".maxbutton-episode-links,.maxbutton-g-drive,.maxbutton-af-download").attr("href"),movieLink=$(element).next("p").find(".maxbutton-download-links").attr("href");(movieLink||episodesLink&&"javascript:void(0);"!==episodesLink)&&links.push({title:seriesTitle.replace("Download ","").trim()||"Download",episodesLink:episodesLink||"",directLinks:movieLink?[{link:movieLink,title:"Movie",type:"movie"}]:[],quality:(null===(_a=null==seriesTitle?void 0:seriesTitle.match(/\d+p\b/))||void 0===_a?void 0:_a[0])||""})}),Object.assign(Object.assign({},meta),{linkList:links})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),meta={title:$(".imdbwp__title").text()||$("strong:contains('Full Name:')").parent().clone().children().remove().end().text().trim(),synopsis:$(".imdbwp__teaser").text()||$(".liTOue").children("p").first().text(),image:$(".imdbwp__thumb").find("img").attr("src")||$("span:contains('ScreenShots:')").parent().next("p").children("img").first().attr("src")||"",imdbId:(null===(_b=$(".imdbwp__link").attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",type:$(".thecontent").text().toLocaleLowerCase().includes("season")?"series":"movie"},links=[];return $("h3,h4").map((i,element)=>{var _a;const seriesTitle=$(element).text(),episodesLink=$(element).next("p").find(".maxbutton-episode-links,.maxbutton-g-drive,.maxbutton-af-download").attr("href"),movieLink=$(element).next("p").find(".maxbutton-download-links").attr("href");(movieLink||episodesLink&&"javascript:void(0);"!==episodesLink)&&links.push({title:seriesTitle.replace("Download ","").trim()||"Download",episodesLink:episodesLink||"",directLinks:movieLink?[{link:movieLink,title:"Movie",type:"movie"}]:[],quality:(null===(_a=null==seriesTitle?void 0:seriesTitle.match(/\d+p\b/))||void 0===_a?void 0:_a[0])||""})}),Object.assign(Object.assign({},meta),{linkList:links})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/mod/posts.js b/dist/mod/posts.js index cd0095f..948f6ce 100644 --- a/dist/mod/posts.js +++ b/dist/mod/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext;return posts({url:`${(yield getBaseUrl("Moviesmod"))+filter}/page/${page}/`,signal:signal,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext;return posts({url:`${yield getBaseUrl("Moviesmod")}/search/${searchQuery}/page/${page}/`,signal:signal,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data),catalog=[];return $(".post-cards").find("article").map((i,element)=>{const title=$(element).find("a").attr("title"),link=$(element).find("a").attr("href"),image=$(element).find("img").attr("src");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext;return posts({url:`${(yield getBaseUrl("Moviesmod"))+filter}/page/${page}/`,signal:signal,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext;return posts({url:`${yield getBaseUrl("Moviesmod")}/search/${searchQuery}/page/${page}/`,signal:signal,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data),catalog=[];return $(".post-cards").find("article").map((i,element)=>{const title=$(element).find("a").attr("title"),link=$(element).find("a").attr("href"),image=$(element).find("img").attr("src");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/mod/stream.js b/dist/mod/stream.js index a035eee..da682bf 100644 --- a/dist/mod/stream.js +++ b/dist/mod/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate",Cookie:"popads_user_id=6ba8fe60a481387a3249f05aa058822d","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"},getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url,type:type,providerContext:providerContext}){var _b,_c;const{axios:axios,cheerio:cheerio}=providerContext;try{const modGetEpisodeLinks=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){var _b;const{axios:axios,cheerio:cheerio}=providerContext;try{url.includes("url=")&&(url=atob(url.split("url=")[1]));const html=(yield axios.get(url)).data;let $=cheerio.load(html);if(url.includes("url=")){const newUrl=null===(_b=$("meta[http-equiv='refresh']").attr("content"))||void 0===_b?void 0:_b.split("url=")[1],html2=(yield axios.get(newUrl||url)).data;$=cheerio.load(html2)}const episodeLinks=[];return $("h3,h4").map((i,element)=>{const seriesTitle=$(element).text(),episodesLink=$(element).find("a").attr("href");episodesLink&&"#"!==episodesLink&&episodeLinks.push({title:seriesTitle.trim()||"No title found",link:episodesLink||""})}),$("a.maxbutton").map((i,element)=>{const seriesTitle=$(element).children("span").text(),episodesLink=$(element).attr("href");episodesLink&&"#"!==episodesLink&&episodeLinks.push({title:seriesTitle.trim()||"No title found",link:episodesLink||""})}),episodeLinks}catch(err){return[]}})};if("movie"===type){url=(yield modGetEpisodeLinks({url:url,providerContext:providerContext}))[0].link||url}let downloadLink=yield modExtractor(url,providerContext);const ddl=(null===(_c=null===(_b=null==downloadLink?void 0:downloadLink.data)||void 0===_b?void 0:_b.match(/content="0;url=(.*?)"/))||void 0===_c?void 0:_c[1])||url,servers=[],driveLink=yield isDriveLink(ddl),driveHtml=(yield axios.get(driveLink,{headers:headers})).data,$drive=cheerio.load(driveHtml);try{const resumeBot=$drive(".btn.btn-light").attr("href")||"",resumeBotRes=yield axios.get(resumeBot,{headers:headers}),resumeBotToken=resumeBotRes.data.match(/formData\.append\('token', '([a-f0-9]+)'\)/)[1],resumeBotBody=new FormData;resumeBotBody.append("token",resumeBotToken);const resumeBotPath=resumeBotRes.data.match(/fetch\('\/download\?id=([a-zA-Z0-9\/+]+)'/)[1],resumeBotBaseUrl=resumeBot.split("/download")[0],resumeBotDownload=yield fetch(resumeBotBaseUrl+"/download?id="+resumeBotPath,{method:"POST",body:resumeBotBody,headers:{Referer:resumeBot,Cookie:"PHPSESSID=7e9658ce7c805dab5bbcea9046f7f308"}}),resumeBotDownloadData=yield resumeBotDownload.json();servers.push({server:"ResumeBot",link:resumeBotDownloadData.url,type:"mkv"})}catch(err){}try{$drive(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&servers.push({server:"Resume Worker "+(i+1),link:link,type:"mkv"})})}catch(err){}try{const cfWorkersLink=driveLink.replace("/file","/wfile")+"?type=1",cfWorkersHtml=(yield axios.get(cfWorkersLink,{headers:headers})).data,$cfWorkers=cheerio.load(cfWorkersHtml);$cfWorkers(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&servers.push({server:"Cf Worker 1."+i,link:link,type:"mkv"})})}catch(err){}try{const cfWorkersLink=driveLink.replace("/file","/wfile")+"?type=2",cfWorkersHtml=(yield axios.get(cfWorkersLink,{headers:headers})).data,$cfWorkers=cheerio.load(cfWorkersHtml);$cfWorkers(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&servers.push({server:"Cf Worker 2."+i,link:link,type:"mkv"})})}catch(err){}try{const seed=$drive(".btn-danger").attr("href")||"",newLinkRes=yield fetch(seed,{method:"HEAD",headers:headers,redirect:"manual"});let newLink=seed;newLink=newLinkRes.status>=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||seed:newLinkRes.url&&newLinkRes.url!==seed?newLinkRes.url||newLinkRes.url:newLinkRes.headers.get("location")||seed,servers.push({server:"Gdrive-Instant-2",link:(null==newLink?void 0:newLink.split("?url=")[1])||newLink,type:"mkv"})}catch(err){}return servers}catch(err){return[]}})};exports.getStream=getStream;const isDriveLink=ddl=>__awaiter(void 0,void 0,void 0,function*(){if(ddl.includes("drive")){const driveLeach=yield fetch(ddl),pathMatch=(yield driveLeach.text()).match(/window\.location\.replace\("([^"]+)"\)/),path=null==pathMatch?void 0:pathMatch[1];return`https://${ddl.split("/")[2]}${path}`}return ddl});function modExtractor(url,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios,cheerio:cheerio}=providerContext;try{const wpHttp=url.split("sid=")[1];var bodyFormData0=new FormData;bodyFormData0.append("_wp_http",wpHttp);const res=yield fetch(url.split("?")[0],{method:"POST",body:bodyFormData0}),html=yield res.text(),$=cheerio.load(html),wpHttp2=$("input").attr("name","_wp_http2").val();var bodyFormData=new FormData;bodyFormData.append("_wp_http2",wpHttp2);const formUrl=$("form").attr("action")||url.split("?")[0],res2=yield fetch(formUrl,{method:"POST",body:bodyFormData}),link=(yield res2.text()).match(/setAttribute\("href",\s*"(.*?)"/)[1],cookie=link.split("=")[1];return yield axios.get(link,{headers:{Referer:formUrl,Cookie:`${cookie}=${wpHttp2}`}})}catch(err){}})} \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate",Cookie:"popads_user_id=6ba8fe60a481387a3249f05aa058822d","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"},getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url,type:type,providerContext:providerContext}){var _b,_c;const{axios:axios,cheerio:cheerio}=providerContext;try{const modGetEpisodeLinks=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){var _b;const{axios:axios,cheerio:cheerio}=providerContext;try{url.includes("url=")&&(url=atob(url.split("url=")[1]));const html=(yield axios.get(url)).data;let $=cheerio.load(html);if(url.includes("url=")){const newUrl=null===(_b=$("meta[http-equiv='refresh']").attr("content"))||void 0===_b?void 0:_b.split("url=")[1],html2=(yield axios.get(newUrl||url)).data;$=cheerio.load(html2)}const episodeLinks=[];return $("h3,h4").map((i,element)=>{const seriesTitle=$(element).text(),episodesLink=$(element).find("a").attr("href");episodesLink&&"#"!==episodesLink&&episodeLinks.push({title:seriesTitle.trim()||"No title found",link:episodesLink||""})}),$("a.maxbutton").map((i,element)=>{const seriesTitle=$(element).children("span").text(),episodesLink=$(element).attr("href");episodesLink&&"#"!==episodesLink&&episodeLinks.push({title:seriesTitle.trim()||"No title found",link:episodesLink||""})}),episodeLinks}catch(err){return[]}})};if("movie"===type){url=(yield modGetEpisodeLinks({url:url,providerContext:providerContext}))[0].link||url}let downloadLink=yield modExtractor(url,providerContext);const ddl=(null===(_c=null===(_b=null==downloadLink?void 0:downloadLink.data)||void 0===_b?void 0:_b.match(/content="0;url=(.*?)"/))||void 0===_c?void 0:_c[1])||url,servers=[],driveLink=yield isDriveLink(ddl),driveHtml=(yield axios.get(driveLink,{headers:headers})).data,$drive=cheerio.load(driveHtml);try{const resumeBot=$drive(".btn.btn-light").attr("href")||"",resumeBotRes=yield axios.get(resumeBot,{headers:headers}),resumeBotToken=resumeBotRes.data.match(/formData\.append\('token', '([a-f0-9]+)'\)/)[1],resumeBotBody=new FormData;resumeBotBody.append("token",resumeBotToken);const resumeBotPath=resumeBotRes.data.match(/fetch\('\/download\?id=([a-zA-Z0-9\/+]+)'/)[1],resumeBotBaseUrl=resumeBot.split("/download")[0],resumeBotDownload=yield fetch(resumeBotBaseUrl+"/download?id="+resumeBotPath,{method:"POST",body:resumeBotBody,headers:{Referer:resumeBot,Cookie:"PHPSESSID=7e9658ce7c805dab5bbcea9046f7f308"}}),resumeBotDownloadData=yield resumeBotDownload.json();servers.push({server:"ResumeBot",link:resumeBotDownloadData.url,type:"mkv"})}catch(err){}try{$drive(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&servers.push({server:"Resume Worker "+(i+1),link:link,type:"mkv"})})}catch(err){}try{const cfWorkersLink=driveLink.replace("/file","/wfile")+"?type=1",cfWorkersHtml=(yield axios.get(cfWorkersLink,{headers:headers})).data,$cfWorkers=cheerio.load(cfWorkersHtml);$cfWorkers(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&servers.push({server:"Cf Worker 1."+i,link:link,type:"mkv"})})}catch(err){}try{const cfWorkersLink=driveLink.replace("/file","/wfile")+"?type=2",cfWorkersHtml=(yield axios.get(cfWorkersLink,{headers:headers})).data,$cfWorkers=cheerio.load(cfWorkersHtml);$cfWorkers(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&servers.push({server:"Cf Worker 2."+i,link:link,type:"mkv"})})}catch(err){}try{const seed=$drive(".btn-danger").attr("href")||"",newLinkRes=yield fetch(seed,{method:"HEAD",headers:headers,redirect:"manual"});let newLink=seed;newLink=newLinkRes.status>=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||seed:newLinkRes.url&&newLinkRes.url!==seed?newLinkRes.url||newLinkRes.url:newLinkRes.headers.get("location")||seed,servers.push({server:"Gdrive-Instant-2",link:(null==newLink?void 0:newLink.split("?url=")[1])||newLink,type:"mkv"})}catch(err){}return servers}catch(err){return[]}})};exports.getStream=getStream;const isDriveLink=ddl=>__awaiter(void 0,void 0,void 0,function*(){if(ddl.includes("drive")){const driveLeach=yield fetch(ddl),pathMatch=(yield driveLeach.text()).match(/window\.location\.replace\("([^"]+)"\)/),path=null==pathMatch?void 0:pathMatch[1];return`https://${ddl.split("/")[2]}${path}`}return ddl});function modExtractor(url,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios,cheerio:cheerio}=providerContext;try{const wpHttp=url.split("sid=")[1];var bodyFormData0=new FormData;bodyFormData0.append("_wp_http",wpHttp);const res=yield fetch(url.split("?")[0],{method:"POST",body:bodyFormData0}),html=yield res.text(),$=cheerio.load(html),wpHttp2=$("input").attr("name","_wp_http2").val();var bodyFormData=new FormData;bodyFormData.append("_wp_http2",wpHttp2);const formUrl=$("form").attr("action")||url.split("?")[0],res2=yield fetch(formUrl,{method:"POST",body:bodyFormData}),link=(yield res2.text()).match(/setAttribute\("href",\s*"(.*?)"/)[1],cookie=link.split("=")[1];return yield axios.get(link,{headers:{Referer:formUrl,Cookie:`${cookie}=${wpHttp2}`}})}catch(err){}})} \ No newline at end of file diff --git a/dist/movieBox/catalog.js b/dist/movieBox/catalog.js index 261d14b..c3daa0d 100644 --- a/dist/movieBox/catalog.js +++ b/dist/movieBox/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Trending",filter:"2"},{title:"Cinema",filter:"5"}],exports.genres=[]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Trending",filter:"2"},{title:"Cinema",filter:"5"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/movieBox/episodes.js b/dist/movieBox/episodes.js index f85d031..bb0d25e 100644 --- a/dist/movieBox/episodes.js +++ b/dist/movieBox/episodes.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){var _b;const{axios:axios,cheerio:cheerio}=providerContext;try{const episodeLinks=[],response=yield fetch("https://dob-worker.8man.workers.dev",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:url,method:"GET"})}),data=yield response.json();return((null===(_b=null==data?void 0:data.data)||void 0===_b?void 0:_b.list)||[]).forEach(item=>{const seriesTitle=(null==item?void 0:item.ep)?`S-${null==item?void 0:item.se} E-${null==item?void 0:item.ep}`:(null==item?void 0:item.title)||"",episodesLink=(null==item?void 0:item.resourceLink)||"";episodesLink&&episodeLinks.push({title:seriesTitle.trim(),link:JSON.stringify({url:episodesLink,title:seriesTitle.trim()})})}),episodeLinks}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){var _b;const{axios:axios,cheerio:cheerio}=providerContext;try{const episodeLinks=[],response=yield fetch("https://dob-worker.8man.workers.dev",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:url,method:"GET"})}),data=yield response.json();return((null===(_b=null==data?void 0:data.data)||void 0===_b?void 0:_b.list)||[]).forEach(item=>{const seriesTitle=(null==item?void 0:item.ep)?`S-${null==item?void 0:item.se} E-${null==item?void 0:item.ep}`:(null==item?void 0:item.title)||"",episodesLink=(null==item?void 0:item.resourceLink)||"";episodesLink&&episodeLinks.push({title:seriesTitle.trim(),link:JSON.stringify({url:episodesLink,title:seriesTitle.trim()})})}),episodeLinks}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/movieBox/meta.js b/dist/movieBox/meta.js index 7c8f083..e20233a 100644 --- a/dist/movieBox/meta.js +++ b/dist/movieBox/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d;try{const{axios:axios,cheerio:cheerio,getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("movieBox"),links=[],response=yield fetch("https://dob-worker.8man.workers.dev",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:link,method:"GET"})}),data=(yield response.json()).data,title=((null==data?void 0:data.title)||"").replace(/\s*\[.*?\]\s*$/,""),synopsis=(null==data?void 0:data.description)||"",image=(null===(_b=null==data?void 0:data.cover)||void 0===_b?void 0:_b.url)||"",rating=(null==data?void 0:data.imdbRatingValue)||"",tags=(null===(_d=null===(_c=null==data?void 0:data.genre)||void 0===_c?void 0:_c.split(","))||void 0===_d?void 0:_d.map(tag=>tag.trim()))||[],dubs=(null==data?void 0:data.dubs)||[];return null==dubs||dubs.forEach(dub=>{const link={title:null==dub?void 0:dub.lanName,episodesLink:`${baseUrl}/wefeed-mobile-bff/subject-api/resource?subjectId=${null==dub?void 0:dub.subjectId}&page=1&perPage=20&all=0&startPosition=1&endPosition=1&pagerMode=0&resolution=1080&se=1&epFrom=1&epTo=1`};links.push(link)}),{title:title,synopsis:synopsis,image:image,rating:rating,tags:tags,imdbId:"",type:"movie",linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d;try{const{axios:axios,cheerio:cheerio,getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("movieBox"),links=[],response=yield fetch("https://dob-worker.8man.workers.dev",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:link,method:"GET"})}),data=(yield response.json()).data,title=((null==data?void 0:data.title)||"").replace(/\s*\[.*?\]\s*$/,""),synopsis=(null==data?void 0:data.description)||"",image=(null===(_b=null==data?void 0:data.cover)||void 0===_b?void 0:_b.url)||"",rating=(null==data?void 0:data.imdbRatingValue)||"",tags=(null===(_d=null===(_c=null==data?void 0:data.genre)||void 0===_c?void 0:_c.split(","))||void 0===_d?void 0:_d.map(tag=>tag.trim()))||[],dubs=(null==data?void 0:data.dubs)||[];return null==dubs||dubs.forEach(dub=>{const link={title:null==dub?void 0:dub.lanName,episodesLink:`${baseUrl}/wefeed-mobile-bff/subject-api/resource?subjectId=${null==dub?void 0:dub.subjectId}&page=1&perPage=20&all=0&startPosition=1&endPosition=1&pagerMode=0&resolution=1080&se=1&epFrom=1&epTo=1`};links.push(link)}),{title:title,synopsis:synopsis,image:image,rating:rating,tags:tags,imdbId:"",type:"movie",linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/movieBox/posts.js b/dist/movieBox/posts.js index 0b216ed..2045e1a 100644 --- a/dist/movieBox/posts.js +++ b/dist/movieBox/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){var _b,_c,_d,_e;const posts=[],{getBaseUrl:getBaseUrl}=providerContext;if(page>1)return posts;const baseUrl=yield getBaseUrl("movieBox"),url=`${baseUrl}/wefeed-mobile-bff/tab-operating?page=3&tabId=0&version=2fe0d7c224603ff7b0df294b46d3b84b`,response=yield fetch("https://dob-worker.8man.workers.dev",{signal:signal,method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:url,method:"GET"})}),data=yield response.json(),list=null===(_d=null===(_c=null===(_b=null==data?void 0:data.data)||void 0===_b?void 0:_b.items)||void 0===_c?void 0:_c[parseInt(filter)])||void 0===_d?void 0:_d.subjects;for(const item of list){const post={image:null==item?void 0:item.cover.url,title:null===(_e=null==item?void 0:item.title)||void 0===_e?void 0:_e.replace(/\s*\[.*?\]\s*$/,""),link:`${baseUrl}/wefeed-mobile-bff/subject-api/get?subjectId=${null==item?void 0:item.subjectId}`};posts.push(post)}return posts})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){var _b,_c,_d;const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("movieBox"),url=`${baseUrl}/wefeed-mobile-bff/subject-api/search/v2`;if(page>1)return[];const response=yield fetch("https://dob-worker.8man.workers.dev",{signal:signal,method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:url,method:"POST",body:{page:1,perPage:20,keyword:searchQuery,tabId:"Movie"}})}),data=yield response.json(),posts=((null===(_d=null===(_c=null===(_b=null==data?void 0:data.data)||void 0===_b?void 0:_b.results)||void 0===_c?void 0:_c[0])||void 0===_d?void 0:_d.subjects)||[]).map(item=>{var _a;return{image:null===(_a=null==item?void 0:item.cover)||void 0===_a?void 0:_a.url,title:null==item?void 0:item.title,link:`${baseUrl}/wefeed-mobile-bff/subject-api/get?subjectId=${null==item?void 0:item.subjectId}`}});return posts})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){var _b,_c,_d,_e;const posts=[],{getBaseUrl:getBaseUrl}=providerContext;if(page>1)return posts;const baseUrl=yield getBaseUrl("movieBox"),url=`${baseUrl}/wefeed-mobile-bff/tab-operating?page=3&tabId=0&version=2fe0d7c224603ff7b0df294b46d3b84b`,response=yield fetch("https://dob-worker.8man.workers.dev",{signal:signal,method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:url,method:"GET"})}),data=yield response.json(),list=null===(_d=null===(_c=null===(_b=null==data?void 0:data.data)||void 0===_b?void 0:_b.items)||void 0===_c?void 0:_c[parseInt(filter)])||void 0===_d?void 0:_d.subjects;for(const item of list){const post={image:null==item?void 0:item.cover.url,title:null===(_e=null==item?void 0:item.title)||void 0===_e?void 0:_e.replace(/\s*\[.*?\]\s*$/,""),link:`${baseUrl}/wefeed-mobile-bff/subject-api/get?subjectId=${null==item?void 0:item.subjectId}`};posts.push(post)}return posts})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){var _b,_c,_d;const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("movieBox"),url=`${baseUrl}/wefeed-mobile-bff/subject-api/search/v2`;if(page>1)return[];const response=yield fetch("https://dob-worker.8man.workers.dev",{signal:signal,method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:url,method:"POST",body:{page:1,perPage:20,keyword:searchQuery,tabId:"Movie"}})}),data=yield response.json(),posts=((null===(_d=null===(_c=null===(_b=null==data?void 0:data.data)||void 0===_b?void 0:_b.results)||void 0===_c?void 0:_c[0])||void 0===_d?void 0:_d.subjects)||[]).map(item=>{var _a;return{image:null===(_a=null==item?void 0:item.cover)||void 0===_a?void 0:_a.url,title:null==item?void 0:item.title,link:`${baseUrl}/wefeed-mobile-bff/subject-api/get?subjectId=${null==item?void 0:item.subjectId}`}});return posts})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/movieBox/stream.js b/dist/movieBox/stream.js index 6a6299a..646e7b8 100644 --- a/dist/movieBox/stream.js +++ b/dist/movieBox/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url,type:type,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext;try{const stream=[],data=JSON.parse(url);return stream.push({link:data.url,server:data.title||"Unknown Server",type:"mp4"}),stream}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url,type:type,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext;try{const stream=[],data=JSON.parse(url);return stream.push({link:data.url,server:data.title||"Unknown Server",type:"mp4"}),stream}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/movies4u/catalog.js b/dist/movies4u/catalog.js index 2ae3d49..72f4a5b 100644 --- a/dist/movies4u/catalog.js +++ b/dist/movies4u/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.catalog=void 0,exports.catalog=[{title:"Trending",filter:""},{title:"Anime",filter:"/category/anime/"}]; \ No newline at end of file +exports.catalog=void 0,exports.catalog=[{title:"Trending",filter:""},{title:"Anime",filter:"/category/anime/"}]; \ No newline at end of file diff --git a/dist/movies4u/episodes.js b/dist/movies4u/episodes.js index 96a4628..249c116 100644 --- a/dist/movies4u/episodes.js +++ b/dist/movies4u/episodes.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;try{const res=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{cookie:"ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=Zl2yiOCN3pzGUd0Bgs.VyBXniJooDbG2Tk1g7DEoRnw-1756381111-1.2.1.1-RVPZoWGCAygGNAHavrVR0YaqASWZlJyYff8A.oQfPB5qbcPrAVud42BzsSwcDgiKAP0gw5D92V3o8XWwLwDRNhyg3DuL1P8wh2K4BCVKxWvcy.iCCxczKtJ8QSUAsAQqsIzRWXk29N6X.kjxuOTYlfB2jrlq12TRDld_zTbsskNcTxaA.XQekUcpGLseYqELuvlNOQU568NZD6LiLn3ICyFThMFAx6mIcgXkxVAvnxU; xla=s4t"})}),$=cheerio.load(res.data),container=$(".entry-content,.entry-inner, .download-links-div");$(".unili-content,.code-block-1").remove();const episodes=[];return container.find("h5").each((index,element)=>{const el=$(element),title=el.text().trim(),hubCloudLink=el.next(".downloads-btns-div").find('a[style*="background: linear-gradient(135deg,#e629d0,#007bff);"]').attr("href");if(title&&hubCloudLink){const cleanedTitle=title.replace(/[-:]/g,"").trim();episodes.push({title:cleanedTitle,link:hubCloudLink})}}),episodes}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;try{const res=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{cookie:"ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=Zl2yiOCN3pzGUd0Bgs.VyBXniJooDbG2Tk1g7DEoRnw-1756381111-1.2.1.1-RVPZoWGCAygGNAHavrVR0YaqASWZlJyYff8A.oQfPB5qbcPrAVud42BzsSwcDgiKAP0gw5D92V3o8XWwLwDRNhyg3DuL1P8wh2K4BCVKxWvcy.iCCxczKtJ8QSUAsAQqsIzRWXk29N6X.kjxuOTYlfB2jrlq12TRDld_zTbsskNcTxaA.XQekUcpGLseYqELuvlNOQU568NZD6LiLn3ICyFThMFAx6mIcgXkxVAvnxU; xla=s4t"})}),$=cheerio.load(res.data),container=$(".entry-content,.entry-inner, .download-links-div");$(".unili-content,.code-block-1").remove();const episodes=[];return container.find("h5").each((index,element)=>{const el=$(element),title=el.text().trim(),hubCloudLink=el.next(".downloads-btns-div").find('a[style*="background: linear-gradient(135deg,#e629d0,#007bff);"]').attr("href");if(title&&hubCloudLink){const cleanedTitle=title.replace(/[-:]/g,"").trim();episodes.push({title:cleanedTitle,link:hubCloudLink})}}),episodes}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/movies4u/meta.js b/dist/movies4u/meta.js index 8fd4dbd..6be2c01 100644 --- a/dist/movies4u/meta.js +++ b/dist/movies4u/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c;const{axios:axios,cheerio:cheerio}=providerContext,url=link,baseUrl=url.split("/").slice(0,3).join("/"),emptyResult={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]};try{const response=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{Referer:baseUrl})}),$=cheerio.load(response.data),infoContainer=$(".entry-content, .post-inner").length?$(".entry-content, .post-inner"):$("body"),result={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]},infoParagraph=$("h2.movie-title").next("p").text();infoParagraph.includes("Season:")||infoParagraph.includes("Episode:")||infoParagraph.includes("SHOW Name:")?result.type="series":result.type="movie";const rawTitle=$("h1").text().trim()||$("h2").text().trim();result.title=rawTitle.split(/\[| \d+p| x\d+/)[0].trim();const showNameMatch=infoParagraph.match(/SHOW Name: (.+)/)||infoParagraph.match(/Name: (.+)/);showNameMatch&&showNameMatch[1]&&(result.title=result.title||showNameMatch[1].trim());const imdbMatch=(null===(_b=infoContainer.html())||void 0===_b?void 0:_b.match(/tt\d+/))||(null===(_c=$("a[href*='imdb.com/title/']").attr("href"))||void 0===_c?void 0:_c.match(/tt\d+/));result.imdbId=imdbMatch?imdbMatch[0]:"";let image=infoContainer.find(".post-thumbnail img").attr("src")||infoContainer.find("img[src]").first().attr("src")||"";image.startsWith("//")?image="https:"+image:image.startsWith("/")&&(image=baseUrl+image),(image.includes("no-thumbnail")||image.includes("placeholder"))&&(image=""),result.image=image,result.synopsis=$("h3.movie-title").filter((i,el)=>$(el).text().includes("Storyline")).next("p").text().trim()||infoContainer.find("p").first().text().trim()||"";const links=[];return $(".download-links-div").find("> h4").each((index,element)=>{var _a;const el=$(element),titleText=el.text().trim(),qualityMatch=null===(_a=titleText.match(/\d+p\b/))||void 0===_a?void 0:_a[0],fullTitle=titleText,downloadButtons=el.next(".downloads-btns-div").find("a");if(downloadButtons.length&&qualityMatch)if("series"===result.type)links.push({title:fullTitle,quality:qualityMatch,episodesLink:downloadButtons.attr("href")||"",directLinks:[]});else{const directLinks=[];downloadButtons.each((i,btn)=>{const btnEl=$(btn),link=btnEl.attr("href");link&&directLinks.push({title:btnEl.text().trim()||"Download",link:link,type:"movie"})}),directLinks.length&&links.push({title:fullTitle,quality:qualityMatch,episodesLink:"",directLinks:directLinks})}}),result.linkList=links,result}catch(err){return emptyResult}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c;const{axios:axios,cheerio:cheerio}=providerContext,url=link,baseUrl=url.split("/").slice(0,3).join("/"),emptyResult={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]};try{const response=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{Referer:baseUrl})}),$=cheerio.load(response.data),infoContainer=$(".entry-content, .post-inner").length?$(".entry-content, .post-inner"):$("body"),result={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]},infoParagraph=$("h2.movie-title").next("p").text();infoParagraph.includes("Season:")||infoParagraph.includes("Episode:")||infoParagraph.includes("SHOW Name:")?result.type="series":result.type="movie";const rawTitle=$("h1").text().trim()||$("h2").text().trim();result.title=rawTitle.split(/\[| \d+p| x\d+/)[0].trim();const showNameMatch=infoParagraph.match(/SHOW Name: (.+)/)||infoParagraph.match(/Name: (.+)/);showNameMatch&&showNameMatch[1]&&(result.title=result.title||showNameMatch[1].trim());const imdbMatch=(null===(_b=infoContainer.html())||void 0===_b?void 0:_b.match(/tt\d+/))||(null===(_c=$("a[href*='imdb.com/title/']").attr("href"))||void 0===_c?void 0:_c.match(/tt\d+/));result.imdbId=imdbMatch?imdbMatch[0]:"";let image=infoContainer.find(".post-thumbnail img").attr("src")||infoContainer.find("img[src]").first().attr("src")||"";image.startsWith("//")?image="https:"+image:image.startsWith("/")&&(image=baseUrl+image),(image.includes("no-thumbnail")||image.includes("placeholder"))&&(image=""),result.image=image,result.synopsis=$("h3.movie-title").filter((i,el)=>$(el).text().includes("Storyline")).next("p").text().trim()||infoContainer.find("p").first().text().trim()||"";const links=[];return $(".download-links-div").find("> h4").each((index,element)=>{var _a;const el=$(element),titleText=el.text().trim(),qualityMatch=null===(_a=titleText.match(/\d+p\b/))||void 0===_a?void 0:_a[0],fullTitle=titleText,downloadButtons=el.next(".downloads-btns-div").find("a");if(downloadButtons.length&&qualityMatch)if("series"===result.type)links.push({title:fullTitle,quality:qualityMatch,episodesLink:downloadButtons.attr("href")||"",directLinks:[]});else{const directLinks=[];downloadButtons.each((i,btn)=>{const btnEl=$(btn),link=btnEl.attr("href");link&&directLinks.push({title:btnEl.text().trim()||"Download",link:link,type:"movie"})}),directLinks.length&&links.push({title:fullTitle,quality:qualityMatch,episodesLink:"",directLinks:directLinks})}}),result.linkList=links,result}catch(err){return emptyResult}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/movies4u/posts.js b/dist/movies4u/posts.js index 2321396..86c4e32 100644 --- a/dist/movies4u/posts.js +++ b/dist/movies4u/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getPosts=getPosts,exports.getSearchPosts=getSearchPosts;const defaultHeaders={Referer:"https://www.google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language":"en-US,en;q=0.9",Pragma:"no-cache","Cache-Control":"no-cache"};function getPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:filter,page:page,query:"",signal:signal,providerContext:providerContext})})}function getSearchPosts(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:"",page:page,query:searchQuery,signal:signal,providerContext:providerContext})})}function fetchPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,query:query,page:page=1,signal:signal,providerContext:providerContext}){try{const baseUrl=yield providerContext.getBaseUrl("movies4u");let url;url=query&&query.trim()?`${baseUrl}/?s=${encodeURIComponent(query)}${page>1?`&paged=${page}`:""}`:filter?filter.startsWith("/")?`${baseUrl}${filter.replace(/\/$/,"")}${page>1?`/page/${page}`:""}`:`${baseUrl}/${filter}${page>1?`/page/${page}`:""}`:`${baseUrl}${page>1?`/page/${page}`:""}`;const{axios:axios,cheerio:cheerio}=providerContext,res=yield axios.get(url,{headers:defaultHeaders,signal:signal}),$=cheerio.load(res.data||""),resolveUrl=href=>(null==href?void 0:href.startsWith("http"))?href:new URL(href,url).href,seen=new Set,catalog=[],POST_SELECTORS=[".pstr_box","article",".result-item",".post",".item",".thumbnail",".latest-movies",".movie-item"].join(",");return $(POST_SELECTORS).each((_,el)=>{var _a;const card=$(el);let link=card.find("a[href]").first().attr("href")||"";if(!link)return;if(link=resolveUrl(link),seen.has(link))return;let title=card.find("h2").first().text().trim()||(null===(_a=card.find("a[title]").first().attr("title"))||void 0===_a?void 0:_a.trim())||card.text().trim();if(title=title.replace(/\[.*?\]/g,"").replace(/\(.+?\)/g,"").replace(/\s{2,}/g," ").trim(),!title)return;const img=card.find("img").first().attr("src")||card.find("img").first().attr("data-src")||card.find("img").first().attr("data-original")||"",image=img?resolveUrl(img):"";seen.add(link),catalog.push({title:title,link:link,image:image})}),catalog.slice(0,100)}catch(err){return[]}})} \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getPosts=getPosts,exports.getSearchPosts=getSearchPosts;const defaultHeaders={Referer:"https://www.google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language":"en-US,en;q=0.9",Pragma:"no-cache","Cache-Control":"no-cache"};function getPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:filter,page:page,query:"",signal:signal,providerContext:providerContext})})}function getSearchPosts(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:"",page:page,query:searchQuery,signal:signal,providerContext:providerContext})})}function fetchPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,query:query,page:page=1,signal:signal,providerContext:providerContext}){try{const baseUrl=yield providerContext.getBaseUrl("movies4u");let url;url=query&&query.trim()?`${baseUrl}/?s=${encodeURIComponent(query)}${page>1?`&paged=${page}`:""}`:filter?filter.startsWith("/")?`${baseUrl}${filter.replace(/\/$/,"")}${page>1?`/page/${page}`:""}`:`${baseUrl}/${filter}${page>1?`/page/${page}`:""}`:`${baseUrl}${page>1?`/page/${page}`:""}`;const{axios:axios,cheerio:cheerio}=providerContext,res=yield axios.get(url,{headers:defaultHeaders,signal:signal}),$=cheerio.load(res.data||""),resolveUrl=href=>(null==href?void 0:href.startsWith("http"))?href:new URL(href,url).href,seen=new Set,catalog=[],POST_SELECTORS=[".pstr_box","article",".result-item",".post",".item",".thumbnail",".latest-movies",".movie-item"].join(",");return $(POST_SELECTORS).each((_,el)=>{var _a;const card=$(el);let link=card.find("a[href]").first().attr("href")||"";if(!link)return;if(link=resolveUrl(link),seen.has(link))return;let title=card.find("h2").first().text().trim()||(null===(_a=card.find("a[title]").first().attr("title"))||void 0===_a?void 0:_a.trim())||card.text().trim();if(title=title.replace(/\[.*?\]/g,"").replace(/\(.+?\)/g,"").replace(/\s{2,}/g," ").trim(),!title)return;const img=card.find("img").first().attr("src")||card.find("img").first().attr("data-src")||card.find("img").first().attr("data-original")||"",image=img?resolveUrl(img):"";seen.add(link),catalog.push({title:title,link:link,image:image})}),catalog.slice(0,100)}catch(err){return[]}})} \ No newline at end of file diff --git a/dist/movies4u/stream.js b/dist/movies4u/stream.js index 9e55d9e..67a1f77 100644 --- a/dist/movies4u/stream.js +++ b/dist/movies4u/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=getStream;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,type:type,signal:signal,providerContext:providerContext}){var _b,_c,_d,_e;const{axios:axios,cheerio:cheerio,extractors:extractors}=providerContext,{hubcloudExtracter:hubcloudExtracter}=extractors;try{const streamLinks=[];if("movie"===type){const dotlinkText=(yield axios(`${link}`,{headers:headers})).data;link=(dotlinkText.match(/=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||link:newLinkRes.url&&newLinkRes.url!==link?newLinkRes.url:newLinkRes.headers.get("location")||link,newLink.includes("googleusercontent"))newLink=newLink.split("?link=")[1];else{const newLinkRes2=yield fetch(newLink,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});newLink=newLinkRes2.status>=300&&newLinkRes2.status<400?(null===(_c=newLinkRes2.headers.get("location"))||void 0===_c?void 0:_c.split("?link=")[1])||newLink:newLinkRes2.url&&newLinkRes2.url!==newLink?newLinkRes2.url.split("?link=")[1]||newLinkRes2.url:(null===(_d=newLinkRes2.headers.get("location"))||void 0===_d?void 0:_d.split("?link=")[1])||newLink}streamLinks.push({server:"hubcloud",link:newLink,type:"mkv"})}catch(error){}break;case null==link?void 0:link.includes("cloudflarestorage"):streamLinks.push({server:"CfStorage",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("fastdl"))||(null==link?void 0:link.includes("fsl.")):streamLinks.push({server:"FastDl",link:link,type:"mkv"});break;case link.includes("hubcdn")&&!link.includes("/?id="):streamLinks.push({server:"HubCdn",link:link,type:"mkv"});break;default:if((null==link?void 0:link.includes(".mkv"))||(null==link?void 0:link.includes("?token="))){const serverName=(null===(_f=null===(_e=link.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/i))||void 0===_e?void 0:_e[1])||void 0===_f?void 0:_f.replace(/\./g," "))||"Unknown";streamLinks.push({server:serverName,link:link,type:"mkv"})}}}return streamLinks}catch(error){return[]}})}const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,type:type,signal:signal,providerContext:providerContext}){var _b,_c,_d,_e;const{axios:axios,cheerio:cheerio,commonHeaders:commonHeaders}=providerContext;try{const streamLinks=[];if("movie"===type){const dotlinkText=(yield axios(`${link}`,{headers:headers})).data;link=(dotlinkText.match(/{var _a;return{title:(null==sub?void 0:sub.label)||"Unknown",language:null==sub?void 0:sub.label,type:(null===(_a=null==sub?void 0:sub.file)||void 0===_a?void 0:_a.includes(".vtt"))?"text/vtt":"application/x-subrip",uri:null==sub?void 0:sub.file}});streams.push({server:"vidstreaming ",type:"m3u8",subtitles:subtitle,link:null==finalData?void 0:finalData.videoUrl,headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0",Referer:baseUrl,Origin:baseUrl,Accept:"*/*","Accept-Language":"en-US,en;q=0.5","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"cross-site",Pragma:"no-cache","Cache-Control":"no-cache"}})}return streams}catch(err){return[]}})};exports.mpGetStream=mpGetStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.mpGetStream=void 0;const mpGetStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,type:type,providerContext:providerContext}){var _b,_c;try{const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext,streams=[],{season:season,episode:episode,tmdbId:tmdbId}=JSON.parse(id),baseUrl=yield getBaseUrl("moviesapi"),link="movie"===type?`${baseUrl}/movie/${tmdbId}`:`${baseUrl}/tv/${tmdbId}-${season}-${episode}`,res=yield fetch(link,{headers:{referer:baseUrl}}),baseData=yield res.text(),embededUrl=cheerio.load(baseData)("iframe").attr("src")||"",response=yield fetch(embededUrl,{credentials:"omit",headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8","Accept-Language":"en-US,en;q=0.5","Alt-Used":"w1.moviesapi.club","Upgrade-Insecure-Requests":"1","Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Pragma:"no-cache","Cache-Control":"no-cache",referer:baseUrl},referrer:baseUrl,method:"GET",mode:"cors"}),contents=(null===(_b=(yield response.text()).match(/const\s+Encrypted\s*=\s*['"]({.*})['"]/))||void 0===_b?void 0:_b[1])||"";if(embededUrl){const res2=yield fetch("https://ext.8man.me/api/decrypt?passphrase==JV[t}{trEV=Ilh5",{method:"POST",body:contents}),finalData=yield res2.json(),subtitle=null===(_c=null==finalData?void 0:finalData.subtitles)||void 0===_c?void 0:_c.map(sub=>{var _a;return{title:(null==sub?void 0:sub.label)||"Unknown",language:null==sub?void 0:sub.label,type:(null===(_a=null==sub?void 0:sub.file)||void 0===_a?void 0:_a.includes(".vtt"))?"text/vtt":"application/x-subrip",uri:null==sub?void 0:sub.file}});streams.push({server:"vidstreaming ",type:"m3u8",subtitles:subtitle,link:null==finalData?void 0:finalData.videoUrl,headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0",Referer:baseUrl,Origin:baseUrl,Accept:"*/*","Accept-Language":"en-US,en;q=0.5","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"cross-site",Pragma:"no-cache","Cache-Control":"no-cache"}})}return streams}catch(err){return[]}})};exports.mpGetStream=mpGetStream; \ No newline at end of file diff --git a/dist/moviezwap/catalog.js b/dist/moviezwap/catalog.js index 026bec3..6a2ffd4 100644 --- a/dist/moviezwap/catalog.js +++ b/dist/moviezwap/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Telugu Movies",filter:"/category/Telugu-(2025)-Movies.html"},{title:"Tamil Movies",filter:"/category/Tamil-(2025)-Movies.html"},{title:"Hollywood Telugu Dubbed",filter:"/category/Telugu-Dubbed-Hollywood-Movies-Complete-Set.html"},{title:"Web Series",filter:"/category/Telugu-Web-Series.html"}],exports.genres=[]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Telugu Movies",filter:"/category/Telugu-(2025)-Movies.html"},{title:"Tamil Movies",filter:"/category/Tamil-(2025)-Movies.html"},{title:"Hollywood Telugu Dubbed",filter:"/category/Telugu-Dubbed-Hollywood-Movies-Complete-Set.html"},{title:"Web Series",filter:"/category/Telugu-Web-Series.html"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/moviezwap/episodes.js b/dist/moviezwap/episodes.js index 48e6b76..5b5ca36 100644 --- a/dist/moviezwap/episodes.js +++ b/dist/moviezwap/episodes.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,getBaseUrl:getBaseUrl}=providerContext;try{const res=yield axios.get(url),baseUrl=yield getBaseUrl("moviezwap"),html=res.data,$=cheerio.load(html),episodeLinks=[];return $('a[href*="download.php?file="], a[href*="dwload.php?file="]').each((i,el)=>{var _a;const downloadPage=(null===(_a=$(el).attr("href"))||void 0===_a?void 0:_a.replace("dwload.php","download.php"))||"";let text=$(el).text().trim();text.includes("Download page")&&(text="Play"),downloadPage&&text&&episodeLinks.push({title:text,link:baseUrl+downloadPage})}),episodeLinks}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,getBaseUrl:getBaseUrl}=providerContext;try{const res=yield axios.get(url),baseUrl=yield getBaseUrl("moviezwap"),html=res.data,$=cheerio.load(html),episodeLinks=[];return $('a[href*="download.php?file="], a[href*="dwload.php?file="]').each((i,el)=>{var _a;const downloadPage=(null===(_a=$(el).attr("href"))||void 0===_a?void 0:_a.replace("dwload.php","download.php"))||"";let text=$(el).text().trim();text.includes("Download page")&&(text="Play"),downloadPage&&text&&episodeLinks.push({title:text,link:baseUrl+downloadPage})}),episodeLinks}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/moviezwap/meta.js b/dist/moviezwap/meta.js index 44ba006..e124a2c 100644 --- a/dist/moviezwap/meta.js +++ b/dist/moviezwap/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio,getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("moviezwap"),url=link.startsWith("http")?link:`${baseUrl}${link}`,data=(yield axios.get(url)).data,$=cheerio.load(data);let image=$('img[width="260"]').attr("src")||"";image&&!image.startsWith("http")&&(image=baseUrl+image);const tags=$("font[color='steelblue']").map((i,el)=>$(el).text().trim()).get().slice(0,2),title=$("title").text().replace(" - MoviezWap","").trim()||"";let synopsis="",imdbId="",type="movie",infoRows=[];$("td:contains('Movie Information')").parent().nextAll("tr").each((i,el)=>{const tds=$(el).find("td");if(2===tds.length){const key=tds.eq(0).text().trim(),value=tds.eq(1).text().trim();infoRows.push(`${key}: ${value}`),key.toLowerCase().includes("plot")&&(synopsis=value),key.toLowerCase().includes("imdb")&&(imdbId=value)}}),synopsis||(synopsis=$("p:contains('plot')").text().trim());const links=[];return $('a[href*="download.php?file="], a[href*="dwload.php?file="]').each((i,el)=>{var _a;const downloadPage=(null===(_a=$(el).attr("href"))||void 0===_a?void 0:_a.replace("dwload.php","download.php"))||"",text=$(el).text().trim();downloadPage&&/\d+p/i.test(text)&&links.push({title:text,directLinks:[{title:"Movie",link:baseUrl+downloadPage}]})}),$("img[src*='/images/play.png']").each((i,el)=>{const downloadPage=$(el).siblings("a").attr("href"),text=$(el).siblings("a").text().trim();downloadPage&&text&&links.push({title:text,episodesLink:baseUrl+downloadPage})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,tags:tags,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio,getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("moviezwap"),url=link.startsWith("http")?link:`${baseUrl}${link}`,data=(yield axios.get(url)).data,$=cheerio.load(data);let image=$('img[width="260"]').attr("src")||"";image&&!image.startsWith("http")&&(image=baseUrl+image);const tags=$("font[color='steelblue']").map((i,el)=>$(el).text().trim()).get().slice(0,2),title=$("title").text().replace(" - MoviezWap","").trim()||"";let synopsis="",imdbId="",type="movie",infoRows=[];$("td:contains('Movie Information')").parent().nextAll("tr").each((i,el)=>{const tds=$(el).find("td");if(2===tds.length){const key=tds.eq(0).text().trim(),value=tds.eq(1).text().trim();infoRows.push(`${key}: ${value}`),key.toLowerCase().includes("plot")&&(synopsis=value),key.toLowerCase().includes("imdb")&&(imdbId=value)}}),synopsis||(synopsis=$("p:contains('plot')").text().trim());const links=[];return $('a[href*="download.php?file="], a[href*="dwload.php?file="]').each((i,el)=>{var _a;const downloadPage=(null===(_a=$(el).attr("href"))||void 0===_a?void 0:_a.replace("dwload.php","download.php"))||"",text=$(el).text().trim();downloadPage&&/\d+p/i.test(text)&&links.push({title:text,directLinks:[{title:"Movie",link:baseUrl+downloadPage}]})}),$("img[src*='/images/play.png']").each((i,el)=>{const downloadPage=$(el).siblings("a").attr("href"),text=$(el).siblings("a").text().trim();downloadPage&&text&&links.push({title:text,episodesLink:baseUrl+downloadPage})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,tags:tags,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/moviezwap/posts.js b/dist/moviezwap/posts.js index 36ee202..76550ea 100644 --- a/dist/moviezwap/posts.js +++ b/dist/moviezwap/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${yield getBaseUrl("moviezwap")}${filter}`,signal:signal,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${yield getBaseUrl("moviezwap")}/search.php?q=${encodeURIComponent(searchQuery)}`,signal:signal,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,cheerio:cheerio}){try{const res=yield fetch(url,{signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $('a[href^="/movie/"]').each((i,el)=>{const title=$(el).text().trim(),link=$(el).attr("href");title&&link&&catalog.push({title:title,link:link,image:""})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${yield getBaseUrl("moviezwap")}${filter}`,signal:signal,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${yield getBaseUrl("moviezwap")}/search.php?q=${encodeURIComponent(searchQuery)}`,signal:signal,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,cheerio:cheerio}){try{const res=yield fetch(url,{signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $('a[href^="/movie/"]').each((i,el)=>{const title=$(el).text().trim(),link=$(el).attr("href");title&&link&&catalog.push({title:title,link:link,image:""})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/moviezwap/stream.js b/dist/moviezwap/stream.js index 3061d2f..b5d665c 100644 --- a/dist/moviezwap/stream.js +++ b/dist/moviezwap/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,signal:signal,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext,html=(yield axios.get(link,{headers:headers,signal:signal})).data,$=cheerio.load(html),Streams=[];return $('a:contains("Fast Download Server")').each((i,el)=>{const href=$(el).attr("href");href&&href.toLocaleLowerCase().includes(".mp4")&&Streams.push({link:href,type:"mp4",server:"Fast Download",headers:headers})}),Streams})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,signal:signal,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext,html=(yield axios.get(link,{headers:headers,signal:signal})).data,$=cheerio.load(html),Streams=[];return $('a:contains("Fast Download Server")').each((i,el)=>{const href=$(el).attr("href");href&&href.toLocaleLowerCase().includes(".mp4")&&Streams.push({link:href,type:"mp4",server:"Fast Download",headers:headers})}),Streams})}exports.getStream=getStream; \ No newline at end of file diff --git a/dist/multi/catalog.js b/dist/multi/catalog.js index 7d7016c..d487daf 100644 --- a/dist/multi/catalog.js +++ b/dist/multi/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Trending",filter:"/trending/"},{title:"Netflix",filter:"/genre/netflix/"},{title:"Amazon Prime",filter:"/genre/amazon-prime/"},{title:"Disney Hotstar",filter:"/genre/disney-hotstar/"}],exports.genres=[{title:"Action",filter:"/genre/action/"},{title:"Adventure",filter:"/genre/adventure/"},{title:"Animation",filter:"/genre/animation/"},{title:"Comedy",filter:"/genre/comedy/"},{title:"Crime",filter:"/genre/crime/"},{title:"Drama",filter:"/genre/drama/"},{title:"Family",filter:"/genre/family/"},{title:"Fantasy",filter:"/genre/fantasy/"},{title:"History",filter:"/genre/history/"},{title:"Horror",filter:"/genre/horror/"},{title:"Mystery",filter:"/genre/mystery/"},{title:"Romance",filter:"/genre/romance/"},{title:"Science Fiction",filter:"/genre/science-fiction/"},{title:"Thriller",filter:"/genre/thriller/"}]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Trending",filter:"/trending/"},{title:"Netflix",filter:"/genre/netflix/"},{title:"Amazon Prime",filter:"/genre/amazon-prime/"},{title:"Disney Hotstar",filter:"/genre/disney-hotstar/"}],exports.genres=[{title:"Action",filter:"/genre/action/"},{title:"Adventure",filter:"/genre/adventure/"},{title:"Animation",filter:"/genre/animation/"},{title:"Comedy",filter:"/genre/comedy/"},{title:"Crime",filter:"/genre/crime/"},{title:"Drama",filter:"/genre/drama/"},{title:"Family",filter:"/genre/family/"},{title:"Fantasy",filter:"/genre/fantasy/"},{title:"History",filter:"/genre/history/"},{title:"Horror",filter:"/genre/horror/"},{title:"Mystery",filter:"/genre/mystery/"},{title:"Romance",filter:"/genre/romance/"},{title:"Science Fiction",filter:"/genre/science-fiction/"},{title:"Thriller",filter:"/genre/thriller/"}]; \ No newline at end of file diff --git a/dist/multi/meta.js b/dist/multi/meta.js index 1783a04..d7b98e9 100644 --- a/dist/multi/meta.js +++ b/dist/multi/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),type=url.includes("tvshows")?"series":"movie",imdbId="",title=url.split("/")[4].replace(/-/g," "),image=$(".g-item").find("a").attr("href")||"",synopsis=$(".wp-content").find("p").text()||"",links=[];return"series"===type?$("#seasons").children().map((i,element)=>{const title=$(element).find(".title").children().remove().end().text();let episodesList=[];$(element).find(".episodios").children().map((i,element)=>{const title="Episode"+$(element).find(".numerando").text().trim().split("-")[1],link=$(element).find("a").attr("href");title&&link&&episodesList.push({title:title,link:link})}),title&&episodesList.length>0&&links.push({title:title,directLinks:episodesList})}):links.push({title:title,directLinks:[{title:title,link:url.slice(0,-1),type:"movie"}]}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),type=url.includes("tvshows")?"series":"movie",imdbId="",title=url.split("/")[4].replace(/-/g," "),image=$(".g-item").find("a").attr("href")||"",synopsis=$(".wp-content").find("p").text()||"",links=[];return"series"===type?$("#seasons").children().map((i,element)=>{const title=$(element).find(".title").children().remove().end().text();let episodesList=[];$(element).find(".episodios").children().map((i,element)=>{const title="Episode"+$(element).find(".numerando").text().trim().split("-")[1],link=$(element).find("a").attr("href");title&&link&&episodesList.push({title:title,link:link})}),title&&episodesList.length>0&&links.push({title:title,directLinks:episodesList})}):links.push({title:title,directLinks:[{title:title,link:url.slice(0,-1),type:"movie"}]}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/multi/posts.js b/dist/multi/posts.js index d895cf9..0077f64 100644 --- a/dist/multi/posts.js +++ b/dist/multi/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${(yield getBaseUrl("multi"))+filter}page/${page}/`,signal:signal,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${yield getBaseUrl("multi")}/?s=${searchQuery}`,signal:signal,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,cheerio:cheerio}){try{const res=yield fetch(url,{signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $(".items.full,.result-item").children().map((i,element)=>{const title=$(element).find(".poster,.image").find("img").attr("alt"),link=$(element).find(".poster,.image").find("a").attr("href"),image=$(element).find(".poster,.image").find("img").attr("data-src")||$(element).find(".poster,.image").find("img").attr("src");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${(yield getBaseUrl("multi"))+filter}page/${page}/`,signal:signal,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${yield getBaseUrl("multi")}/?s=${searchQuery}`,signal:signal,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,cheerio:cheerio}){try{const res=yield fetch(url,{signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $(".items.full,.result-item").children().map((i,element)=>{const title=$(element).find(".poster,.image").find("img").attr("alt"),link=$(element).find(".poster,.image").find("a").attr("href"),image=$(element).find(".poster,.image").find("img").attr("data-src")||$(element).find(".poster,.image").find("img").attr("src");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/multi/stream.js b/dist/multi/stream.js index 4e7f694..df9d47e 100644 --- a/dist/multi/stream.js +++ b/dist/multi/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m,_o;const{axios:axios,cheerio:cheerio}=providerContext,headers={"sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',Referer:"https://multimovies.online/","Sec-Fetch-User":"?1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"};try{const html=(yield axios.get(url,{headers:headers})).data,$=cheerio.load(html),streamLinks=[],postId=$("#player-option-1").attr("data-post"),nume=$("#player-option-1").attr("data-nume"),typeValue=$("#player-option-1").attr("data-type"),baseUrl=url.split("/").slice(0,3).join("/"),formData=new FormData;formData.append("action","doo_player_ajax"),formData.append("post",postId||""),formData.append("nume",nume||""),formData.append("type",typeValue||"");const playerRes=yield fetch(`${baseUrl}/wp-admin/admin-ajax.php`,{headers:headers,body:formData,method:"POST"}),playerData=yield playerRes.json();let ifameUrl=(null===(_c=null===(_b=null==playerData?void 0:playerData.embed_url)||void 0===_b?void 0:_b.match(/]+src="([^"]+)"[^>]*>/i))||void 0===_c?void 0:_c[1])||(null==playerData?void 0:playerData.embed_url);if(!ifameUrl.includes("multimovies")){let playerBaseUrl=ifameUrl.split("/").slice(0,3).join("/");const newPlayerBaseUrl=yield axios.head(playerBaseUrl,{headers:headers});(null===(_d=null==newPlayerBaseUrl?void 0:newPlayerBaseUrl.request)||void 0===_d?void 0:_d.responseURL)&&(playerBaseUrl=null===(_f=null===(_e=newPlayerBaseUrl.request)||void 0===_e?void 0:_e.responseURL)||void 0===_f?void 0:_f.split("/").slice(0,3).join("/")),(null===(_g=null==newPlayerBaseUrl?void 0:newPlayerBaseUrl.request)||void 0===_g?void 0:_g.responseURL)||(playerBaseUrl=null===(_h=(yield axios.head(playerBaseUrl,{headers:headers,maxRedirects:0,validateStatus:status=>status>=200&&status<400})).headers)||void 0===_h?void 0:_h.location);const playerId=ifameUrl.split("/").pop(),NewformData=new FormData;NewformData.append("sid",playerId);const playerRes=yield fetch(`${playerBaseUrl}/embedhelper.php`,{headers:headers,body:NewformData,method:"POST"}),playerData=yield playerRes.json(),siteUrl=null===(_j=null==playerData?void 0:playerData.siteUrls)||void 0===_j?void 0:_j.smwh,newIframeUrl=siteUrl+((null===(_k=JSON.parse(atob(null==playerData?void 0:playerData.mresult)))||void 0===_k?void 0:_k.smwh)||(null===(_l=null==playerData?void 0:playerData.mresult)||void 0===_l?void 0:_l.smwh));newIframeUrl&&(ifameUrl=newIframeUrl)}const iframeData=(yield axios.get(ifameUrl,{headers:Object.assign(Object.assign({},headers),{Referer:url})})).data;var match=/eval\(function\((.*?)\)\{.*?return p\}.*?\('(.*?)'\.split/.exec(iframeData);let p="";if(match){var encodedString=match[2];p=null===(_m=encodedString.split("',36,"))||void 0===_m?void 0:_m[0].trim();let a=36,c=encodedString.split("',36,")[1].slice(2).split("|").length,k=encodedString.split("',36,")[1].slice(2).split("|");for(;c--;)if(k[c]){var regex=new RegExp("\\b"+c.toString(a)+"\\b","g");p=p.replace(regex,k[c])}}const streamUrl=null===(_o=null==p?void 0:p.match(/https?:\/\/[^"]+?\.m3u8[^"]*/))||void 0===_o?void 0:_o[0],subtitles=[],subtitleMatch=null==p?void 0:p.match(/https:\/\/[^\s"]+\.vtt/g);return(null==subtitleMatch?void 0:subtitleMatch.length)&&subtitleMatch.forEach(sub=>{const lang=sub.match(/_([a-zA-Z]{3})\.vtt$/)[1];subtitles.push({language:lang,uri:sub,type:"text/vtt",title:lang})}),streamUrl&&streamLinks.push({server:"Multi",link:streamUrl.replace(/&i=\d+,'\.4&/,"&i=0.4&"),type:"m3u8",subtitles:[]}),streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m,_o;const{axios:axios,cheerio:cheerio}=providerContext,headers={"sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',Referer:"https://multimovies.online/","Sec-Fetch-User":"?1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"};try{const html=(yield axios.get(url,{headers:headers})).data,$=cheerio.load(html),streamLinks=[],postId=$("#player-option-1").attr("data-post"),nume=$("#player-option-1").attr("data-nume"),typeValue=$("#player-option-1").attr("data-type"),baseUrl=url.split("/").slice(0,3).join("/"),formData=new FormData;formData.append("action","doo_player_ajax"),formData.append("post",postId||""),formData.append("nume",nume||""),formData.append("type",typeValue||"");const playerRes=yield fetch(`${baseUrl}/wp-admin/admin-ajax.php`,{headers:headers,body:formData,method:"POST"}),playerData=yield playerRes.json();let ifameUrl=(null===(_c=null===(_b=null==playerData?void 0:playerData.embed_url)||void 0===_b?void 0:_b.match(/]+src="([^"]+)"[^>]*>/i))||void 0===_c?void 0:_c[1])||(null==playerData?void 0:playerData.embed_url);if(!ifameUrl.includes("multimovies")){let playerBaseUrl=ifameUrl.split("/").slice(0,3).join("/");const newPlayerBaseUrl=yield axios.head(playerBaseUrl,{headers:headers});(null===(_d=null==newPlayerBaseUrl?void 0:newPlayerBaseUrl.request)||void 0===_d?void 0:_d.responseURL)&&(playerBaseUrl=null===(_f=null===(_e=newPlayerBaseUrl.request)||void 0===_e?void 0:_e.responseURL)||void 0===_f?void 0:_f.split("/").slice(0,3).join("/")),(null===(_g=null==newPlayerBaseUrl?void 0:newPlayerBaseUrl.request)||void 0===_g?void 0:_g.responseURL)||(playerBaseUrl=null===(_h=(yield axios.head(playerBaseUrl,{headers:headers,maxRedirects:0,validateStatus:status=>status>=200&&status<400})).headers)||void 0===_h?void 0:_h.location);const playerId=ifameUrl.split("/").pop(),NewformData=new FormData;NewformData.append("sid",playerId);const playerRes=yield fetch(`${playerBaseUrl}/embedhelper.php`,{headers:headers,body:NewformData,method:"POST"}),playerData=yield playerRes.json(),siteUrl=null===(_j=null==playerData?void 0:playerData.siteUrls)||void 0===_j?void 0:_j.smwh,newIframeUrl=siteUrl+((null===(_k=JSON.parse(atob(null==playerData?void 0:playerData.mresult)))||void 0===_k?void 0:_k.smwh)||(null===(_l=null==playerData?void 0:playerData.mresult)||void 0===_l?void 0:_l.smwh));newIframeUrl&&(ifameUrl=newIframeUrl)}const iframeData=(yield axios.get(ifameUrl,{headers:Object.assign(Object.assign({},headers),{Referer:url})})).data;var match=/eval\(function\((.*?)\)\{.*?return p\}.*?\('(.*?)'\.split/.exec(iframeData);let p="";if(match){var encodedString=match[2];p=null===(_m=encodedString.split("',36,"))||void 0===_m?void 0:_m[0].trim();let a=36,c=encodedString.split("',36,")[1].slice(2).split("|").length,k=encodedString.split("',36,")[1].slice(2).split("|");for(;c--;)if(k[c]){var regex=new RegExp("\\b"+c.toString(a)+"\\b","g");p=p.replace(regex,k[c])}}const streamUrl=null===(_o=null==p?void 0:p.match(/https?:\/\/[^"]+?\.m3u8[^"]*/))||void 0===_o?void 0:_o[0],subtitles=[],subtitleMatch=null==p?void 0:p.match(/https:\/\/[^\s"]+\.vtt/g);return(null==subtitleMatch?void 0:subtitleMatch.length)&&subtitleMatch.forEach(sub=>{const lang=sub.match(/_([a-zA-Z]{3})\.vtt$/)[1];subtitles.push({language:lang,uri:sub,type:"text/vtt",title:lang})}),streamUrl&&streamLinks.push({server:"Multi",link:streamUrl.replace(/&i=\d+,'\.4&/,"&i=0.4&"),type:"m3u8",subtitles:[]}),streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/netflixMirror/catalog.js b/dist/netflixMirror/catalog.js index 8e65032..692f30d 100644 --- a/dist/netflixMirror/catalog.js +++ b/dist/netflixMirror/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Home",filter:"/mobile/home?app=1"},{title:"Series",filter:"/mobile/series"},{title:"Movies",filter:"/mobile/movies"}],exports.genres=[]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Home",filter:"/mobile/home?app=1"},{title:"Series",filter:"/mobile/series"},{title:"Movies",filter:"/mobile/movies"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/netflixMirror/episodes.js b/dist/netflixMirror/episodes.js index c95d940..5f18650 100644 --- a/dist/netflixMirror/episodes.js +++ b/dist/netflixMirror/episodes.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:link,providerContext:providerContext}){var _b;const{getBaseUrl:getBaseUrl,axios:axios}=providerContext;try{const url=`${yield getBaseUrl("nfMirror")}/episodes.php?s=`+link+"&t="+Math.round((new Date).getTime()/1e3);let page=1,hasMorePages=!0;const episodeList=[];for(;hasMorePages;){const data=(yield axios.get(url+`&page=${page}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36","Accept-Language":"en-US,en;q=0.9"}})).data;null===(_b=null==data?void 0:data.episodes)||void 0===_b||_b.map(episode=>{episodeList.push({title:"Episode "+(null==episode?void 0:episode.ep.replace("E","")),link:null==episode?void 0:episode.id})}),(null==data?void 0:data.nextPageShow)?page++:hasMorePages=!1}return episodeList.sort((a,b)=>parseInt(a.title.replace("Episode ",""))-parseInt(b.title.replace("Episode ","")))}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:link,providerContext:providerContext}){var _b;const{getBaseUrl:getBaseUrl,axios:axios}=providerContext;try{const url=`${yield getBaseUrl("nfMirror")}/episodes.php?s=`+link+"&t="+Math.round((new Date).getTime()/1e3);let page=1,hasMorePages=!0;const episodeList=[];for(;hasMorePages;){const data=(yield axios.get(url+`&page=${page}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36","Accept-Language":"en-US,en;q=0.9"}})).data;null===(_b=null==data?void 0:data.episodes)||void 0===_b||_b.map(episode=>{episodeList.push({title:"Episode "+(null==episode?void 0:episode.ep.replace("E","")),link:null==episode?void 0:episode.id})}),(null==data?void 0:data.nextPageShow)?page++:hasMorePages=!1}return episodeList.sort((a,b)=>parseInt(a.title.replace("Episode ",""))-parseInt(b.title.replace("Episode ","")))}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/netflixMirror/meta.js b/dist/netflixMirror/meta.js index 6645262..59e12f1 100644 --- a/dist/netflixMirror/meta.js +++ b/dist/netflixMirror/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link}){var _b,_c,_d,_e;try{const url=`https://netmirror.8man.dev/api/net-proxy?${"isPrime=false"}&url=${encodeURIComponent(link)}`,res=yield fetch(url,{credentials:"omit"}),data=yield res.json(),id=null===(_b=link.split("id=")[1])||void 0===_b?void 0:_b.split("&")[0],meta={title:data.title,synopsis:data.desc,image:`https://img.nfmirrorcdn.top/poster/h/${id}.jpg`,cast:null===(_c=null==data?void 0:data.short_cast)||void 0===_c?void 0:_c.split(","),tags:[null==data?void 0:data.year,null==data?void 0:data.hdsd,...null===(_d=null==data?void 0:data.thismovieis)||void 0===_d?void 0:_d.split(",")],imdbId:"",type:"series"},linkList=[];return(null===(_e=null==data?void 0:data.season)||void 0===_e?void 0:_e.length)>0?data.season.map(season=>{linkList.push({title:"Season "+(null==season?void 0:season.s),episodesLink:null==season?void 0:season.id})}):linkList.push({title:meta.title,directLinks:[{link:id,title:"Movie",type:"movie"}]}),Object.assign(Object.assign({},meta),{linkList:linkList})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link}){var _b,_c,_d,_e;try{const url=`https://netmirror.8man.dev/api/net-proxy?${"isPrime=false"}&url=${encodeURIComponent(link)}`,res=yield fetch(url,{credentials:"omit"}),data=yield res.json(),id=null===(_b=link.split("id=")[1])||void 0===_b?void 0:_b.split("&")[0],meta={title:data.title,synopsis:data.desc,image:`https://img.nfmirrorcdn.top/poster/h/${id}.jpg`,cast:null===(_c=null==data?void 0:data.short_cast)||void 0===_c?void 0:_c.split(","),tags:[null==data?void 0:data.year,null==data?void 0:data.hdsd,...null===(_d=null==data?void 0:data.thismovieis)||void 0===_d?void 0:_d.split(",")],imdbId:"",type:"series"},linkList=[];return(null===(_e=null==data?void 0:data.season)||void 0===_e?void 0:_e.length)>0?data.season.map(season=>{linkList.push({title:"Season "+(null==season?void 0:season.s),episodesLink:null==season?void 0:season.id})}):linkList.push({title:meta.title,directLinks:[{link:id,title:"Movie",type:"movie"}]}),Object.assign(Object.assign({},meta),{linkList:linkList})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/netflixMirror/posts.js b/dist/netflixMirror/posts.js index d12559c..7781fc5 100644 --- a/dist/netflixMirror/posts.js +++ b/dist/netflixMirror/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){try{const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("nfMirror"),catalog=[];if(page>1)return[];const url=`https://netmirror.8man.dev/api/net-proxy?${"primeMirror"===providerValue?"isPrime=true":"isPrime=false"}&url=${baseUrl+filter}`,res=yield fetch(url,{signal:signal,method:"GET",credentials:"omit"}),data=yield res.text(),$=cheerio.load(data);return $("a.post-data").map((i,element)=>{const id=$(element).attr("data-post"),image=$(element).find("img").attr("data-src")||"";id&&catalog.push({title:"",link:baseUrl+""+("netflixMirror"===providerValue?"/post.php?id=":"/pv/post.php?id=")+id+"&t="+Math.round((new Date).getTime()/1e3),image:image})}),catalog}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){var _b;const{getBaseUrl:getBaseUrl}=providerContext;try{if(page>1)return[];const catalog=[],baseUrl=yield getBaseUrl("nfMirror"),url=`https://netmirror.8man.dev/api/net-proxy?${"primeMirror"===providerValue?"isPrime=true":"isPrime=false"}&url=${baseUrl}${"netflixMirror"===providerValue?"":"/pv"}/search.php?s=${encodeURI(searchQuery)}`,res=yield fetch(url,{signal:signal,method:"GET",credentials:"omit"}),data=yield res.json();return null===(_b=null==data?void 0:data.searchResult)||void 0===_b||_b.forEach(result=>{const title=(null==result?void 0:result.t)||"",id=null==result?void 0:result.id,image="netflixMirror"===providerValue?`https://imgcdn.media/poster/v/${id}.jpg`:"";id&&catalog.push({title:title,link:baseUrl+""+("netflixMirror"===providerValue?"/mobile/post.php?id=":"/mobile/pv/post.php?id=")+id+"&t="+Math.round((new Date).getTime()/1e3),image:image})}),catalog}catch(err){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){try{const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("nfMirror"),catalog=[];if(page>1)return[];const url=`https://netmirror.8man.dev/api/net-proxy?${"primeMirror"===providerValue?"isPrime=true":"isPrime=false"}&url=${baseUrl+filter}`,res=yield fetch(url,{signal:signal,method:"GET",credentials:"omit"}),data=yield res.text(),$=cheerio.load(data);return $("a.post-data").map((i,element)=>{const id=$(element).attr("data-post"),image=$(element).find("img").attr("data-src")||"";id&&catalog.push({title:"",link:baseUrl+""+("netflixMirror"===providerValue?"/post.php?id=":"/pv/post.php?id=")+id+"&t="+Math.round((new Date).getTime()/1e3),image:image})}),catalog}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){var _b;const{getBaseUrl:getBaseUrl}=providerContext;try{if(page>1)return[];const catalog=[],baseUrl=yield getBaseUrl("nfMirror"),url=`https://netmirror.8man.dev/api/net-proxy?${"primeMirror"===providerValue?"isPrime=true":"isPrime=false"}&url=${baseUrl}${"netflixMirror"===providerValue?"":"/pv"}/search.php?s=${encodeURI(searchQuery)}`,res=yield fetch(url,{signal:signal,method:"GET",credentials:"omit"}),data=yield res.json();return null===(_b=null==data?void 0:data.searchResult)||void 0===_b||_b.forEach(result=>{const title=(null==result?void 0:result.t)||"",id=null==result?void 0:result.id,image="netflixMirror"===providerValue?`https://imgcdn.media/poster/v/${id}.jpg`:"";id&&catalog.push({title:title,link:baseUrl+""+("netflixMirror"===providerValue?"/mobile/post.php?id=":"/mobile/pv/post.php?id=")+id+"&t="+Math.round((new Date).getTime()/1e3),image:image})}),catalog}catch(err){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/netflixMirror/stream.js b/dist/netflixMirror/stream.js index d80987a..b3467de 100644 --- a/dist/netflixMirror/stream.js +++ b/dist/netflixMirror/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=_a=>__awaiter(void 0,[_a],void 0,function*({link:id,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;try{let providerValue="netflixMirror";const baseUrl=yield getBaseUrl("nfMirror"),url=`https://netmirror.8man.dev/api/net-proxy?url=${baseUrl}${"netflixMirror"===providerValue?"/mobile/playlist.php?id=":"/pv/playlist.php?id="}${id}&t=${Math.round((new Date).getTime()/1e3)}`,res=yield fetch(url,{credentials:"omit"}),resJson=yield res.json(),data=null==resJson?void 0:resJson[0],streamLinks=[];return null==data||data.sources.forEach(source=>{var _a;streamLinks.push({server:source.label,link:(null===(_a=source.file)||void 0===_a?void 0:_a.startsWith("http"))?source.file:`${baseUrl}${source.file}`,type:"m3u8",headers:{Referer:baseUrl,origin:baseUrl,Cookie:"hd=on"}})}),streamLinks}catch(err){return[]}});exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;const getStream=_a=>__awaiter(void 0,[_a],void 0,function*({link:id,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;try{let providerValue="netflixMirror";const baseUrl=yield getBaseUrl("nfMirror"),url=`https://netmirror.8man.dev/api/net-proxy?url=${baseUrl}${"netflixMirror"===providerValue?"/mobile/playlist.php?id=":"/pv/playlist.php?id="}${id}&t=${Math.round((new Date).getTime()/1e3)}`,res=yield fetch(url,{credentials:"omit"}),resJson=yield res.json(),data=null==resJson?void 0:resJson[0],streamLinks=[];return null==data||data.sources.forEach(source=>{var _a;streamLinks.push({server:source.label,link:(null===(_a=source.file)||void 0===_a?void 0:_a.startsWith("http"))?source.file:`${baseUrl}${source.file}`,type:"m3u8",headers:{Referer:baseUrl,origin:baseUrl,Cookie:"hd=on"}})}),streamLinks}catch(err){return[]}});exports.getStream=getStream; \ No newline at end of file diff --git a/dist/ogomovies/catalog.js b/dist/ogomovies/catalog.js index b8883e7..624c877 100644 --- a/dist/ogomovies/catalog.js +++ b/dist/ogomovies/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.catalog=void 0,exports.catalog=[{title:"Trending",filter:""},{title:"Movies",filter:"genre/hollywood/"}]; \ No newline at end of file +exports.catalog=void 0,exports.catalog=[{title:"Trending",filter:""},{title:"Movies",filter:"genre/hollywood/"}]; \ No newline at end of file diff --git a/dist/ogomovies/meta.js b/dist/ogomovies/meta.js index 93578f3..9a0da05 100644 --- a/dist/ogomovies/meta.js +++ b/dist/ogomovies/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"};function getDownloadLinks(watchUrl,movieTitle,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios,cheerio:cheerio}=providerContext,finalLinks=[];try{let response=yield axios.get(watchUrl,{headers:headers}),$=cheerio.load(response.data);const serverLink=$('li[data-server="3"][data-putload]').attr("data-putload");if(!serverLink)return finalLinks;response=yield axios.get(serverLink,{headers:Object.assign(Object.assign({},headers),{Referer:watchUrl})}),$=cheerio.load(response.data);const linkGateUrl=$(".content-pt a button").parent().attr("href");if(!linkGateUrl)return finalLinks;response=yield axios.get(linkGateUrl,{headers:Object.assign(Object.assign({},headers),{Referer:serverLink})}),$=cheerio.load(response.data);const finalDownloadPageUrl=$(".video-container iframe").attr("src");if(!finalDownloadPageUrl)return finalLinks;response=yield axios.get(finalDownloadPageUrl,{headers:Object.assign(Object.assign({},headers),{Referer:linkGateUrl})}),$=cheerio.load(response.data);const cdnLinkUrl=$(".content-pt a button").parent().attr("href");if(!cdnLinkUrl)return finalLinks;response=yield axios.get(cdnLinkUrl,{headers:Object.assign(Object.assign({},headers),{Referer:finalDownloadPageUrl})}),$=cheerio.load(response.data),$('button[onclick^="download_video"]').each((_,element)=>{const qualityText=$(element).text().trim(),qualityMatch=qualityText.match(/(Normal|Low)\squality/i),quality=qualityMatch?qualityMatch[1]:"Unknown",sizeMatch=qualityText.match(/(\d+(\.\d+)?\s(GB|MB))$/i),size=sizeMatch?sizeMatch[0]:"Unknown Size";finalLinks.push({title:`${movieTitle} - ${qualityText}`,quality:quality,episodesLink:cdnLinkUrl,directLinks:[{title:`Download (${size})`,link:cdnLinkUrl,type:"movie"}]})})}catch(error){}return finalLinks})}const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext,url=link,baseUrl=url.split("/").slice(0,3).join("/"),emptyResult={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]};try{const response=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{Referer:baseUrl})}),$=cheerio.load(response.data),detailEl=$(".main-detail"),result={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]};result.title=detailEl.find(".detail-mod h3").text().trim()||detailEl.find(".breadcrumb .active span[itemprop='name']").text().trim().replace("(Tamil)","").trim()||$("title").text().split("|")[0].trim(),result.image=detailEl.find(".dm-thumb img").attr("src")||"",result.image.startsWith("//")&&(result.image="https:"+result.image),result.synopsis=detailEl.find(".desc p").text().trim()||"Synopsis not found.",result.imdbId=detailEl.find("#imdb_id").text().trim(),result.type="movie";detailEl.find(".mvici-right .quality a").text().trim();let finalLinks=[];const watchLinkUrl=detailEl.find(".ch_btn_box a.bwac-btn").attr("href");if(watchLinkUrl){const deepDownloadLinks=yield getDownloadLinks(watchLinkUrl,result.title,providerContext);finalLinks=finalLinks.concat(deepDownloadLinks)}return detailEl.find(".mobile-btn a.mod-btn").each((index,element)=>{var _a;const btnEl=$(element),linkUrl=btnEl.attr("href"),rawTitle=null!==(_a=btnEl.attr("title"))&&void 0!==_a?_a:"",fallbackTitle=btnEl.text().trim(),title=rawTitle.trim()||fallbackTitle;title.includes("Download Android APP")||linkUrl&&(title.includes("Download")||title.includes("Watch")||title.includes("Join Us"))&&finalLinks.push({title:`${result.title} - ${title}`,quality:"External Link",episodesLink:linkUrl,directLinks:[{title:title,link:linkUrl,type:"movie"}]})}),result.linkList=finalLinks,result}catch(err){return emptyResult}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"};function getDownloadLinks(watchUrl,movieTitle,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios,cheerio:cheerio}=providerContext,finalLinks=[];try{let response=yield axios.get(watchUrl,{headers:headers}),$=cheerio.load(response.data);const serverLink=$('li[data-server="3"][data-putload]').attr("data-putload");if(!serverLink)return finalLinks;response=yield axios.get(serverLink,{headers:Object.assign(Object.assign({},headers),{Referer:watchUrl})}),$=cheerio.load(response.data);const linkGateUrl=$(".content-pt a button").parent().attr("href");if(!linkGateUrl)return finalLinks;response=yield axios.get(linkGateUrl,{headers:Object.assign(Object.assign({},headers),{Referer:serverLink})}),$=cheerio.load(response.data);const finalDownloadPageUrl=$(".video-container iframe").attr("src");if(!finalDownloadPageUrl)return finalLinks;response=yield axios.get(finalDownloadPageUrl,{headers:Object.assign(Object.assign({},headers),{Referer:linkGateUrl})}),$=cheerio.load(response.data);const cdnLinkUrl=$(".content-pt a button").parent().attr("href");if(!cdnLinkUrl)return finalLinks;response=yield axios.get(cdnLinkUrl,{headers:Object.assign(Object.assign({},headers),{Referer:finalDownloadPageUrl})}),$=cheerio.load(response.data),$('button[onclick^="download_video"]').each((_,element)=>{const qualityText=$(element).text().trim(),qualityMatch=qualityText.match(/(Normal|Low)\squality/i),quality=qualityMatch?qualityMatch[1]:"Unknown",sizeMatch=qualityText.match(/(\d+(\.\d+)?\s(GB|MB))$/i),size=sizeMatch?sizeMatch[0]:"Unknown Size";finalLinks.push({title:`${movieTitle} - ${qualityText}`,quality:quality,episodesLink:cdnLinkUrl,directLinks:[{title:`Download (${size})`,link:cdnLinkUrl,type:"movie"}]})})}catch(error){}return finalLinks})}const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext,url=link,baseUrl=url.split("/").slice(0,3).join("/"),emptyResult={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]};try{const response=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{Referer:baseUrl})}),$=cheerio.load(response.data),detailEl=$(".main-detail"),result={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]};result.title=detailEl.find(".detail-mod h3").text().trim()||detailEl.find(".breadcrumb .active span[itemprop='name']").text().trim().replace("(Tamil)","").trim()||$("title").text().split("|")[0].trim(),result.image=detailEl.find(".dm-thumb img").attr("src")||"",result.image.startsWith("//")&&(result.image="https:"+result.image),result.synopsis=detailEl.find(".desc p").text().trim()||"Synopsis not found.",result.imdbId=detailEl.find("#imdb_id").text().trim(),result.type="movie";detailEl.find(".mvici-right .quality a").text().trim();let finalLinks=[];const watchLinkUrl=detailEl.find(".ch_btn_box a.bwac-btn").attr("href");if(watchLinkUrl){const deepDownloadLinks=yield getDownloadLinks(watchLinkUrl,result.title,providerContext);finalLinks=finalLinks.concat(deepDownloadLinks)}return detailEl.find(".mobile-btn a.mod-btn").each((index,element)=>{var _a;const btnEl=$(element),linkUrl=btnEl.attr("href"),rawTitle=null!==(_a=btnEl.attr("title"))&&void 0!==_a?_a:"",fallbackTitle=btnEl.text().trim(),title=rawTitle.trim()||fallbackTitle;title.includes("Download Android APP")||linkUrl&&(title.includes("Download")||title.includes("Watch")||title.includes("Join Us"))&&finalLinks.push({title:`${result.title} - ${title}`,quality:"External Link",episodesLink:linkUrl,directLinks:[{title:title,link:linkUrl,type:"movie"}]})}),result.linkList=finalLinks,result}catch(err){return emptyResult}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/ogomovies/posts.js b/dist/ogomovies/posts.js index dd0a089..dc55629 100644 --- a/dist/ogomovies/posts.js +++ b/dist/ogomovies/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getPosts=getPosts,exports.getSearchPosts=getSearchPosts;const defaultHeaders={Referer:"https://www.google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language":"en-US,en;q=0.9",Pragma:"no-cache","Cache-Control":"no-cache"};function getPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:filter,page:page,query:"",signal:signal,providerContext:providerContext})})}function getSearchPosts(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:"",page:page,query:searchQuery,signal:signal,providerContext:providerContext})})}function fetchPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,query:query,page:page=1,signal:signal,providerContext:providerContext}){try{const baseUrl="https://ogomovies.mobi";let url;if(query&&query.trim()){const encodedQuery=encodeURIComponent(query.trim());url=page>1?`${baseUrl}/search-query/${encodedQuery}/page/${page}/`:`${baseUrl}/search-query/${encodedQuery}/`}else url=filter?filter.startsWith("/")?`${baseUrl}${filter.replace(/\/$/,"")}${page>1?`/page/${page}`:""}`:`${baseUrl}/${filter}${page>1?`/page/${page}`:""}`:`${baseUrl}${page>1?`/page/${page}`:""}`;const{axios:axios,cheerio:cheerio}=providerContext,res=yield axios.get(url,{headers:defaultHeaders,signal:signal}),$=cheerio.load(res.data||""),resolveUrl=href=>(null==href?void 0:href.startsWith("http"))?href:new URL(href,baseUrl).href,seen=new Set,catalog=[];return $(".ml-item").each((_,el)=>{var _a;const anchor=$(el).find("a.ml-mask");let link=anchor.attr("href")||"";if(!link)return;if(link=resolveUrl(link),seen.has(link))return;const title=(null===(_a=anchor.attr("title"))||void 0===_a?void 0:_a.trim())||anchor.find("h2").text().trim()||"";let img=anchor.find("img").attr("data-original")||anchor.find("img").attr("src")||"";const image=img?resolveUrl(img):"";title&&image&&(seen.add(link),catalog.push({title:title,link:link,image:image}))}),catalog.slice(0,100)}catch(err){return[]}})} \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getPosts=getPosts,exports.getSearchPosts=getSearchPosts;const defaultHeaders={Referer:"https://www.google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language":"en-US,en;q=0.9",Pragma:"no-cache","Cache-Control":"no-cache"};function getPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:filter,page:page,query:"",signal:signal,providerContext:providerContext})})}function getSearchPosts(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:"",page:page,query:searchQuery,signal:signal,providerContext:providerContext})})}function fetchPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,query:query,page:page=1,signal:signal,providerContext:providerContext}){try{const baseUrl="https://ogomovies.mobi";let url;if(query&&query.trim()){const encodedQuery=encodeURIComponent(query.trim());url=page>1?`${baseUrl}/search-query/${encodedQuery}/page/${page}/`:`${baseUrl}/search-query/${encodedQuery}/`}else url=filter?filter.startsWith("/")?`${baseUrl}${filter.replace(/\/$/,"")}${page>1?`/page/${page}`:""}`:`${baseUrl}/${filter}${page>1?`/page/${page}`:""}`:`${baseUrl}${page>1?`/page/${page}`:""}`;const{axios:axios,cheerio:cheerio}=providerContext,res=yield axios.get(url,{headers:defaultHeaders,signal:signal}),$=cheerio.load(res.data||""),resolveUrl=href=>(null==href?void 0:href.startsWith("http"))?href:new URL(href,baseUrl).href,seen=new Set,catalog=[];return $(".ml-item").each((_,el)=>{var _a;const anchor=$(el).find("a.ml-mask");let link=anchor.attr("href")||"";if(!link)return;if(link=resolveUrl(link),seen.has(link))return;const title=(null===(_a=anchor.attr("title"))||void 0===_a?void 0:_a.trim())||anchor.find("h2").text().trim()||"";let img=anchor.find("img").attr("data-original")||anchor.find("img").attr("src")||"";const image=img?resolveUrl(img):"";title&&image&&(seen.add(link),catalog.push({title:title,link:link,image:image}))}),catalog.slice(0,100)}catch(err){return[]}})} \ No newline at end of file diff --git a/dist/ogomovies/stream.js b/dist/ogomovies/stream.js index 0c24d07..117a6a0 100644 --- a/dist/ogomovies/stream.js +++ b/dist/ogomovies/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=getStream;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,type:type,signal:signal,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext;try{const streamLinks=[],dotlinkRes=yield axios(`${link}`,{headers:headers,signal:signal}),buttonMatches=dotlinkRes.data.matchAll(/download_video\('([^']+)','([^']+)','([^']+)'\)/g);for(const match of buttonMatches){const[,id,mode,hash]=match,dlUrl=`https://cdn.bewab.co/dl?op=download_orig&id=${id}&mode=${mode}&hash=${hash}`;try{const dlText=(yield axios(dlUrl,{headers:headers,signal:signal})).data,$$=cheerio.load(dlText),directMatches=dlText.matchAll(/{var _a;const href=null!==(_a=$$(el).attr("href"))&&void 0!==_a?_a:null;href&&(href.includes(".mkv")||href.includes(".mp4"))&&streamLinks.push({server:"direct",link:href,type:href.endsWith(".mp4")?"mp4":"mkv"})})}catch(err){}}return streamLinks}catch(error){return[]}})} \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=getStream;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,type:type,signal:signal,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext;try{const streamLinks=[],dotlinkRes=yield axios(`${link}`,{headers:headers,signal:signal}),buttonMatches=dotlinkRes.data.matchAll(/download_video\('([^']+)','([^']+)','([^']+)'\)/g);for(const match of buttonMatches){const[,id,mode,hash]=match,dlUrl=`https://cdn.bewab.co/dl?op=download_orig&id=${id}&mode=${mode}&hash=${hash}`;try{const dlText=(yield axios(dlUrl,{headers:headers,signal:signal})).data,$$=cheerio.load(dlText),directMatches=dlText.matchAll(/{var _a;const href=null!==(_a=$$(el).attr("href"))&&void 0!==_a?_a:null;href&&(href.includes(".mkv")||href.includes(".mp4"))&&streamLinks.push({server:"direct",link:href,type:href.endsWith(".mp4")?"mp4":"mkv"})})}catch(err){}}return streamLinks}catch(error){return[]}})} \ No newline at end of file diff --git a/dist/primeMirror/catalog.js b/dist/primeMirror/catalog.js index 8e65032..692f30d 100644 --- a/dist/primeMirror/catalog.js +++ b/dist/primeMirror/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Home",filter:"/mobile/home?app=1"},{title:"Series",filter:"/mobile/series"},{title:"Movies",filter:"/mobile/movies"}],exports.genres=[]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Home",filter:"/mobile/home?app=1"},{title:"Series",filter:"/mobile/series"},{title:"Movies",filter:"/mobile/movies"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/primeMirror/episodes.js b/dist/primeMirror/episodes.js index 42274ad..5d72b47 100644 --- a/dist/primeMirror/episodes.js +++ b/dist/primeMirror/episodes.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:link,providerContext:providerContext}){var _b;const{getBaseUrl:getBaseUrl,axios:axios}=providerContext;try{const url=`${yield getBaseUrl("nfMirror")}/pv/episodes.php?s=`+link+"&t="+Math.round((new Date).getTime()/1e3);let page=1,hasMorePages=!0;const episodeList=[];for(;hasMorePages;){const data=(yield axios.get(url+`&page=${page}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36","Accept-Language":"en-US,en;q=0.9"}})).data;null===(_b=null==data?void 0:data.episodes)||void 0===_b||_b.map(episode=>{episodeList.push({title:"Episode "+(null==episode?void 0:episode.ep.replace("E","")),link:null==episode?void 0:episode.id})}),(null==data?void 0:data.nextPageShow)?page++:hasMorePages=!1}return episodeList.sort((a,b)=>parseInt(a.title.replace("Episode ",""))-parseInt(b.title.replace("Episode ","")))}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:link,providerContext:providerContext}){var _b;const{getBaseUrl:getBaseUrl,axios:axios}=providerContext;try{const url=`${yield getBaseUrl("nfMirror")}/pv/episodes.php?s=`+link+"&t="+Math.round((new Date).getTime()/1e3);let page=1,hasMorePages=!0;const episodeList=[];for(;hasMorePages;){const data=(yield axios.get(url+`&page=${page}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36","Accept-Language":"en-US,en;q=0.9"}})).data;null===(_b=null==data?void 0:data.episodes)||void 0===_b||_b.map(episode=>{episodeList.push({title:"Episode "+(null==episode?void 0:episode.ep.replace("E","")),link:null==episode?void 0:episode.id})}),(null==data?void 0:data.nextPageShow)?page++:hasMorePages=!1}return episodeList.sort((a,b)=>parseInt(a.title.replace("Episode ",""))-parseInt(b.title.replace("Episode ","")))}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/primeMirror/meta.js b/dist/primeMirror/meta.js index 0c16716..1446caa 100644 --- a/dist/primeMirror/meta.js +++ b/dist/primeMirror/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link}){var _b,_c,_d,_e;try{const url=`https://netmirror.8man.dev/api/net-proxy?${"isPrime=true"}&url=${encodeURIComponent(link)}`,res=yield fetch(url,{credentials:"omit"}),data=yield res.json(),id=null===(_b=link.split("id=")[1])||void 0===_b?void 0:_b.split("&")[0],meta={title:data.title,synopsis:data.desc,image:`https://img.nfmirrorcdn.top/poster/h/${id}.jpg`,cast:null===(_c=null==data?void 0:data.short_cast)||void 0===_c?void 0:_c.split(","),tags:[null==data?void 0:data.year,null==data?void 0:data.hdsd,...null===(_d=null==data?void 0:data.thismovieis)||void 0===_d?void 0:_d.split(",")],imdbId:"",type:"series"},linkList=[];return(null===(_e=null==data?void 0:data.season)||void 0===_e?void 0:_e.length)>0?data.season.map(season=>{linkList.push({title:"Season "+(null==season?void 0:season.s),episodesLink:null==season?void 0:season.id})}):linkList.push({title:meta.title,directLinks:[{link:id,title:"Movie",type:"movie"}]}),Object.assign(Object.assign({},meta),{linkList:linkList})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link}){var _b,_c,_d,_e;try{const url=`https://netmirror.8man.dev/api/net-proxy?${"isPrime=true"}&url=${encodeURIComponent(link)}`,res=yield fetch(url,{credentials:"omit"}),data=yield res.json(),id=null===(_b=link.split("id=")[1])||void 0===_b?void 0:_b.split("&")[0],meta={title:data.title,synopsis:data.desc,image:`https://img.nfmirrorcdn.top/poster/h/${id}.jpg`,cast:null===(_c=null==data?void 0:data.short_cast)||void 0===_c?void 0:_c.split(","),tags:[null==data?void 0:data.year,null==data?void 0:data.hdsd,...null===(_d=null==data?void 0:data.thismovieis)||void 0===_d?void 0:_d.split(",")],imdbId:"",type:"series"},linkList=[];return(null===(_e=null==data?void 0:data.season)||void 0===_e?void 0:_e.length)>0?data.season.map(season=>{linkList.push({title:"Season "+(null==season?void 0:season.s),episodesLink:null==season?void 0:season.id})}):linkList.push({title:meta.title,directLinks:[{link:id,title:"Movie",type:"movie"}]}),Object.assign(Object.assign({},meta),{linkList:linkList})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/primeMirror/posts.js b/dist/primeMirror/posts.js index 2c460f0..7011cb6 100644 --- a/dist/primeMirror/posts.js +++ b/dist/primeMirror/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){try{const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("nfMirror"),catalog=[];if(page>1)return[];const url=`https://netmirror.8man.dev/api/net-proxy?${"primeMirror"===providerValue?"isPrime=true":"isPrime=false"}&url=${baseUrl+filter}`,res=yield fetch(url,{signal:signal,method:"GET",credentials:"omit"}),data=yield res.text(),$=cheerio.load(data);return $("a.post-data").map((i,element)=>{const id=$(element).attr("data-post"),image=$(element).find("img").attr("data-src")||"";id&&catalog.push({title:"",link:baseUrl+""+("netflixMirror"===providerValue?"/post.php?id=":"/pv/post.php?id=")+id+"&t="+Math.round((new Date).getTime()/1e3),image:image})}),catalog}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){var _b;const{getBaseUrl:getBaseUrl}=providerContext;try{if(page>1)return[];const catalog=[],baseUrl=yield getBaseUrl("nfMirror"),url=`https://netmirror.8man.dev/api/net-proxy?${"primeMirror"===providerValue?"isPrime=true":"isPrime=false"}&url=${baseUrl}${"netflixMirror"===providerValue?"":"/pv"}/search.php?s=${encodeURI(searchQuery)}`,res=yield fetch(url,{signal:signal,method:"GET",credentials:"omit"}),data=yield res.json();return null===(_b=null==data?void 0:data.searchResult)||void 0===_b||_b.forEach(result=>{const title=(null==result?void 0:result.t)||"",id=null==result?void 0:result.id,image="netflixMirror"===providerValue?`https://imgcdn.media/poster/v/${id}.jpg`:`https://imgcdn.media/pv/341/${id}.jpg`;id&&catalog.push({title:title,link:baseUrl+""+("netflixMirror"===providerValue?"/mobile/post.php?id=":"/mobile/pv/post.php?id=")+id+"&t="+Math.round((new Date).getTime()/1e3),image:image})}),catalog}catch(err){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){try{const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("nfMirror"),catalog=[];if(page>1)return[];const url=`https://netmirror.8man.dev/api/net-proxy?${"primeMirror"===providerValue?"isPrime=true":"isPrime=false"}&url=${baseUrl+filter}`,res=yield fetch(url,{signal:signal,method:"GET",credentials:"omit"}),data=yield res.text(),$=cheerio.load(data);return $("a.post-data").map((i,element)=>{const id=$(element).attr("data-post"),image=$(element).find("img").attr("data-src")||"";id&&catalog.push({title:"",link:baseUrl+""+("netflixMirror"===providerValue?"/post.php?id=":"/pv/post.php?id=")+id+"&t="+Math.round((new Date).getTime()/1e3),image:image})}),catalog}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){var _b;const{getBaseUrl:getBaseUrl}=providerContext;try{if(page>1)return[];const catalog=[],baseUrl=yield getBaseUrl("nfMirror"),url=`https://netmirror.8man.dev/api/net-proxy?${"primeMirror"===providerValue?"isPrime=true":"isPrime=false"}&url=${baseUrl}${"netflixMirror"===providerValue?"":"/pv"}/search.php?s=${encodeURI(searchQuery)}`,res=yield fetch(url,{signal:signal,method:"GET",credentials:"omit"}),data=yield res.json();return null===(_b=null==data?void 0:data.searchResult)||void 0===_b||_b.forEach(result=>{const title=(null==result?void 0:result.t)||"",id=null==result?void 0:result.id,image="netflixMirror"===providerValue?`https://imgcdn.media/poster/v/${id}.jpg`:`https://imgcdn.media/pv/341/${id}.jpg`;id&&catalog.push({title:title,link:baseUrl+""+("netflixMirror"===providerValue?"/mobile/post.php?id=":"/mobile/pv/post.php?id=")+id+"&t="+Math.round((new Date).getTime()/1e3),image:image})}),catalog}catch(err){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/primeMirror/stream.js b/dist/primeMirror/stream.js index 7344585..bbd39bd 100644 --- a/dist/primeMirror/stream.js +++ b/dist/primeMirror/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=_a=>__awaiter(void 0,[_a],void 0,function*({link:id,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;try{let providerValue="primeMirror";const baseUrl=yield getBaseUrl("nfMirror"),url=`https://netmirror.8man.dev/api/net-proxy?url=${baseUrl}${"netflixMirror"===providerValue?"/mobile/playlist.php?id=":"/pv/playlist.php?id="}${id}&t=${Math.round((new Date).getTime()/1e3)}`,res=yield fetch(url,{credentials:"omit"}),resJson=yield res.json(),data=null==resJson?void 0:resJson[0],streamLinks=[];return null==data||data.sources.forEach(source=>{var _a;streamLinks.push({server:source.label,link:(null===(_a=source.file)||void 0===_a?void 0:_a.startsWith("http"))?source.file:`${baseUrl}${source.file}`,type:"m3u8",headers:{Referer:baseUrl,origin:baseUrl,Cookie:"hd=on"}})}),streamLinks}catch(err){return[]}});exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;const getStream=_a=>__awaiter(void 0,[_a],void 0,function*({link:id,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;try{let providerValue="primeMirror";const baseUrl=yield getBaseUrl("nfMirror"),url=`https://netmirror.8man.dev/api/net-proxy?url=${baseUrl}${"netflixMirror"===providerValue?"/mobile/playlist.php?id=":"/pv/playlist.php?id="}${id}&t=${Math.round((new Date).getTime()/1e3)}`,res=yield fetch(url,{credentials:"omit"}),resJson=yield res.json(),data=null==resJson?void 0:resJson[0],streamLinks=[];return null==data||data.sources.forEach(source=>{var _a;streamLinks.push({server:source.label,link:(null===(_a=source.file)||void 0===_a?void 0:_a.startsWith("http"))?source.file:`${baseUrl}${source.file}`,type:"m3u8",headers:{Referer:baseUrl,origin:baseUrl,Cookie:"hd=on"}})}),streamLinks}catch(err){return[]}});exports.getStream=getStream; \ No newline at end of file diff --git a/dist/primewire/catalog.js b/dist/primewire/catalog.js index d1f8df3..0224974 100644 --- a/dist/primewire/catalog.js +++ b/dist/primewire/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Recently Added",filter:"/filter?sort=Just+Added&free_links=true"},{title:"TV Shows",filter:"/filter?sort=Trending+Today&type=tv"},{title:"Movies",filter:"/filter?sort=Trending+Today&type=movie"}],exports.genres=[]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Recently Added",filter:"/filter?sort=Just+Added&free_links=true"},{title:"TV Shows",filter:"/filter?sort=Trending+Today&type=tv"},{title:"Movies",filter:"/filter?sort=Trending+Today&type=movie"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/primewire/meta.js b/dist/primewire/meta.js index 81047d2..b5dfdf6 100644 --- a/dist/primewire/meta.js +++ b/dist/primewire/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,baseUrl=link.split("/").slice(0,3).join("/"),res=yield axios.get(url),html=yield res.data,$=cheerio.load(html),imdbId=(null===(_b=$(".movie_info").find('a[href*="imdb.com/title/tt"]:not([href*="imdb.com/title/tt/"])').attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",type=$(".show_season").html()?"series":"movie",linkList=[];return $(".show_season").each((i,element)=>{const seasonTitle="Season "+$(element).attr("data-id"),episodes=[];$(element).children().each((i,element2)=>{const episodeTitle=$(element2).find("a").children().remove().end().text().trim().replace("E","Epiosode "),episodeLink=baseUrl+$(element2).find("a").attr("href");episodeTitle&&episodeLink&&episodes.push({title:episodeTitle,link:episodeLink})}),linkList.push({title:seasonTitle,directLinks:episodes})}),"movie"===type&&linkList.push({title:"Movie",directLinks:[{link:link,title:"Movie",type:"movie"}]}),{title:"",image:"",imdbId:imdbId,synopsis:"",type:type,linkList:linkList}}catch(error){return{title:"",image:"",imdbId:"",synopsis:"",linkList:[],type:"uhd"}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,baseUrl=link.split("/").slice(0,3).join("/"),res=yield axios.get(url),html=yield res.data,$=cheerio.load(html),imdbId=(null===(_b=$(".movie_info").find('a[href*="imdb.com/title/tt"]:not([href*="imdb.com/title/tt/"])').attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",type=$(".show_season").html()?"series":"movie",linkList=[];return $(".show_season").each((i,element)=>{const seasonTitle="Season "+$(element).attr("data-id"),episodes=[];$(element).children().each((i,element2)=>{const episodeTitle=$(element2).find("a").children().remove().end().text().trim().replace("E","Epiosode "),episodeLink=baseUrl+$(element2).find("a").attr("href");episodeTitle&&episodeLink&&episodes.push({title:episodeTitle,link:episodeLink})}),linkList.push({title:seasonTitle,directLinks:episodes})}),"movie"===type&&linkList.push({title:"Movie",directLinks:[{link:link,title:"Movie",type:"movie"}]}),{title:"",image:"",imdbId:imdbId,synopsis:"",type:type,linkList:linkList}}catch(error){return{title:"",image:"",imdbId:"",synopsis:"",linkList:[],type:"uhd"}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/primewire/posts.js b/dist/primewire/posts.js index db194e0..941c078 100644 --- a/dist/primewire/posts.js +++ b/dist/primewire/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("primewire");return posts({baseUrl:baseUrl,url:`${baseUrl+filter}&page=${page}`,signal:signal,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio,Aes:Aes}=providerContext,baseUrl=yield getBaseUrl("primewire");return posts({baseUrl:baseUrl,url:`${baseUrl}/filter?s=${searchQuery}&page=${page}&ds=${(yield function(input){return __awaiter(this,void 0,void 0,function*(){return yield Aes.sha1(input)})}(searchQuery+"JyjId97F9PVqUPuMO0")).slice(0,10)}`,signal:signal,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({baseUrl:baseUrl,url:url,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data),catalog=[];return $(".index_item.index_item_ie").map((i,element)=>{const title=$(element).find("a").attr("title"),link=$(element).find("a").attr("href"),image=$(element).find("img").attr("src")||"";title&&link&&catalog.push({title:title,link:baseUrl+link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("primewire");return posts({baseUrl:baseUrl,url:`${baseUrl+filter}&page=${page}`,signal:signal,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio,Aes:Aes}=providerContext,baseUrl=yield getBaseUrl("primewire");return posts({baseUrl:baseUrl,url:`${baseUrl}/filter?s=${searchQuery}&page=${page}&ds=${(yield function(input){return __awaiter(this,void 0,void 0,function*(){return yield Aes.sha1(input)})}(searchQuery+"JyjId97F9PVqUPuMO0")).slice(0,10)}`,signal:signal,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({baseUrl:baseUrl,url:url,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data),catalog=[];return $(".index_item.index_item_ie").map((i,element)=>{const title=$(element).find("a").attr("title"),link=$(element).find("a").attr("href"),image=$(element).find("img").attr("src")||"";title&&link&&catalog.push({title:title,link:baseUrl+link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/primewire/stream.js b/dist/primewire/stream.js index deb5bcb..6259d6c 100644 --- a/dist/primewire/stream.js +++ b/dist/primewire/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url,type:type,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g;const{axios:axios,cheerio:cheerio}=providerContext;try{const baseUrl=url.split("/").slice(0,3).join("/"),streamLinks=[],urls=[],data=(yield axios.get(url)).data,$=cheerio.load(data);$('tr:contains("mixdrop")').map((i,element)=>{const id=$(element).find(".wp-menu-btn").attr("data-wp-menu"),size=$(element).find(".wp-menu-btn").next().text();id&&urls.push({id:baseUrl+"/links/go/"+id,size:size})});for(const url of urls){const res2=yield axios.head(url.id),location=null===(_b=res2.request)||void 0===_b?void 0:_b.responseURL.replace("/f/","/e/"),res3=yield fetch(location,{credentials:"include",headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8","Accept-Language":"en-US,en;q=0.5","Upgrade-Insecure-Requests":"1","Sec-Fetch-Dest":"iframe","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"same-origin",Pragma:"no-cache","Cache-Control":"no-cache",referer:null===(_c=res2.request)||void 0===_c?void 0:_c.responseURL},referrer:null===(_d=res2.request)||void 0===_d?void 0:_d.responseURL,method:"GET",mode:"cors"}),data3=yield res3.text();var match=/eval\(function\((.*?)\)\{.*?return p\}.*?\('(.*?)'\.split/.exec(data3);let p="";if(match){var encodedString=match[2];const base=Number(encodedString.split(",'|MDCore|")[0].split(",")[encodedString.split(",'|MDCore|")[0].split(",").length-1]);p=null===(_e=encodedString.split(`',${base},`))||void 0===_e?void 0:_e[0].trim();let a=base,c=encodedString.split(`',${base},`)[1].slice(2).split("|").length,k=encodedString.split(`',${base},`)[1].slice(2).split("|");const decode=function(p,a,c,k,e,d){if(e=function(c){return c.toString(36)},!"".replace(/^/,String)){for(;c--;)d[c.toString(a)]=k[c]||c.toString(a);k=[function(e){return d[e]}],e=function(){return"\\w+"},c=1}for(;c--;)k[c]&&(p=p.replace(new RegExp("\\b"+e(c)+"\\b","g"),k[c]));return p},decoded=decode(p,a,c,k,0,{}),streamUrl="https:"+(null===(_f=decoded.match(/MDCore\.wurl="([^"]+)"/))||void 0===_f?void 0:_f[1]);streamLinks.push({server:"Mixdrop "+url.size,link:streamUrl,type:"mp4",headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8","Accept-Language":"en-US,en;q=0.5","Upgrade-Insecure-Requests":"1","Sec-Fetch-Dest":"iframe","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"same-origin",Pragma:"no-cache","Cache-Control":"no-cache",referer:null===(_g=res2.request)||void 0===_g?void 0:_g.responseURL}})}}return streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url,type:type,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g;const{axios:axios,cheerio:cheerio}=providerContext;try{const baseUrl=url.split("/").slice(0,3).join("/"),streamLinks=[],urls=[],data=(yield axios.get(url)).data,$=cheerio.load(data);$('tr:contains("mixdrop")').map((i,element)=>{const id=$(element).find(".wp-menu-btn").attr("data-wp-menu"),size=$(element).find(".wp-menu-btn").next().text();id&&urls.push({id:baseUrl+"/links/go/"+id,size:size})});for(const url of urls){const res2=yield axios.head(url.id),location=null===(_b=res2.request)||void 0===_b?void 0:_b.responseURL.replace("/f/","/e/"),res3=yield fetch(location,{credentials:"include",headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8","Accept-Language":"en-US,en;q=0.5","Upgrade-Insecure-Requests":"1","Sec-Fetch-Dest":"iframe","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"same-origin",Pragma:"no-cache","Cache-Control":"no-cache",referer:null===(_c=res2.request)||void 0===_c?void 0:_c.responseURL},referrer:null===(_d=res2.request)||void 0===_d?void 0:_d.responseURL,method:"GET",mode:"cors"}),data3=yield res3.text();var match=/eval\(function\((.*?)\)\{.*?return p\}.*?\('(.*?)'\.split/.exec(data3);let p="";if(match){var encodedString=match[2];const base=Number(encodedString.split(",'|MDCore|")[0].split(",")[encodedString.split(",'|MDCore|")[0].split(",").length-1]);p=null===(_e=encodedString.split(`',${base},`))||void 0===_e?void 0:_e[0].trim();let a=base,c=encodedString.split(`',${base},`)[1].slice(2).split("|").length,k=encodedString.split(`',${base},`)[1].slice(2).split("|");const decode=function(p,a,c,k,e,d){if(e=function(c){return c.toString(36)},!"".replace(/^/,String)){for(;c--;)d[c.toString(a)]=k[c]||c.toString(a);k=[function(e){return d[e]}],e=function(){return"\\w+"},c=1}for(;c--;)k[c]&&(p=p.replace(new RegExp("\\b"+e(c)+"\\b","g"),k[c]));return p},decoded=decode(p,a,c,k,0,{}),streamUrl="https:"+(null===(_f=decoded.match(/MDCore\.wurl="([^"]+)"/))||void 0===_f?void 0:_f[1]);streamLinks.push({server:"Mixdrop "+url.size,link:streamUrl,type:"mp4",headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8","Accept-Language":"en-US,en;q=0.5","Upgrade-Insecure-Requests":"1","Sec-Fetch-Dest":"iframe","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"same-origin",Pragma:"no-cache","Cache-Control":"no-cache",referer:null===(_g=res2.request)||void 0===_g?void 0:_g.responseURL}})}}return streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/protonMovies/catalog.js b/dist/protonMovies/catalog.js index 040fedf..d5474d0 100644 --- a/dist/protonMovies/catalog.js +++ b/dist/protonMovies/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:"/movies"},{title:"Netflix",filter:"/platform/netflix"},{title:"Disney +",filter:"/platform/disney-hotstar"},{title:"Amazon Prime",filter:"/platform/amazon-prime-video"}],exports.genres=[]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:"/movies"},{title:"Netflix",filter:"/platform/netflix"},{title:"Disney +",filter:"/platform/disney-hotstar"},{title:"Amazon Prime",filter:"/platform/amazon-prime-video"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/protonMovies/meta.js b/dist/protonMovies/meta.js index 28e93ec..4cca9ae 100644 --- a/dist/protonMovies/meta.js +++ b/dist/protonMovies/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f;try{const{axios:axios,cheerio:cheerio,getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("protonMovies"),data=(yield axios.get(`${baseUrl}${link}`)).data;const htmlArray=null===(_f=null===(_e=null===(_d=null===(_c=null===(_b=cheerio.load(data)('script:contains("decodeURIComponent")').text().split(" = "))||void 0===_b?void 0:_b[1])||void 0===_c?void 0:_c.split("protomovies"))||void 0===_d?void 0:_d[0])||void 0===_e?void 0:_e.trim())||void 0===_f?void 0:_f.slice(0,-1),html=JSON.parse(htmlArray).join("").replace(/\\"/g,'"').replace(/\\'/g,"'").replace(/\\n/g,"\n").replace(/\\t/g,"\t").replace(/\\r/g,"\r").replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&"),$=cheerio.load(html),title=$(".trending-text.fw-bold.texture-text.text-uppercase.my-0.fadeInLeft.animated.d-inline-block").text(),image=$("#thumbnail").attr("src"),type=link.includes("series")?"series":"movie",synopsis=$(".col-12.iq-mb-30.animated.fadeIn").first().text()||$(".description-content").text(),tags=$(".p-0.mt-2.list-inline.d-flex.flex-wrap.movie-tag").find("li").map((i,el)=>$(el).text()).slice(0,3).get(),links=[];if("movie"===type){const directLinks=[];directLinks.push({title:"Movie",link:baseUrl+link}),links.push({title:"Movie",directLinks:directLinks})}else $("#episodes").children().map((i,element)=>{let directLinks=[];$(element).find(".episode-block").map((j,ep)=>{const link=baseUrl+$(ep).find("a").attr("href")||"",title="Episode "+$(ep).find(".episode-number").text().split("E")[1];directLinks.push({title:title,link:link})}),links.push({title:"Season "+(i+1),directLinks:directLinks})});return{image:image||"",imdbId:"",linkList:links,title:title||"",synopsis:synopsis,tags:tags,type:type}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f;try{const{axios:axios,cheerio:cheerio,getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("protonMovies"),data=(yield axios.get(`${baseUrl}${link}`)).data;const htmlArray=null===(_f=null===(_e=null===(_d=null===(_c=null===(_b=cheerio.load(data)('script:contains("decodeURIComponent")').text().split(" = "))||void 0===_b?void 0:_b[1])||void 0===_c?void 0:_c.split("protomovies"))||void 0===_d?void 0:_d[0])||void 0===_e?void 0:_e.trim())||void 0===_f?void 0:_f.slice(0,-1),html=JSON.parse(htmlArray).join("").replace(/\\"/g,'"').replace(/\\'/g,"'").replace(/\\n/g,"\n").replace(/\\t/g,"\t").replace(/\\r/g,"\r").replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&"),$=cheerio.load(html),title=$(".trending-text.fw-bold.texture-text.text-uppercase.my-0.fadeInLeft.animated.d-inline-block").text(),image=$("#thumbnail").attr("src"),type=link.includes("series")?"series":"movie",synopsis=$(".col-12.iq-mb-30.animated.fadeIn").first().text()||$(".description-content").text(),tags=$(".p-0.mt-2.list-inline.d-flex.flex-wrap.movie-tag").find("li").map((i,el)=>$(el).text()).slice(0,3).get(),links=[];if("movie"===type){const directLinks=[];directLinks.push({title:"Movie",link:baseUrl+link}),links.push({title:"Movie",directLinks:directLinks})}else $("#episodes").children().map((i,element)=>{let directLinks=[];$(element).find(".episode-block").map((j,ep)=>{const link=baseUrl+$(ep).find("a").attr("href")||"",title="Episode "+$(ep).find(".episode-number").text().split("E")[1];directLinks.push({title:title,link:link})}),links.push({title:"Season "+(i+1),directLinks:directLinks})});return{image:image||"",imdbId:"",linkList:links,title:title||"",synopsis:synopsis,tags:tags,type:type}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/protonMovies/posts.js b/dist/protonMovies/posts.js index 5878fd5..4295e90 100644 --- a/dist/protonMovies/posts.js +++ b/dist/protonMovies/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("protonMovies");return posts({url:`${baseUrl+filter}/page/${page}/`,baseUrl:baseUrl,signal:signal,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("protonMovies");return posts({url:`${baseUrl}/search/${searchQuery}/page/${page}/`,baseUrl:baseUrl,signal:signal,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,baseUrl:baseUrl,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{headers:{referer:baseUrl},signal:signal})).data,regex=/\[(?=.*?"
").replace(/&/g,"&"),$=cheerio.load(html),catalog=[];return $(".col.mb-4").map((i,element)=>{const title=$(element).find("h5").text(),link=$(element).find("h5").find("a").attr("href"),image=$(element).find("img").attr("data-src")||$(element).find("img").attr("src")||"";title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("protonMovies");return posts({url:`${baseUrl+filter}/page/${page}/`,baseUrl:baseUrl,signal:signal,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("protonMovies");return posts({url:`${baseUrl}/search/${searchQuery}/page/${page}/`,baseUrl:baseUrl,signal:signal,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,baseUrl:baseUrl,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{headers:{referer:baseUrl},signal:signal})).data,regex=/\[(?=.*?"
").replace(/&/g,"&"),$=cheerio.load(html),catalog=[];return $(".col.mb-4").map((i,element)=>{const title=$(element).find("h5").text(),link=$(element).find("h5").find("a").attr("href"),image=$(element).find("img").attr("data-src")||$(element).find("img").attr("src")||"";title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/protonMovies/stream.js b/dist/protonMovies/stream.js index 7d22af3..5099068 100644 --- a/dist/protonMovies/stream.js +++ b/dist/protonMovies/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function LALLJLutmoZpvvbikjaWM(str){for(var buf=new ArrayBuffer(2*str.length),bufView=new Uint8Array(buf),i=0,strLen=str.length;i").replace(/&/g,"&"),$=cheerio.load(html),idList=[],id1080=null===(_g=$('tr:contains("1080p")').find('button:contains("Info")').attr("id"))||void 0===_g?void 0:_g.split("-")[1];id1080&&idList.push({id:id1080,quality:"1080p"});const id720=null===(_h=$('tr:contains("720p")').find('button:contains("Info")').attr("id"))||void 0===_h?void 0:_h.split("-")[1];id720&&idList.push({id:id720,quality:"720p"});const id480=null===(_j=$('tr:contains("480p")').find('button:contains("Info")').attr("id"))||void 0===_j?void 0:_j.split("-")[1];id480&&idList.push({id:id480,quality:"480p"});const baseUrl=link.split("/").slice(0,3).join("/"),secondIdList=[];return yield Promise.all(idList.slice(0,2).map(id=>__awaiter(this,void 0,void 0,function*(){const formData=new URLSearchParams;formData.append("downloadid",id.id),formData.append("token","ok");const messageToken=(jRpeP=LALLJLutmoZpvvbikjaWM(`[hostname=${null==(baseUrlL=baseUrl)?void 0:baseUrlL.replace(/https?:\/\//,"").split("/")[0]}][agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0][tmz=India Standard Time][userTimezoneOffset=-330][{"url":"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js","type":"script","duration":253.30000000074506},{"url":"https://challenges.cloudflare.com/turnstile/v0/api.js?onload=onloadTurnstileCallback","type":"script","duration":397.19999999925494},{"url":"https://adoto.net/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js","type":"img","duration":225.90000000223517},{"url":"https://code.jquery.com/jquery-3.3.1.slim.min.js","type":"script","duration":65.30000000074506},{"url":"https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015","type":"script","duration":225.89999999850988},{"url":"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js","type":"script","duration":253.30000000074506},{"url":"https://challenges.cloudflare.com/turnstile/v0/api.js?onload=onloadTurnstileCallback","type":"script","duration":397.19999999925494},{"url":"https://adoto.net/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js","type":"img","duration":225.90000000223517},{"url":"https://code.jquery.com/jquery-3.3.1.slim.min.js","type":"script","duration":65.30000000074506},{"url":"https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015","type":"script","duration":225.89999999850988},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/new/normal/auto/","type":"iframe","duration":2050.300000000745},{"url":"https://new19.gdtot.dad/favicon.ico","type":"img","duration":1003.6999999992549},{"url":"https://vikingfile.com/assets/favicon-64375c377b5df8304acbdad4f4430694.ico","type":"img","duration":183.19999999925494},{"url":"https://gofile.io/dist/img/favicon32.png","type":"img","duration":19177.199999999255},{"url":"https://pub.clickadu.com/assets/scripts/supported-browsers.js","type":"fetch","duration":18.799999997019768},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/auto_expire/normal/auto/","type":"iframe","duration":1612.5999999977648},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/auto_expire/normal/auto/","type":"iframe","duration":1154.0999999977648},{"url":"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js","type":"script","duration":253.30000000074506},{"url":"https://challenges.cloudflare.com/turnstile/v0/api.js?onload=onloadTurnstileCallback","type":"script","duration":397.19999999925494},{"url":"https://adoto.net/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js","type":"img","duration":225.90000000223517},{"url":"https://code.jquery.com/jquery-3.3.1.slim.min.js","type":"script","duration":65.30000000074506},{"url":"https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015","type":"script","duration":225.89999999850988},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/new/normal/auto/","type":"iframe","duration":2050.300000000745},{"url":"https://new19.gdtot.dad/favicon.ico","type":"img","duration":1003.6999999992549},{"url":"https://vikingfile.com/assets/favicon-64375c377b5df8304acbdad4f4430694.ico","type":"img","duration":183.19999999925494},{"url":"https://gofile.io/dist/img/favicon32.png","type":"img","duration":19177.199999999255},{"url":"https://pub.clickadu.com/assets/scripts/supported-browsers.js","type":"fetch","duration":18.799999997019768},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/auto_expire/normal/auto/","type":"iframe","duration":1612.5999999977648},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/auto_expire/normal/auto/","type":"iframe","duration":1154.0999999977648},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/auto_expire/normal/auto/","type":"iframe","duration":986}][{"elements":{"div":70,"span":68,"img":4,"iframe":0,"script":28,"link":20,"p":5,"a":213,"ul":28,"li":208,"button":9,"input":5},"hidden":{"div":13,"span":60,"img":1,"iframe":0,"script":28,"link":20,"p":0,"a":186,"ul":22,"li":184,"button":6,"input":2},"errors":{"network":0,"js":0},"eventListeners":0}]`),new Uint8Array(jRpeP).toString().replace(/2/g,"004").replace(/3/g,"005").replace(/7/g,"007").replace(/,0,0,0/g,""));var baseUrlL,jRpeP;const uid=getOrCreateUID(),idRes=yield fetch(`${baseUrl}/ppd.php`,{headers:{accept:"*/*","accept-language":"en-US,en;q=0.9,en-IN;q=0.8","cache-control":"no-cache","content-type":"application/x-www-form-urlencoded",pragma:"no-cache",priority:"u=1, i","sec-ch-ua":'"Chromium";v="136", "Microsoft Edge";v="136", "Not.A/Brand";v="99"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"empty","sec-fetch-mode":"cors","sec-fetch-site":"same-origin",cookie:"ext_name=ojplmecpdpgccookcobabopnaifgidhf; tgInvite222=true; cf_clearance=3ynJv2B6lHMj3FCOqtfQaL7lTN4KC3xmPRMgcNtddAc-1748787867-1.2.1.1-SEIhLbWR3ehfib5Y3P5pjzj1Qu9wipc52Icv4AmNkztXn2pTXhjKgxXnvTuA2bNscgHuc1juXujAHteqY_vaMmy2C3djMWnJGzjje_XvXZXKht8rwHZt6sviq7KAYvrYZPTrATqENuopzmqmK6dDFS.CAnWHt0VDn8q06iLm5rYj1AXUo3qkV5p1Idx_25elWHYGG8yengBrQV1MYVM9LMdQqv44PXu69FZvNkgv.d6blCKyneJnoLkw4LHAccu.QRPbFwWqqTDyO9YTLRQW9w29bKghD3_JVxkz.qxpg5FbocJ3i6tJJy74SvROpYdpVUOn0fW1YgQ7RxYwhNoHpdTKy8pvmQJGRuSVW1GjO_k",Referer:"https://m3.protonmovies.top/download/","Referrer-Policy":"strict-origin-when-cross-origin"},body:`downloadid=${id.id}&msg=${messageToken}&uid=${uid}&token=ok`,method:"POST"}),idData=yield idRes.text();secondIdList.push({quality:id.quality,id:idData})}))),yield Promise.all(secondIdList.map(id=>__awaiter(this,void 0,void 0,function*(){const idRes=yield axios.post(`${baseUrl}/tmp/${id.id}`);if(idRes.data.ppd["gofile.io"]){const goRes=yield gofileExtracter(idRes.data.ppd["gofile.io"].link.split("/").pop());goRes.link&&streamLinks.push({link:goRes.link,server:"gofile "+id.quality,type:"mkv",headers:{referer:"https://gofile.io",connection:"keep-alive",contentType:"video/x-matroska",cookie:"accountToken="+goRes.token}})}}))),streamLinks}catch(e){return[]}})};exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;__awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function gofileExtractor(id,axios){return __awaiter(this,void 0,void 0,function*(){try{yield axios.get("https://gofile.io/d/"+id);const token=(yield axios.post("https://api.gofile.io/accounts")).data.data.token,wt=(yield axios.get("https://gofile.io/dist/js/global.js")).data.match(/appdata\.wt\s*=\s*["']([^"']+)["']/)[1],res=yield axios.get(`https://api.gofile.io/contents/${id}?wt=${wt}`,{headers:{Authorization:`Bearer ${token}`}}),oId=Object.keys(res.data.data.children)[0];return{link:res.data.data.children[oId].link,token:token}}catch(e){return{link:"",token:""}}})}function LALLJLutmoZpvvbikjaWM(str){for(var buf=new ArrayBuffer(2*str.length),bufView=new Uint8Array(buf),i=0,strLen=str.length;i").replace(/&/g,"&"),$=cheerio.load(html),idList=[],id1080=null===(_g=$('tr:contains("1080p")').find('button:contains("Info")').attr("id"))||void 0===_g?void 0:_g.split("-")[1];id1080&&idList.push({id:id1080,quality:"1080p"});const id720=null===(_h=$('tr:contains("720p")').find('button:contains("Info")').attr("id"))||void 0===_h?void 0:_h.split("-")[1];id720&&idList.push({id:id720,quality:"720p"});const id480=null===(_j=$('tr:contains("480p")').find('button:contains("Info")').attr("id"))||void 0===_j?void 0:_j.split("-")[1];id480&&idList.push({id:id480,quality:"480p"});const baseUrl=link.split("/").slice(0,3).join("/"),secondIdList=[];return yield Promise.all(idList.slice(0,2).map(id=>__awaiter(this,void 0,void 0,function*(){const formData=new URLSearchParams;formData.append("downloadid",id.id),formData.append("token","ok");const messageToken=(jRpeP=LALLJLutmoZpvvbikjaWM(`[hostname=${null==(baseUrlL=baseUrl)?void 0:baseUrlL.replace(/https?:\/\//,"").split("/")[0]}][agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0][tmz=India Standard Time][userTimezoneOffset=-330][{"url":"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js","type":"script","duration":253.30000000074506},{"url":"https://challenges.cloudflare.com/turnstile/v0/api.js?onload=onloadTurnstileCallback","type":"script","duration":397.19999999925494},{"url":"https://adoto.net/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js","type":"img","duration":225.90000000223517},{"url":"https://code.jquery.com/jquery-3.3.1.slim.min.js","type":"script","duration":65.30000000074506},{"url":"https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015","type":"script","duration":225.89999999850988},{"url":"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js","type":"script","duration":253.30000000074506},{"url":"https://challenges.cloudflare.com/turnstile/v0/api.js?onload=onloadTurnstileCallback","type":"script","duration":397.19999999925494},{"url":"https://adoto.net/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js","type":"img","duration":225.90000000223517},{"url":"https://code.jquery.com/jquery-3.3.1.slim.min.js","type":"script","duration":65.30000000074506},{"url":"https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015","type":"script","duration":225.89999999850988},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/new/normal/auto/","type":"iframe","duration":2050.300000000745},{"url":"https://new19.gdtot.dad/favicon.ico","type":"img","duration":1003.6999999992549},{"url":"https://vikingfile.com/assets/favicon-64375c377b5df8304acbdad4f4430694.ico","type":"img","duration":183.19999999925494},{"url":"https://gofile.io/dist/img/favicon32.png","type":"img","duration":19177.199999999255},{"url":"https://pub.clickadu.com/assets/scripts/supported-browsers.js","type":"fetch","duration":18.799999997019768},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/auto_expire/normal/auto/","type":"iframe","duration":1612.5999999977648},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/auto_expire/normal/auto/","type":"iframe","duration":1154.0999999977648},{"url":"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js","type":"script","duration":253.30000000074506},{"url":"https://challenges.cloudflare.com/turnstile/v0/api.js?onload=onloadTurnstileCallback","type":"script","duration":397.19999999925494},{"url":"https://adoto.net/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js","type":"img","duration":225.90000000223517},{"url":"https://code.jquery.com/jquery-3.3.1.slim.min.js","type":"script","duration":65.30000000074506},{"url":"https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015","type":"script","duration":225.89999999850988},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/new/normal/auto/","type":"iframe","duration":2050.300000000745},{"url":"https://new19.gdtot.dad/favicon.ico","type":"img","duration":1003.6999999992549},{"url":"https://vikingfile.com/assets/favicon-64375c377b5df8304acbdad4f4430694.ico","type":"img","duration":183.19999999925494},{"url":"https://gofile.io/dist/img/favicon32.png","type":"img","duration":19177.199999999255},{"url":"https://pub.clickadu.com/assets/scripts/supported-browsers.js","type":"fetch","duration":18.799999997019768},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/auto_expire/normal/auto/","type":"iframe","duration":1612.5999999977648},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/auto_expire/normal/auto/","type":"iframe","duration":1154.0999999977648},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/auto_expire/normal/auto/","type":"iframe","duration":986}][{"elements":{"div":70,"span":68,"img":4,"iframe":0,"script":28,"link":20,"p":5,"a":213,"ul":28,"li":208,"button":9,"input":5},"hidden":{"div":13,"span":60,"img":1,"iframe":0,"script":28,"link":20,"p":0,"a":186,"ul":22,"li":184,"button":6,"input":2},"errors":{"network":0,"js":0},"eventListeners":0}]`),new Uint8Array(jRpeP).toString().replace(/2/g,"004").replace(/3/g,"005").replace(/7/g,"007").replace(/,0,0,0/g,""));var baseUrlL,jRpeP;const uid=getOrCreateUID(),idRes=yield fetch(`${baseUrl}/ppd.php`,{headers:{accept:"*/*","accept-language":"en-US,en;q=0.9,en-IN;q=0.8","cache-control":"no-cache","content-type":"application/x-www-form-urlencoded",pragma:"no-cache",priority:"u=1, i","sec-ch-ua":'"Chromium";v="136", "Microsoft Edge";v="136", "Not.A/Brand";v="99"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"empty","sec-fetch-mode":"cors","sec-fetch-site":"same-origin",cookie:"ext_name=ojplmecpdpgccookcobabopnaifgidhf; tgInvite222=true; cf_clearance=3ynJv2B6lHMj3FCOqtfQaL7lTN4KC3xmPRMgcNtddAc-1748787867-1.2.1.1-SEIhLbWR3ehfib5Y3P5pjzj1Qu9wipc52Icv4AmNkztXn2pTXhjKgxXnvTuA2bNscgHuc1juXujAHteqY_vaMmy2C3djMWnJGzjje_XvXZXKht8rwHZt6sviq7KAYvrYZPTrATqENuopzmqmK6dDFS.CAnWHt0VDn8q06iLm5rYj1AXUo3qkV5p1Idx_25elWHYGG8yengBrQV1MYVM9LMdQqv44PXu69FZvNkgv.d6blCKyneJnoLkw4LHAccu.QRPbFwWqqTDyO9YTLRQW9w29bKghD3_JVxkz.qxpg5FbocJ3i6tJJy74SvROpYdpVUOn0fW1YgQ7RxYwhNoHpdTKy8pvmQJGRuSVW1GjO_k",Referer:"https://m3.protonmovies.top/download/","Referrer-Policy":"strict-origin-when-cross-origin"},body:`downloadid=${id.id}&msg=${messageToken}&uid=${uid}&token=ok`,method:"POST"}),idData=yield idRes.text();secondIdList.push({quality:id.quality,id:idData})}))),yield Promise.all(secondIdList.map(id=>__awaiter(this,void 0,void 0,function*(){const idRes=yield axios.post(`${baseUrl}/tmp/${id.id}`);if(idRes.data.ppd["gofile.io"]){const goRes=yield gofileExtractor(idRes.data.ppd["gofile.io"].link.split("/").pop(),axios);goRes.link&&streamLinks.push({link:goRes.link,server:"gofile "+id.quality,type:"mkv",headers:{referer:"https://gofile.io",connection:"keep-alive",contentType:"video/x-matroska",cookie:"accountToken="+goRes.token}})}}))),streamLinks}catch(e){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/providerContext.js b/dist/providerContext.js index ac0e106..f80e330 100644 --- a/dist/providerContext.js +++ b/dist/providerContext.js @@ -1 +1 @@ -"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);desc&&!("get"in desc?!m.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=this&&this.__importStar||function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o){var ar=[];for(var k in o)Object.prototype.hasOwnProperty.call(o,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(null!=mod)for(var k=ownKeys(mod),i=0;i{(null==video?void 0:video.season)<=0||(season.has(null==video?void 0:video.season)||season.set(null==video?void 0:video.season,[]),season.get(null==video?void 0:video.season).push({title:"Episode "+(null==video?void 0:video.episode),link:""}))});for(const[seasonNum,episodes]of season.entries())links.push({title:"Season "+seasonNum,directLinks:episodes})}else directLinks.push({title:"Movie",link:link}),links.push({title:"Movie",directLinks:directLinks});return Object.assign(Object.assign({},meta),{linkList:links})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h;try{const{getBaseUrl:getBaseUrl,axios:axios}=providerContext,data=(yield axios.get(link)).data,meta={title:"",synopsis:"",image:"",imdbId:(null===(_b=null==data?void 0:data.meta)||void 0===_b?void 0:_b.imdb_id)||"",type:(null===(_c=null==data?void 0:data.meta)||void 0===_c?void 0:_c.type)||"movie"},baseUrl=yield getBaseUrl("ridomovies");let slug="";try{const data2=(yield axios.get(baseUrl+"/core/api/search?q="+meta.imdbId)).data;if(slug=null===(_e=null===(_d=null==data2?void 0:data2.data)||void 0===_d?void 0:_d.items[0])||void 0===_e?void 0:_e.fullSlug,!slug||"series"===(null==meta?void 0:meta.type))return{title:"",synopsis:"",image:"",imdbId:(null===(_f=null==data?void 0:data.meta)||void 0===_f?void 0:_f.imdb_id)||"",type:(null==meta?void 0:meta.type)||"movie",linkList:[]}}catch(err){return{title:"",synopsis:"",image:"",imdbId:(null==meta?void 0:meta.imdbId)||"",type:(null==meta?void 0:meta.type)||"movie",linkList:[]}}const links=[];let directLinks=[],season=new Map;if("series"===meta.type){null===(_h=null===(_g=null==data?void 0:data.meta)||void 0===_g?void 0:_g.videos)||void 0===_h||_h.map(video=>{(null==video?void 0:video.season)<=0||(season.has(null==video?void 0:video.season)||season.set(null==video?void 0:video.season,[]),season.get(null==video?void 0:video.season).push({title:"Episode "+(null==video?void 0:video.episode),link:""}))});for(const[seasonNum,episodes]of season.entries())links.push({title:"Season "+seasonNum,directLinks:episodes})}else directLinks.push({title:"Movie",link:link}),links.push({title:"Movie",directLinks:directLinks});return Object.assign(Object.assign({},meta),{linkList:links})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/ridoMovies/posts.js b/dist/ridoMovies/posts.js index b15b8a0..a1f3947 100644 --- a/dist/ridoMovies/posts.js +++ b/dist/ridoMovies/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,signal:signal,providerContext:providerContext}){try{const catalog=[],url="https://cinemeta-catalogs.strem.io"+filter,data=(yield providerContext.axios.get(url,{headers:providerContext.commonHeaders,signal:signal})).data;return null==data||data.metas.map(result=>{const title=null==result?void 0:result.name,id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),type=null==result?void 0:result.type,image=null==result?void 0:result.poster;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})}),catalog}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){try{const{axios:axios,commonHeaders:headers}=providerContext;if(page>1)return[];const catalog=[],url2=`https://v3-cinemeta.strem.io/catalog/movie/top/search=${encodeURI(searchQuery)}.json`,data2=(yield axios.get(url2,{headers:headers,signal:signal})).data;return null==data2||data2.metas.map(result=>{const title=(null==result?void 0:result.name)||"",id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),image=null==result?void 0:result.poster,type=null==result?void 0:result.type;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})}),catalog}catch(err){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,signal:signal,providerContext:providerContext}){try{const catalog=[],url="https://cinemeta-catalogs.strem.io"+filter,data=(yield providerContext.axios.get(url,{headers:providerContext.commonHeaders,signal:signal})).data;return null==data||data.metas.map(result=>{const title=null==result?void 0:result.name,id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),type=null==result?void 0:result.type,image=null==result?void 0:result.poster;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})}),catalog}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){try{const{axios:axios,commonHeaders:headers}=providerContext;if(page>1)return[];const catalog=[],url2=`https://v3-cinemeta.strem.io/catalog/movie/top/search=${encodeURI(searchQuery)}.json`,data2=(yield axios.get(url2,{headers:headers,signal:signal})).data;return null==data2||data2.metas.map(result=>{const title=(null==result?void 0:result.name)||"",id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),image=null==result?void 0:result.poster,type=null==result?void 0:result.type;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})}),catalog}catch(err){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/ridoMovies/stream.js b/dist/ridoMovies/stream.js index 4c408c8..f138097 100644 --- a/dist/ridoMovies/stream.js +++ b/dist/ridoMovies/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=_a=>__awaiter(void 0,[_a],void 0,function*({link:data,providerContext:providerContext}){var _b,_c;try{const{cheerio:cheerio,commonHeaders:headers,axios:axios}=providerContext,streamData=JSON.parse(data),streamLinks=[],url=(null==streamData?void 0:streamData.baseUrl)+"/api/"+(null==streamData?void 0:streamData.slug),res=yield axios.get(url,{headers:headers}),iframeUrl=(null===(_c=null===(_b=res.data.data)||void 0===_b?void 0:_b[0])||void 0===_c?void 0:_c.url).split('src="')[1].split('"')[0],iframeRes=yield axios.get(iframeUrl,{headers:Object.assign(Object.assign({},headers),{Referer:null==streamData?void 0:streamData.baseUrl})}),script=cheerio.load(iframeRes.data)('script:contains("eval")').html();if(!script)throw new Error("Unable to find script");const srcUrl=unpackJavaScript(script.trim());return streamLinks.push({link:srcUrl,server:"rido",type:"m3u8",headers:{Referer:iframeUrl}}),streamLinks}catch(e){return[]}});function unpackJavaScript(packedCode){const encodedString=packedCode.split("|aHR")[1].split("|")[0];var base64;return atob((base64="aHR"+encodedString)+"=".repeat((4-base64.length%4)%4))}exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;const getStream=_a=>__awaiter(void 0,[_a],void 0,function*({link:data,providerContext:providerContext}){var _b,_c;try{const{cheerio:cheerio,commonHeaders:headers,axios:axios}=providerContext,streamData=JSON.parse(data),streamLinks=[],url=(null==streamData?void 0:streamData.baseUrl)+"/api/"+(null==streamData?void 0:streamData.slug),res=yield axios.get(url,{headers:headers}),iframeUrl=(null===(_c=null===(_b=res.data.data)||void 0===_b?void 0:_b[0])||void 0===_c?void 0:_c.url).split('src="')[1].split('"')[0],iframeRes=yield axios.get(iframeUrl,{headers:Object.assign(Object.assign({},headers),{Referer:null==streamData?void 0:streamData.baseUrl})}),script=cheerio.load(iframeRes.data)('script:contains("eval")').html();if(!script)throw new Error("Unable to find script");const srcUrl=unpackJavaScript(script.trim());return streamLinks.push({link:srcUrl,server:"rido",type:"m3u8",headers:{Referer:iframeUrl}}),streamLinks}catch(e){return[]}});function unpackJavaScript(packedCode){const encodedString=packedCode.split("|aHR")[1].split("|")[0];var base64;return atob((base64="aHR"+encodedString)+"=".repeat((4-base64.length%4)%4))}exports.getStream=getStream; \ No newline at end of file diff --git a/dist/ringz/catalog.js b/dist/ringz/catalog.js index 0583029..d0078b2 100644 --- a/dist/ringz/catalog.js +++ b/dist/ringz/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Movies",filter:"MOVIES"},{title:"TV Shows",filter:"SERIES"},{title:"Anime",filter:"ANIME"}],exports.genres=[]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Movies",filter:"MOVIES"},{title:"TV Shows",filter:"SERIES"},{title:"Anime",filter:"ANIME"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/ringz/meta.js b/dist/ringz/meta.js index 86b49ef..c5b8159 100644 --- a/dist/ringz/meta.js +++ b/dist/ringz/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:data}){var _b,_c;try{const dataJson=JSON.parse(data),title=(null==dataJson?void 0:dataJson.kn)||(null==dataJson?void 0:dataJson.mn),image=(null==dataJson?void 0:dataJson.IH)||(null==dataJson?void 0:dataJson.IV),tags=null==dataJson?void 0:dataJson.gn.split(",").slice(0,3).map(tag=>tag.trim()),type="webSeries"===(null==dataJson?void 0:dataJson.cg)?"series":"movie",linkList=[];if("webSeries"===(null==dataJson?void 0:dataJson.cg))null===(_b=["1","2","3","4"])||void 0===_b||_b.forEach(item=>{var _a;const directLinks=[];"object"==typeof(null==dataJson?void 0:dataJson["eServer"+item])&&(null===(_a=null==Object?void 0:Object.keys(null==dataJson?void 0:dataJson["eServer"+item]))||void 0===_a?void 0:_a.length)>0&&(Object.keys(null==dataJson?void 0:dataJson["eServer"+item]).forEach(key=>{directLinks.push({title:"Episode "+key,link:JSON.stringify({url:null==dataJson?void 0:dataJson["eServer"+item][key],server:"Server "+item})})}),linkList.push({title:(null==dataJson?void 0:dataJson.pn)+" (Server "+item+")",directLinks:directLinks}))});else{const directLinks=[];null===(_c=["1","2","3","4"])||void 0===_c||_c.forEach(item=>{(null==dataJson?void 0:dataJson["s"+item])&&directLinks.push({title:"Server "+item+" (HD)",link:JSON.stringify({url:null==dataJson?void 0:dataJson.s1,server:"Server "+item})}),(null==dataJson?void 0:dataJson["4s"+item])&&directLinks.push({title:"Server "+item+" (480p)",link:JSON.stringify({url:null==dataJson?void 0:dataJson["4s"+item],server:"Server "+item})})}),linkList.push({title:null==dataJson?void 0:dataJson.pn,directLinks:directLinks})}return{title:title,image:image,imdbId:"",synopsis:"",type:type,linkList:linkList,tags:tags}}catch(err){return{title:"",image:"",imdbId:"",synopsis:"",type:"movie",linkList:[],tags:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:data}){var _b,_c;try{const dataJson=JSON.parse(data),title=(null==dataJson?void 0:dataJson.kn)||(null==dataJson?void 0:dataJson.mn),image=(null==dataJson?void 0:dataJson.IH)||(null==dataJson?void 0:dataJson.IV),tags=null==dataJson?void 0:dataJson.gn.split(",").slice(0,3).map(tag=>tag.trim()),type="webSeries"===(null==dataJson?void 0:dataJson.cg)?"series":"movie",linkList=[];if("webSeries"===(null==dataJson?void 0:dataJson.cg))null===(_b=["1","2","3","4"])||void 0===_b||_b.forEach(item=>{var _a;const directLinks=[];"object"==typeof(null==dataJson?void 0:dataJson["eServer"+item])&&(null===(_a=null==Object?void 0:Object.keys(null==dataJson?void 0:dataJson["eServer"+item]))||void 0===_a?void 0:_a.length)>0&&(Object.keys(null==dataJson?void 0:dataJson["eServer"+item]).forEach(key=>{directLinks.push({title:"Episode "+key,link:JSON.stringify({url:null==dataJson?void 0:dataJson["eServer"+item][key],server:"Server "+item})})}),linkList.push({title:(null==dataJson?void 0:dataJson.pn)+" (Server "+item+")",directLinks:directLinks}))});else{const directLinks=[];null===(_c=["1","2","3","4"])||void 0===_c||_c.forEach(item=>{(null==dataJson?void 0:dataJson["s"+item])&&directLinks.push({title:"Server "+item+" (HD)",link:JSON.stringify({url:null==dataJson?void 0:dataJson.s1,server:"Server "+item})}),(null==dataJson?void 0:dataJson["4s"+item])&&directLinks.push({title:"Server "+item+" (480p)",link:JSON.stringify({url:null==dataJson?void 0:dataJson["4s"+item],server:"Server "+item})})}),linkList.push({title:null==dataJson?void 0:dataJson.pn,directLinks:directLinks})}return{title:title,image:image,imdbId:"",synopsis:"",type:type,linkList:linkList,tags:tags}}catch(err){return{title:"",image:"",imdbId:"",synopsis:"",type:"movie",linkList:[],tags:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/ringz/posts.js b/dist/ringz/posts.js index 26e19ab..7007192 100644 --- a/dist/ringz/posts.js +++ b/dist/ringz/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ringzData=exports.headers=exports.getSearchPosts=exports.getPosts=void 0,exports.getRingzMovies=getRingzMovies,exports.getRingzShows=getRingzShows,exports.getRingzAnime=getRingzAnime,exports.getRingzAdult=getRingzAdult;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,signal:signal,providerContext:providerContext}){return posts({filter:filter,signal:signal,providerContext:providerContext})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page}){if(page>1)return[];try{const catalog=[],promises=[getRingzMovies(),getRingzShows(),getRingzAnime()];return(yield Promise.all(promises)).map(response=>{const searchResults=function(data,query){const searchQuery=query.toLowerCase();return data.filter(movie=>movie.mn.toLowerCase().includes(searchQuery))}(response,searchQuery);searchResults.map(element=>{const title=(null==element?void 0:element.kn)||(null==element?void 0:element.mn),link=JSON.stringify(element),image=null==element?void 0:element.IV;title&&link&&catalog.push({title:title,link:link,image:image})})}),catalog}catch(err){return[]}})};function posts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter}){try{let response;"MOVIES"===filter&&(response=getRingzMovies()),"SERIES"===filter&&(response=getRingzShows()),"ANIME"===filter&&(response=getRingzAnime());const data=yield response,catalog=[];return data.map(element=>{const title=(null==element?void 0:element.kn)||(null==element?void 0:element.mn),link=JSON.stringify(element),image=null==element?void 0:element.IV;title&&link&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts,exports.headers={"cf-access-client-id":"833049b087acf6e787cedfd85d1ccdb8.access","cf-access-client-secret":"02db296a961d7513c3102d7785df4113eff036b2d57d060ffcc2ba3ba820c6aa"};const BASE_URL="https://privatereporz.pages.dev";function getRingzMovies(){return __awaiter(this,void 0,void 0,function*(){try{const response=yield fetch(`${BASE_URL}/test.json`,{headers:Object.assign({},exports.headers)});return(yield response.json()).AllMovieDataList}catch(error){}})}function getRingzShows(){return __awaiter(this,void 0,void 0,function*(){try{const response=yield fetch(`${BASE_URL}/srs.json`,{headers:Object.assign({},exports.headers)});return(yield response.json()).webSeriesDataList}catch(error){}})}function getRingzAnime(){return __awaiter(this,void 0,void 0,function*(){try{const response=yield fetch(`${BASE_URL}/anime.json`,{headers:Object.assign({},exports.headers)});return(yield response.json()).webSeriesDataList}catch(error){}})}function getRingzAdult(){return __awaiter(this,void 0,void 0,function*(){try{const response=yield fetch(`${BASE_URL}/desihub.json`,{headers:Object.assign({},exports.headers)});return(yield response.json()).webSeriesDataList}catch(error){}})}exports.ringzData={getRingzMovies:getRingzMovies,getRingzShows:getRingzShows,getRingzAnime:getRingzAnime,getRingzAdult:getRingzAdult}; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.ringzData=exports.headers=exports.getSearchPosts=exports.getPosts=void 0,exports.getRingzMovies=getRingzMovies,exports.getRingzShows=getRingzShows,exports.getRingzAnime=getRingzAnime,exports.getRingzAdult=getRingzAdult;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,signal:signal,providerContext:providerContext}){return posts({filter:filter,signal:signal,providerContext:providerContext})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page}){if(page>1)return[];try{const catalog=[],promises=[getRingzMovies(),getRingzShows(),getRingzAnime()];return(yield Promise.all(promises)).map(response=>{const searchResults=function(data,query){const searchQuery=query.toLowerCase();return data.filter(movie=>movie.mn.toLowerCase().includes(searchQuery))}(response,searchQuery);searchResults.map(element=>{const title=(null==element?void 0:element.kn)||(null==element?void 0:element.mn),link=JSON.stringify(element),image=null==element?void 0:element.IV;title&&link&&catalog.push({title:title,link:link,image:image})})}),catalog}catch(err){return[]}})};function posts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter}){try{let response;"MOVIES"===filter&&(response=getRingzMovies()),"SERIES"===filter&&(response=getRingzShows()),"ANIME"===filter&&(response=getRingzAnime());const data=yield response,catalog=[];return data.map(element=>{const title=(null==element?void 0:element.kn)||(null==element?void 0:element.mn),link=JSON.stringify(element),image=null==element?void 0:element.IV;title&&link&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts,exports.headers={"cf-access-client-id":"833049b087acf6e787cedfd85d1ccdb8.access","cf-access-client-secret":"02db296a961d7513c3102d7785df4113eff036b2d57d060ffcc2ba3ba820c6aa"};const BASE_URL="https://privatereporz.pages.dev";function getRingzMovies(){return __awaiter(this,void 0,void 0,function*(){try{const response=yield fetch(`${BASE_URL}/test.json`,{headers:Object.assign({},exports.headers)});return(yield response.json()).AllMovieDataList}catch(error){}})}function getRingzShows(){return __awaiter(this,void 0,void 0,function*(){try{const response=yield fetch(`${BASE_URL}/srs.json`,{headers:Object.assign({},exports.headers)});return(yield response.json()).webSeriesDataList}catch(error){}})}function getRingzAnime(){return __awaiter(this,void 0,void 0,function*(){try{const response=yield fetch(`${BASE_URL}/anime.json`,{headers:Object.assign({},exports.headers)});return(yield response.json()).webSeriesDataList}catch(error){}})}function getRingzAdult(){return __awaiter(this,void 0,void 0,function*(){try{const response=yield fetch(`${BASE_URL}/desihub.json`,{headers:Object.assign({},exports.headers)});return(yield response.json()).webSeriesDataList}catch(error){}})}exports.ringzData={getRingzMovies:getRingzMovies,getRingzShows:getRingzShows,getRingzAnime:getRingzAnime,getRingzAdult:getRingzAdult}; \ No newline at end of file diff --git a/dist/ringz/stream.js b/dist/ringz/stream.js index 86f62db..9977ef2 100644 --- a/dist/ringz/stream.js +++ b/dist/ringz/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:data}){const streamLinks=[],dataJson=JSON.parse(data);return streamLinks.push({link:dataJson.url,server:dataJson.server,type:"mkv"}),streamLinks})};exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:data}){const streamLinks=[],dataJson=JSON.parse(data);return streamLinks.push({link:dataJson.url,server:dataJson.server,type:"mkv"}),streamLinks})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/showbox/catalog.js b/dist/showbox/catalog.js index 56794f4..0f48066 100644 --- a/dist/showbox/catalog.js +++ b/dist/showbox/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Home",filter:""},{title:"Movies",filter:"/movie"},{title:"TV Shows",filter:"/tv"}],exports.genres=[]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Home",filter:""},{title:"Movies",filter:"/movie"},{title:"TV Shows",filter:"/tv"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/showbox/episodes.js b/dist/showbox/episodes.js index b99deba..a088a61 100644 --- a/dist/showbox/episodes.js +++ b/dist/showbox/episodes.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:id,providerContext:providerContext}){const{axios:axios}=providerContext;try{const[fileId,febboxId]=id.split("&"),febLink=febboxId?`https://www.febbox.com/file/file_share_list?share_key=${fileId}&pwd=&parent_id=${febboxId}&is_html=0`:`https://www.febbox.com/file/file_share_list?share_key=${fileId}&pwd=&is_html=0`,res=yield axios.get(febLink),fileList=res.data.data.file_list,episodeLinks=[];return null==fileList||fileList.map(file=>{const fileName=formatEpisodeName(file.file_name),epId=null==file?void 0:file.fid;!file.is_dir&&fileName&&epId&&episodeLinks.push({title:fileName,link:`${fileId}&${epId}`})}),episodeLinks}catch(err){return[]}})};function formatEpisodeName(title){const match=title.match(/[sS](\d+)\s*[eE](\d+)/);if(match){return`Season${match[1].padStart(2,"0")} Episode${match[2].padStart(2,"0")}`}return title}exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:id,providerContext:providerContext}){const{axios:axios}=providerContext;try{const[fileId,febboxId]=id.split("&"),febLink=febboxId?`https://www.febbox.com/file/file_share_list?share_key=${fileId}&pwd=&parent_id=${febboxId}&is_html=0`:`https://www.febbox.com/file/file_share_list?share_key=${fileId}&pwd=&is_html=0`,res=yield axios.get(febLink),fileList=res.data.data.file_list,episodeLinks=[];return null==fileList||fileList.map(file=>{const fileName=formatEpisodeName(file.file_name),epId=null==file?void 0:file.fid;!file.is_dir&&fileName&&epId&&episodeLinks.push({title:fileName,link:`${fileId}&${epId}`})}),episodeLinks}catch(err){return[]}})};function formatEpisodeName(title){const match=title.match(/[sS](\d+)\s*[eE](\d+)/);if(match){return`Season${match[1].padStart(2,"0")} Episode${match[2].padStart(2,"0")}`}return title}exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/showbox/meta.js b/dist/showbox/meta.js index bbc6a5f..f50f81c 100644 --- a/dist/showbox/meta.js +++ b/dist/showbox/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j,_k;try{const{axios:axios,cheerio:cheerio,getBaseUrl:getBaseUrl}=providerContext,url=(yield getBaseUrl("showbox"))+link,data=(yield axios.get(url)).data,$=cheerio.load(data),type=url.includes("tv")?"series":"movie",imdbId="",title=$(".heading-name").text(),rating=(null===(_c=null===(_b=$(".btn-imdb").text())||void 0===_b?void 0:_b.match(/\d+(\.\d+)?/g))||void 0===_c?void 0:_c[0])||"",image=(null===(_e=null===(_d=$(".cover_follow").attr("style"))||void 0===_d?void 0:_d.split("url(")[1])||void 0===_e?void 0:_e.split(")")[0])||"",synopsis=null===(_g=null===(_f=$(".description").text())||void 0===_f?void 0:_f.replace(/[\n\t]/g,""))||void 0===_g?void 0:_g.trim(),febID=null===(_j=null===(_h=$(".heading-name").find("a").attr("href"))||void 0===_h?void 0:_h.split("/"))||void 0===_j?void 0:_j.pop(),indexUrl=`${url.split("/").slice(0,3).join("/")}/index/share_link?id=${febID}&type=${"movie"===type?"1":"2"}`,indexRes=yield axios.get(indexUrl),febKey=indexRes.data.data.link.split("/").pop(),febLink=`https://www.febbox.com/file/file_share_list?share_key=${febKey}&is_html=0`,febData=(yield axios.get(febLink)).data,fileList=null===(_k=null==febData?void 0:febData.data)||void 0===_k?void 0:_k.file_list,links=[];return fileList&&fileList.map(file=>{const fileName=`${file.file_name} (${file.file_size})`,fileId=file.fid;links.push({title:fileName,episodesLink:file.is_dir?`${febKey}&${fileId}`:`${febKey}&`})}),{title:title,rating:rating,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",rating:"",synopsis:"",image:"",imdbId:"",type:"",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j,_k;try{const{axios:axios,cheerio:cheerio,getBaseUrl:getBaseUrl}=providerContext,url=(yield getBaseUrl("showbox"))+link,data=(yield axios.get(url)).data,$=cheerio.load(data),type=url.includes("tv")?"series":"movie",imdbId="",title=$(".heading-name").text(),rating=(null===(_c=null===(_b=$(".btn-imdb").text())||void 0===_b?void 0:_b.match(/\d+(\.\d+)?/g))||void 0===_c?void 0:_c[0])||"",image=(null===(_e=null===(_d=$(".cover_follow").attr("style"))||void 0===_d?void 0:_d.split("url(")[1])||void 0===_e?void 0:_e.split(")")[0])||"",synopsis=null===(_g=null===(_f=$(".description").text())||void 0===_f?void 0:_f.replace(/[\n\t]/g,""))||void 0===_g?void 0:_g.trim(),febID=null===(_j=null===(_h=$(".heading-name").find("a").attr("href"))||void 0===_h?void 0:_h.split("/"))||void 0===_j?void 0:_j.pop(),indexUrl=`${url.split("/").slice(0,3).join("/")}/index/share_link?id=${febID}&type=${"movie"===type?"1":"2"}`,indexRes=yield axios.get(indexUrl),febKey=indexRes.data.data.link.split("/").pop(),febLink=`https://www.febbox.com/file/file_share_list?share_key=${febKey}&is_html=0`,febData=(yield axios.get(febLink)).data,fileList=null===(_k=null==febData?void 0:febData.data)||void 0===_k?void 0:_k.file_list,links=[];return fileList&&fileList.map(file=>{const fileName=`${file.file_name} (${file.file_size})`,fileId=file.fid;links.push({title:fileName,episodesLink:file.is_dir?`${febKey}&${fileId}`:`${febKey}&`})}),{title:title,rating:rating,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",rating:"",synopsis:"",image:"",imdbId:"",type:"",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/showbox/posts.js b/dist/showbox/posts.js index 6d55d71..da38f62 100644 --- a/dist/showbox/posts.js +++ b/dist/showbox/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("showbox");return posts({url:`${baseUrl+filter}?page=${page}/`,signal:signal,baseUrl:baseUrl,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("showbox");return posts({url:`${baseUrl}/search?keyword=${searchQuery}&page=${page}`,signal:signal,baseUrl:baseUrl,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data),catalog=[];return $(".movie-item,.flw-item").map((i,element)=>{const title=$(element).find(".film-name").text().trim(),link=$(element).find("a").attr("href"),image=$(element).find("img").attr("src");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("showbox");return posts({url:`${baseUrl+filter}?page=${page}/`,signal:signal,baseUrl:baseUrl,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("showbox");return posts({url:`${baseUrl}/search?keyword=${searchQuery}&page=${page}`,signal:signal,baseUrl:baseUrl,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data),catalog=[];return $(".movie-item,.flw-item").map((i,element)=>{const title=$(element).find(".film-name").text().trim(),link=$(element).find("a").attr("href"),image=$(element).find("img").attr("src");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/showbox/stream.js b/dist/showbox/stream.js index 20d49dd..a7f4f28 100644 --- a/dist/showbox/stream.js +++ b/dist/showbox/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,signal:signal,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio}=providerContext,stream=[],[,epId]=id.split("&"),url=`https://febbox.vercel.app/api/video-quality?fid=${epId}`,data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data.html);return $(".file_quality").each((i,el)=>{const server=$(el).find("p.name").text()+" - "+$(el).find("p.size").text()+" - "+$(el).find("p.speed").text(),link=$(el).attr("data-url");link&&stream.push({server:server,type:"mkv",link:link})}),stream}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,signal:signal,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio}=providerContext,stream=[],[,epId]=id.split("&"),url=`https://febbox.vercel.app/api/video-quality?fid=${epId}`,data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data.html);return $(".file_quality").each((i,el)=>{const server=$(el).find("p.name").text()+" - "+$(el).find("p.size").text()+" - "+$(el).find("p.speed").text(),link=$(el).attr("data-url");link&&stream.push({server:server,type:"mkv",link:link})}),stream}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/skyMovieHD/catalog.js b/dist/skyMovieHD/catalog.js index f984481..5d8332f 100644 --- a/dist/skyMovieHD/catalog.js +++ b/dist/skyMovieHD/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.catalog=void 0,exports.catalog=[{title:"Trending",filter:""},{title:"JIo-Studios",filter:"category/jio-studios/"}]; \ No newline at end of file +exports.catalog=void 0,exports.catalog=[{title:"Trending",filter:""},{title:"JIo-Studios",filter:"category/jio-studios/"}]; \ No newline at end of file diff --git a/dist/skyMovieHD/episodes.js b/dist/skyMovieHD/episodes.js index af9a87e..4a3b868 100644 --- a/dist/skyMovieHD/episodes.js +++ b/dist/skyMovieHD/episodes.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;return axios.get(url,{headers:headers}).then(res=>{const $=cheerio.load(res.data),container=$(".entry-content, .entry-inner");$(".unili-content, .code-block-1").remove();const episodes=[];return container.find("h4, h3").each((_,element)=>{const el=$(element);let title=el.text().replace(/[-:]/g,"").trim();title&&el.next("p").find("a[href*='vcloud.lol']").each((_,a)=>{var _a;const href=null===(_a=$(a).attr("href"))||void 0===_a?void 0:_a.trim();href&&episodes.push({title:title,link:href})})}),episodes}).catch(err=>[])};exports.getEpisodes=getEpisodes; \ No newline at end of file +exports.getEpisodes=void 0;const getEpisodes=function({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;return axios.get(url,{headers:headers}).then(res=>{const $=cheerio.load(res.data),container=$(".entry-content, .entry-inner");$(".unili-content, .code-block-1").remove();const episodes=[];return container.find("h4, h3").each((_,element)=>{const el=$(element);let title=el.text().replace(/[-:]/g,"").trim();title&&el.next("p").find("a[href*='vcloud.lol']").each((_,a)=>{var _a;const href=null===(_a=$(a).attr("href"))||void 0===_a?void 0:_a.trim();href&&episodes.push({title:title,link:href})})}),episodes}).catch(err=>[])};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/skyMovieHD/meta.js b/dist/skyMovieHD/meta.js index b2fb77e..a94e591 100644 --- a/dist/skyMovieHD/meta.js +++ b/dist/skyMovieHD/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0,exports.fetchEpisodesFromSelectedLink=fetchEpisodesFromSelectedLink;const headers={Referer:"https://google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"};function fetchEpisodesFromSelectedLink(url,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios,cheerio:cheerio}=providerContext,res=yield axios.get(url,{headers:headers}),$=cheerio.load(res.data),episodes=[];return $("h4").each((_,h4El)=>{const epTitle=$(h4El).text().trim();if(!epTitle)return;const directLinks=[];$(h4El).nextUntil("h4, hr").find("a[href]").each((_,linkEl)=>{let href=($(linkEl).attr("href")||"").trim();if(!href)return;href.startsWith("http")||(href=new URL(href,url).href);const btnText=$(linkEl).text().trim()||"Watch Episode";directLinks.push({link:href,title:btnText,quality:"AUTO",type:"episode"})}),directLinks.length>0&&episodes.push({title:epTitle,directLinks:directLinks})}),episodes})}const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c;const{axios:axios,cheerio:cheerio}=providerContext;link.startsWith("http")||(link=new URL(link,"https://vgmlinks.click").href);try{const res=yield axios.get(link,{headers:headers}),$=cheerio.load(res.data),content=$(".entry-content, .post-inner").length?$(".entry-content, .post-inner"):$("body"),title=$("h1.entry-title").first().text().trim()||(null===(_b=$("meta[property='og:title']").attr("content"))||void 0===_b?void 0:_b.trim())||"Unknown",pageText=content.text(),type=/Season\s*\d+/i.test(pageText)||/Episode\s*\d+/i.test(pageText)?"series":"movie";let image=$(".poster img").attr("src")||$("meta[property='og:image']").attr("content")||$("meta[name='twitter:image']").attr("content")||"";image&&!image.startsWith("http")&&(image=new URL(image,link).href);let synopsis="";$(".entry-content p").each((_,el)=>{const txt=$(el).text().trim();if(txt.length>40&&!txt.toLowerCase().includes("download"))return synopsis=txt,!1});const imdbLink=$("a[href*='imdb.com']").attr("href")||"",imdbId=imdbLink?"tt"+((null===(_c=imdbLink.split("/tt")[1])||void 0===_c?void 0:_c.split("/")[0])||""):"",tags=[];$(".entry-content p strong").each((_,el)=>{const txt=$(el).text().trim();txt.match(/drama|biography|action|thriller|romance|adventure|animation/i)&&tags.push(txt)});const extra={};$("p").each((_,el)=>{var _a,_b,_c,_d,_e,_f;const html=$(el).html()||"";html.includes("Series Name")&&(extra.name=null===(_a=$(el).text().split(":")[1])||void 0===_a?void 0:_a.trim()),html.includes("Language")&&(extra.language=null===(_b=$(el).text().split(":")[1])||void 0===_b?void 0:_b.trim()),html.includes("Released Year")&&(extra.year=null===(_c=$(el).text().split(":")[1])||void 0===_c?void 0:_c.trim()),html.includes("Quality")&&(extra.quality=null===(_d=$(el).text().split(":")[1])||void 0===_d?void 0:_d.trim()),html.includes("Episode Size")&&(extra.size=null===(_e=$(el).text().split(":")[1])||void 0===_e?void 0:_e.trim()),html.includes("Format")&&(extra.format=null===(_f=$(el).text().split(":")[1])||void 0===_f?void 0:_f.trim())});const links=[],episodeList=[],isInformationalHeading=text=>{const lowerText=text.toLowerCase();return lowerText.includes("series info")||lowerText.includes("series name")||lowerText.includes("language")||lowerText.includes("released year")||lowerText.includes("episode size")||lowerText.includes("format")||lowerText.includes("imdb rating")||lowerText.includes("winding up")||lowerText.length<5&&!/\d/.test(lowerText)};return"series"===type?content.find("h3").each((_,h3)=>{var _a;const h3Text=$(h3).text().trim();if(isInformationalHeading(h3Text))return;const qualityMatch=(null===(_a=h3Text.match(/\d+p/))||void 0===_a?void 0:_a[0])||"AUTO",vcloudLink=$(h3).nextUntil("h3, hr").find("a").filter((_,a)=>/v-cloud|mega|gdrive|download/i.test($(a).text())).first(),href=vcloudLink.attr("href");if(href){const btnText=vcloudLink.text().trim()||"Link";if(btnText.toLowerCase().includes("imdb rating")||btnText.toLowerCase().includes("winding up"))return;links.push({title:h3Text,quality:qualityMatch,episodesLink:href})}}):content.find("h3, h5").each((_,heading)=>{var _a;const headingText=$(heading).text().trim();if(isInformationalHeading(headingText))return;const qualityMatch=(null===(_a=headingText.match(/\d+p/))||void 0===_a?void 0:_a[0])||"AUTO",linkEl=$(heading).nextUntil("h3, h5, hr").find("a[href]").first(),href=linkEl.attr("href");if(href){let finalHref=href.trim();finalHref.startsWith("http")||(finalHref=new URL(finalHref,link).href);const btnText=linkEl.text().trim()||"Download Link";if(btnText.toLowerCase().includes("imdb rating")||btnText.toLowerCase().includes("winding up"))return;links.push({title:headingText,quality:qualityMatch,episodesLink:"",directLinks:[{title:btnText,link:finalHref,type:"movie"}]})}}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,tags:tags,cast:[],rating:$(".entry-meta .entry-date").text().trim()||"",linkList:links,extraInfo:extra,episodeList:episodeList}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",tags:[],cast:[],rating:"",linkList:[],extraInfo:{},episodeList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0,exports.fetchEpisodesFromSelectedLink=fetchEpisodesFromSelectedLink;const headers={Referer:"https://google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"};function fetchEpisodesFromSelectedLink(url,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios,cheerio:cheerio}=providerContext,res=yield axios.get(url,{headers:headers}),$=cheerio.load(res.data),episodes=[];return $("h4").each((_,h4El)=>{const epTitle=$(h4El).text().trim();if(!epTitle)return;const directLinks=[];$(h4El).nextUntil("h4, hr").find("a[href]").each((_,linkEl)=>{let href=($(linkEl).attr("href")||"").trim();if(!href)return;href.startsWith("http")||(href=new URL(href,url).href);const btnText=$(linkEl).text().trim()||"Watch Episode";directLinks.push({link:href,title:btnText,quality:"AUTO",type:"episode"})}),directLinks.length>0&&episodes.push({title:epTitle,directLinks:directLinks})}),episodes})}const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c;const{axios:axios,cheerio:cheerio}=providerContext;link.startsWith("http")||(link=new URL(link,"https://vgmlinks.click").href);try{const res=yield axios.get(link,{headers:headers}),$=cheerio.load(res.data),content=$(".entry-content, .post-inner").length?$(".entry-content, .post-inner"):$("body"),title=$("h1.entry-title").first().text().trim()||(null===(_b=$("meta[property='og:title']").attr("content"))||void 0===_b?void 0:_b.trim())||"Unknown",pageText=content.text(),type=/Season\s*\d+/i.test(pageText)||/Episode\s*\d+/i.test(pageText)?"series":"movie";let image=$(".poster img").attr("src")||$("meta[property='og:image']").attr("content")||$("meta[name='twitter:image']").attr("content")||"";image&&!image.startsWith("http")&&(image=new URL(image,link).href);let synopsis="";$(".entry-content p").each((_,el)=>{const txt=$(el).text().trim();if(txt.length>40&&!txt.toLowerCase().includes("download"))return synopsis=txt,!1});const imdbLink=$("a[href*='imdb.com']").attr("href")||"",imdbId=imdbLink?"tt"+((null===(_c=imdbLink.split("/tt")[1])||void 0===_c?void 0:_c.split("/")[0])||""):"",tags=[];$(".entry-content p strong").each((_,el)=>{const txt=$(el).text().trim();txt.match(/drama|biography|action|thriller|romance|adventure|animation/i)&&tags.push(txt)});const extra={};$("p").each((_,el)=>{var _a,_b,_c,_d,_e,_f;const html=$(el).html()||"";html.includes("Series Name")&&(extra.name=null===(_a=$(el).text().split(":")[1])||void 0===_a?void 0:_a.trim()),html.includes("Language")&&(extra.language=null===(_b=$(el).text().split(":")[1])||void 0===_b?void 0:_b.trim()),html.includes("Released Year")&&(extra.year=null===(_c=$(el).text().split(":")[1])||void 0===_c?void 0:_c.trim()),html.includes("Quality")&&(extra.quality=null===(_d=$(el).text().split(":")[1])||void 0===_d?void 0:_d.trim()),html.includes("Episode Size")&&(extra.size=null===(_e=$(el).text().split(":")[1])||void 0===_e?void 0:_e.trim()),html.includes("Format")&&(extra.format=null===(_f=$(el).text().split(":")[1])||void 0===_f?void 0:_f.trim())});const links=[],episodeList=[],isInformationalHeading=text=>{const lowerText=text.toLowerCase();return lowerText.includes("series info")||lowerText.includes("series name")||lowerText.includes("language")||lowerText.includes("released year")||lowerText.includes("episode size")||lowerText.includes("format")||lowerText.includes("imdb rating")||lowerText.includes("winding up")||lowerText.length<5&&!/\d/.test(lowerText)};return"series"===type?content.find("h3").each((_,h3)=>{var _a;const h3Text=$(h3).text().trim();if(isInformationalHeading(h3Text))return;const qualityMatch=(null===(_a=h3Text.match(/\d+p/))||void 0===_a?void 0:_a[0])||"AUTO",vcloudLink=$(h3).nextUntil("h3, hr").find("a").filter((_,a)=>/v-cloud|mega|gdrive|download/i.test($(a).text())).first(),href=vcloudLink.attr("href");if(href){const btnText=vcloudLink.text().trim()||"Link";if(btnText.toLowerCase().includes("imdb rating")||btnText.toLowerCase().includes("winding up"))return;links.push({title:h3Text,quality:qualityMatch,episodesLink:href})}}):content.find("h3, h5").each((_,heading)=>{var _a;const headingText=$(heading).text().trim();if(isInformationalHeading(headingText))return;const qualityMatch=(null===(_a=headingText.match(/\d+p/))||void 0===_a?void 0:_a[0])||"AUTO",linkEl=$(heading).nextUntil("h3, h5, hr").find("a[href]").first(),href=linkEl.attr("href");if(href){let finalHref=href.trim();finalHref.startsWith("http")||(finalHref=new URL(finalHref,link).href);const btnText=linkEl.text().trim()||"Download Link";if(btnText.toLowerCase().includes("imdb rating")||btnText.toLowerCase().includes("winding up"))return;links.push({title:headingText,quality:qualityMatch,episodesLink:"",directLinks:[{title:btnText,link:finalHref,type:"movie"}]})}}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,tags:tags,cast:[],rating:$(".entry-meta .entry-date").text().trim()||"",linkList:links,extraInfo:extra,episodeList:episodeList}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",tags:[],cast:[],rating:"",linkList:[],extraInfo:{},episodeList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/skyMovieHD/posts.js b/dist/skyMovieHD/posts.js index 421da49..ed27c07 100644 --- a/dist/skyMovieHD/posts.js +++ b/dist/skyMovieHD/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getPosts=getPosts,exports.getSearchPosts=getSearchPosts;const defaultHeaders={Referer:"https://www.google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language":"en-US,en;q=0.9",Pragma:"no-cache","Cache-Control":"no-cache"};function getPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:filter,page:page,query:"",signal:signal,providerContext:providerContext})})}function getSearchPosts(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:"",page:page,query:searchQuery,signal:signal,providerContext:providerContext})})}function fetchPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,query:query,page:page=1,signal:signal,providerContext:providerContext}){try{const baseUrl=yield providerContext.getBaseUrl("skymovieshd");let url;if(query&&query.trim()&&"what are you looking for?"!==query.trim().toLowerCase()){const params=new URLSearchParams;params.append("s",query.trim()),page>1&¶ms.append("paged",page.toString()),url=`${baseUrl}/?${params.toString()}`}else url=filter?filter.startsWith("/")?`${baseUrl}${filter.replace(/\/$/,"")}${page>1?`/page/${page}`:""}`:`${baseUrl}/${filter}${page>1?`/page/${page}`:""}`:`${baseUrl}${page>1?`/page/${page}`:""}`;const{axios:axios,cheerio:cheerio}=providerContext,res=yield axios.get(url,{headers:defaultHeaders,signal:signal}),$=cheerio.load(res.data||""),resolveUrl=href=>(null==href?void 0:href.startsWith("http"))?href:new URL(href,baseUrl).href,seen=new Set,catalog=[];return $("article.latestpost").each((_,el)=>{const card=$(el);let link=card.find("header.entry-header h2.entry-title a, header.entry-header h1.entry-title a").attr("href")||"";if(!link)return;if(link=resolveUrl(link),seen.has(link))return;let title=card.find("header.entry-header h2.entry-title a, header.entry-header h1.entry-title a").text().replace(/^Download\s*/i,"").trim();if(!title)return;let img=card.find("a#featured-thumbnail img").attr("data-src")||card.find("a#featured-thumbnail img").attr("src")||"";const image=img?resolveUrl(img):"";seen.add(link),catalog.push({title:title,link:link,image:image})}),catalog.slice(0,100)}catch(err){return[]}})} \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getPosts=getPosts,exports.getSearchPosts=getSearchPosts;const defaultHeaders={Referer:"https://www.google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language":"en-US,en;q=0.9",Pragma:"no-cache","Cache-Control":"no-cache"};function getPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:filter,page:page,query:"",signal:signal,providerContext:providerContext})})}function getSearchPosts(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:"",page:page,query:searchQuery,signal:signal,providerContext:providerContext})})}function fetchPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,query:query,page:page=1,signal:signal,providerContext:providerContext}){try{const baseUrl=yield providerContext.getBaseUrl("skymovieshd");let url;if(query&&query.trim()&&"what are you looking for?"!==query.trim().toLowerCase()){const params=new URLSearchParams;params.append("s",query.trim()),page>1&¶ms.append("paged",page.toString()),url=`${baseUrl}/?${params.toString()}`}else url=filter?filter.startsWith("/")?`${baseUrl}${filter.replace(/\/$/,"")}${page>1?`/page/${page}`:""}`:`${baseUrl}/${filter}${page>1?`/page/${page}`:""}`:`${baseUrl}${page>1?`/page/${page}`:""}`;const{axios:axios,cheerio:cheerio}=providerContext,res=yield axios.get(url,{headers:defaultHeaders,signal:signal}),$=cheerio.load(res.data||""),resolveUrl=href=>(null==href?void 0:href.startsWith("http"))?href:new URL(href,baseUrl).href,seen=new Set,catalog=[];return $("article.latestpost").each((_,el)=>{const card=$(el);let link=card.find("header.entry-header h2.entry-title a, header.entry-header h1.entry-title a").attr("href")||"";if(!link)return;if(link=resolveUrl(link),seen.has(link))return;let title=card.find("header.entry-header h2.entry-title a, header.entry-header h1.entry-title a").text().replace(/^Download\s*/i,"").trim();if(!title)return;let img=card.find("a#featured-thumbnail img").attr("data-src")||card.find("a#featured-thumbnail img").attr("src")||"";const image=img?resolveUrl(img):"";seen.add(link),catalog.push({title:title,link:link,image:image})}),catalog.slice(0,100)}catch(err){return[]}})} \ No newline at end of file diff --git a/dist/skyMovieHD/stream.js b/dist/skyMovieHD/stream.js index 7893de1..d42d2a8 100644 --- a/dist/skyMovieHD/stream.js +++ b/dist/skyMovieHD/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=getStream;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,type:type,signal:signal,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,extractors:extractors}=providerContext,{hubcloudExtracter:hubcloudExtracter}=extractors;try{return yield hubcloudExtracter(link,signal)}catch(error){return error.message.includes("Aborted"),[]}})} \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=getStream;__awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};const hubcloudDecode=function(value){return void 0===value?"":atob(value.toString())};function hubcloudExtractor(link,signal,axios,cheerio,headers){return __awaiter(this,void 0,void 0,function*(){var _a,_b,_c,_d,_e,_f;try{headers.Cookie="ext_name=ojplmecpdpgccookcobabopnaifgidhf; xla=s4t; cf_clearance=woQrFGXtLfmEMBEiGUsVHrUBMT8s3cmguIzmMjmvpkg-1770053679-1.2.1.1-xBrQdciOJsweUF6F2T_OtH6jmyanN_TduQ0yslc_XqjU6RcHSxI7.YOKv6ry7oYo64868HYoULnVyww536H2eVI3R2e4wKzsky6abjPdfQPxqpUaXjxfJ02o6jl3_Vkwr4uiaU7Wy596Vdst3y78HXvVmKdIohhtPvp.vZ9_L7wvWdce0GRixjh_6JiqWmWMws46hwEt3hboaS1e1e4EoWCvj5b0M_jVwvSxBOAW5emFzvT3QrnRh4nyYmKDERnY";const baseUrl=link.split("/").slice(0,3).join("/"),streamLinks=[],vLinkText=(yield axios(`${link}`,{headers:headers,signal:signal})).data,$vLink=cheerio.load(vLinkText),vLinkRedirect=vLinkText.match(/var\s+url\s*=\s*'([^']+)';/)||[];let vcloudLink=hubcloudDecode(null===(_b=null===(_a=vLinkRedirect[1])||void 0===_a?void 0:_a.split("r="))||void 0===_b?void 0:_b[1])||vLinkRedirect[1]||$vLink(".fa-file-download.fa-lg").parent().attr("href")||link;(null==vcloudLink?void 0:vcloudLink.startsWith("/"))&&(vcloudLink=`${baseUrl}${vcloudLink}`);const vcloudRes=yield fetch(vcloudLink,{headers:headers,signal:signal,redirect:"follow"}),$=cheerio.load(yield vcloudRes.text()),linkClass=$(".btn-success.btn-lg.h6,.btn-danger,.btn-secondary");for(const element of linkClass){let link=$(element).attr("href")||"";switch(!0){case null==link?void 0:link.includes("pixeld"):if(!(null==link?void 0:link.includes("api"))){const token=link.split("/").pop(),baseUrl=link.split("/").slice(0,-2).join("/");link=`${baseUrl}/api/file/${token}?download`}streamLinks.push({server:"Pixeldrain",link:link,type:"mkv"});break;case(null==link?void 0:link.includes(".dev"))&&!(null==link?void 0:link.includes("/?id=")):streamLinks.push({server:"Cf Worker",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("hubcloud"))||(null==link?void 0:link.includes("/?id=")):try{const newLinkRes=yield fetch(link,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});let newLink=link;if(newLink=newLinkRes.status>=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||link:newLinkRes.url&&newLinkRes.url!==link?newLinkRes.url:newLinkRes.headers.get("location")||link,newLink.includes("googleusercontent"))newLink=newLink.split("?link=")[1];else{const newLinkRes2=yield fetch(newLink,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});newLink=newLinkRes2.status>=300&&newLinkRes2.status<400?(null===(_c=newLinkRes2.headers.get("location"))||void 0===_c?void 0:_c.split("?link=")[1])||newLink:newLinkRes2.url&&newLinkRes2.url!==newLink?newLinkRes2.url.split("?link=")[1]||newLinkRes2.url:(null===(_d=newLinkRes2.headers.get("location"))||void 0===_d?void 0:_d.split("?link=")[1])||newLink}streamLinks.push({server:"hubcloud",link:newLink,type:"mkv"})}catch(error){}break;case null==link?void 0:link.includes("cloudflarestorage"):streamLinks.push({server:"CfStorage",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("fastdl"))||(null==link?void 0:link.includes("fsl.")):streamLinks.push({server:"FastDl",link:link,type:"mkv"});break;case link.includes("hubcdn")&&!link.includes("/?id="):streamLinks.push({server:"HubCdn",link:link,type:"mkv"});break;default:if((null==link?void 0:link.includes(".mkv"))||(null==link?void 0:link.includes("?token="))){const serverName=(null===(_f=null===(_e=link.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/i))||void 0===_e?void 0:_e[1])||void 0===_f?void 0:_f.replace(/\./g," "))||"Unknown";streamLinks.push({server:serverName,link:link,type:"mkv"})}}}return streamLinks}catch(error){return[]}})}const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,type:type,signal:signal,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:commonHeaders}=providerContext;try{return yield hubcloudExtractor(link,signal,axios,cheerio,commonHeaders)}catch(error){return error.message.includes("Aborted"),[]}})} \ No newline at end of file diff --git a/dist/tokyoInsider/catalog.js b/dist/tokyoInsider/catalog.js index 4281661..c2c6757 100644 --- a/dist/tokyoInsider/catalog.js +++ b/dist/tokyoInsider/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Top Anime",filter:"anime/search?r=5"},{title:"Popular Anime",filter:"anime/"}],exports.genres=[]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Top Anime",filter:"anime/search?r=5"},{title:"Popular Anime",filter:"anime/"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/tokyoInsider/meta.js b/dist/tokyoInsider/meta.js index 136e008..73eba86 100644 --- a/dist/tokyoInsider/meta.js +++ b/dist/tokyoInsider/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{cheerio:cheerio}=providerContext,url=link,res=yield fetch(url),data=yield res.text(),$=cheerio.load(data),meta={title:$('.c_h2:contains("Title(s):")').text().replace("Title(s):","").trim().split("\n")[0],synopsis:$('.c_h2b:contains("Summary:"),.c_h2:contains("Summary:")').text().replace("Summary:","").trim(),image:$(".a_img").attr("src")||"",imdbId:"",type:"series"},episodesList=[];return $(".episode").map((i,element)=>{const link="https://www.tokyoinsider.com"+$(element).find("a").attr("href")||$(".download-link").attr("href");let title=$(element).find("a").find("em").text()+" "+$(element).find("a").find("strong").text();title.trim()||(title=$(".download-link").text()),link&&title.trim()&&episodesList.push({title:title,link:link})}),Object.assign(Object.assign({},meta),{linkList:[{title:meta.title,directLinks:episodesList}]})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"series",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{cheerio:cheerio}=providerContext,url=link,res=yield fetch(url),data=yield res.text(),$=cheerio.load(data),meta={title:$('.c_h2:contains("Title(s):")').text().replace("Title(s):","").trim().split("\n")[0],synopsis:$('.c_h2b:contains("Summary:"),.c_h2:contains("Summary:")').text().replace("Summary:","").trim(),image:$(".a_img").attr("src")||"",imdbId:"",type:"series"},episodesList=[];return $(".episode").map((i,element)=>{const link="https://www.tokyoinsider.com"+$(element).find("a").attr("href")||$(".download-link").attr("href");let title=$(element).find("a").find("em").text()+" "+$(element).find("a").find("strong").text();title.trim()||(title=$(".download-link").text()),link&&title.trim()&&episodesList.push({title:title,link:link})}),Object.assign(Object.assign({},meta),{linkList:[{title:meta.title,directLinks:episodesList}]})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"series",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/tokyoInsider/posts.js b/dist/tokyoInsider/posts.js index f012414..ed2c670 100644 --- a/dist/tokyoInsider/posts.js +++ b/dist/tokyoInsider/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseURL=yield getBaseUrl("tokyoinsider");return posts({baseURL:baseURL,url:`${baseURL}/${filter}&start=${page<2?0:20*(page-1)}`,signal:signal,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseURL=yield getBaseUrl("tokyoinsider");return posts({baseURL:baseURL,url:`${baseURL}/anime/search?k=${searchQuery}&start=${page<2?0:20*(page-1)}`,signal:signal,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({baseURL:baseURL,url:url,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data),catalog=[];return $('td.c_h2[width="40"]').map((i,element)=>{var _a;const image=null===(_a=$(element).find(".a_img").attr("src"))||void 0===_a?void 0:_a.replace("small","default"),title=$(element).find("a").attr("title"),link=baseURL+$(element).find("a").attr("href");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseURL=yield getBaseUrl("tokyoinsider");return posts({baseURL:baseURL,url:`${baseURL}/${filter}&start=${page<2?0:20*(page-1)}`,signal:signal,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseURL=yield getBaseUrl("tokyoinsider");return posts({baseURL:baseURL,url:`${baseURL}/anime/search?k=${searchQuery}&start=${page<2?0:20*(page-1)}`,signal:signal,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({baseURL:baseURL,url:url,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data),catalog=[];return $('td.c_h2[width="40"]').map((i,element)=>{var _a;const image=null===(_a=$(element).find(".a_img").attr("src"))||void 0===_a?void 0:_a.replace("small","default"),title=$(element).find("a").attr("title"),link=baseURL+$(element).find("a").attr("href");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/tokyoInsider/stream.js b/dist/tokyoInsider/stream.js index 450bb28..92848af 100644 --- a/dist/tokyoInsider/stream.js +++ b/dist/tokyoInsider/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{cheerio:cheerio}=providerContext,url=link,res=yield fetch(url),data=yield res.text(),$=cheerio.load(data),streamLinks=[];return $(".c_h1,.c_h2").map((i,element)=>{$(element).find("span").remove();const title=$(element).find("a").text()||"",link=$(element).find("a").attr("href")||"";title&&link.includes("media")&&streamLinks.push({server:title,link:link,type:link.split(".").pop()||"mkv"})}),streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{cheerio:cheerio}=providerContext,url=link,res=yield fetch(url),data=yield res.text(),$=cheerio.load(data),streamLinks=[];return $(".c_h1,.c_h2").map((i,element)=>{$(element).find("span").remove();const title=$(element).find("a").text()||"",link=$(element).find("a").attr("href")||"";title&&link.includes("media")&&streamLinks.push({server:title,link:link,type:link.split(".").pop()||"mkv"})}),streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/topmovies/catalog.js b/dist/topmovies/catalog.js index a92511c..705ef23 100644 --- a/dist/topmovies/catalog.js +++ b/dist/topmovies/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:""},{title:"Netflix",filter:"/web-series/tv-shows-by-network/netflix"},{title:"Hotstar",filter:"/web-series/tv-shows-by-network/hotstar"},{title:"Amazon Prime",filter:"/web-series/tv-shows-by-network/amazon-prime-video"}],exports.genres=[{title:"Apple TV+",filter:"/ott/apple-tv"},{title:"Disney+",filter:"/ott/disney-plus"},{title:"Hulu",filter:"/ott/hulu"},{title:"Crunchyroll",filter:"/ott/crunchyroll"},{title:"Action",filter:"/movies-by-genre/action/"},{title:"Adventure",filter:"/movies-by-genre/adventure/"},{title:"Animation",filter:"/movies-by-genre/animated/"},{title:"Comedy",filter:"/movies-by-genre/comedy/"},{title:"Crime",filter:"/movies-by-genre/crime/"},{title:"Documentary",filter:"/movies-by-genre/documentary/"},{title:"Fantasy",filter:"/movies-by-genre/fantasy/"},{title:"Horror",filter:"/movies-by-genre/horror/"},{title:"Mystery",filter:"/movies-by-genre/mystery/"},{title:"Romance",filter:"/movies-by-genre/romance/"},{title:"Thriller",filter:"/movies-by-genre/thriller/"},{title:"Sci-Fi",filter:"/movies-by-genre/sci-fi/"}]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:""},{title:"Netflix",filter:"/web-series/tv-shows-by-network/netflix"},{title:"Hotstar",filter:"/web-series/tv-shows-by-network/hotstar"},{title:"Amazon Prime",filter:"/web-series/tv-shows-by-network/amazon-prime-video"}],exports.genres=[{title:"Apple TV+",filter:"/ott/apple-tv"},{title:"Disney+",filter:"/ott/disney-plus"},{title:"Hulu",filter:"/ott/hulu"},{title:"Crunchyroll",filter:"/ott/crunchyroll"},{title:"Action",filter:"/movies-by-genre/action/"},{title:"Adventure",filter:"/movies-by-genre/adventure/"},{title:"Animation",filter:"/movies-by-genre/animated/"},{title:"Comedy",filter:"/movies-by-genre/comedy/"},{title:"Crime",filter:"/movies-by-genre/crime/"},{title:"Documentary",filter:"/movies-by-genre/documentary/"},{title:"Fantasy",filter:"/movies-by-genre/fantasy/"},{title:"Horror",filter:"/movies-by-genre/horror/"},{title:"Mystery",filter:"/movies-by-genre/mystery/"},{title:"Romance",filter:"/movies-by-genre/romance/"},{title:"Thriller",filter:"/movies-by-genre/thriller/"},{title:"Sci-Fi",filter:"/movies-by-genre/sci-fi/"}]; \ No newline at end of file diff --git a/dist/topmovies/episodes.js b/dist/topmovies/episodes.js index dee51ad..52b8177 100644 --- a/dist/topmovies/episodes.js +++ b/dist/topmovies/episodes.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){var _b;const{axios:axios,cheerio:cheerio}=providerContext;try{url.includes("url=")&&(url=atob(url.split("url=")[1]));const html=(yield axios.get(url)).data;let $=cheerio.load(html);if(url.includes("url=")){const newUrl=null===(_b=$("meta[http-equiv='refresh']").attr("content"))||void 0===_b?void 0:_b.split("url=")[1],html2=(yield axios.get(newUrl||url)).data;$=cheerio.load(html2)}const episodeLinks=[];return $("h3,h4").map((i,element)=>{const seriesTitle=$(element).text(),episodesLink=$(element).find("a").attr("href");episodesLink&&"#"!==episodesLink&&episodeLinks.push({title:seriesTitle.trim()||"No title found",link:episodesLink||""})}),$("a.maxbutton").map((i,element)=>{const seriesTitle=$(element).children("span").text(),episodesLink=$(element).attr("href");episodesLink&&"#"!==episodesLink&&episodeLinks.push({title:seriesTitle.trim()||"No title found",link:episodesLink||""})}),episodeLinks}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){var _b;const{axios:axios,cheerio:cheerio}=providerContext;try{url.includes("url=")&&(url=atob(url.split("url=")[1]));const html=(yield axios.get(url)).data;let $=cheerio.load(html);if(url.includes("url=")){const newUrl=null===(_b=$("meta[http-equiv='refresh']").attr("content"))||void 0===_b?void 0:_b.split("url=")[1],html2=(yield axios.get(newUrl||url)).data;$=cheerio.load(html2)}const episodeLinks=[];return $("h3,h4").map((i,element)=>{const seriesTitle=$(element).text(),episodesLink=$(element).find("a").attr("href");episodesLink&&"#"!==episodesLink&&episodeLinks.push({title:seriesTitle.trim()||"No title found",link:episodesLink||""})}),$("a.maxbutton").map((i,element)=>{const seriesTitle=$(element).children("span").text(),episodesLink=$(element).attr("href");episodesLink&&"#"!==episodesLink&&episodeLinks.push({title:seriesTitle.trim()||"No title found",link:episodesLink||""})}),episodeLinks}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/topmovies/meta.js b/dist/topmovies/meta.js index b946fd5..d606382 100644 --- a/dist/topmovies/meta.js +++ b/dist/topmovies/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),meta={title:$(".imdbwp__title").text(),synopsis:$(".imdbwp__teaser").text(),image:$(".imdbwp__thumb").find("img").attr("src")||"",imdbId:(null===(_b=$(".imdbwp__link").attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",type:$(".thecontent").text().toLocaleLowerCase().includes("season")?"series":"movie"},links=[];return $("h3,h4").map((i,element)=>{var _a;const seriesTitle=$(element).text(),episodesLink=$(element).next("p").find(".maxbutton-episode-links,.maxbutton-g-drive,.maxbutton-af-download").attr("href"),movieLink=$(element).next("p").find(".maxbutton-download-links").attr("href");(movieLink||episodesLink&&"javascript:void(0);"!==episodesLink)&&links.push({title:seriesTitle.replace("Download ","").trim()||"Download",episodesLink:episodesLink||"",directLinks:movieLink?[{link:movieLink,title:"Movie",type:"movie"}]:[],quality:(null===(_a=null==seriesTitle?void 0:seriesTitle.match(/\d+p\b/))||void 0===_a?void 0:_a[0])||""})}),Object.assign(Object.assign({},meta),{linkList:links})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),meta={title:$(".imdbwp__title").text(),synopsis:$(".imdbwp__teaser").text(),image:$(".imdbwp__thumb").find("img").attr("src")||"",imdbId:(null===(_b=$(".imdbwp__link").attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",type:$(".thecontent").text().toLocaleLowerCase().includes("season")?"series":"movie"},links=[];return $("h3,h4").map((i,element)=>{var _a;const seriesTitle=$(element).text(),episodesLink=$(element).next("p").find(".maxbutton-episode-links,.maxbutton-g-drive,.maxbutton-af-download").attr("href"),movieLink=$(element).next("p").find(".maxbutton-download-links").attr("href");(movieLink||episodesLink&&"javascript:void(0);"!==episodesLink)&&links.push({title:seriesTitle.replace("Download ","").trim()||"Download",episodesLink:episodesLink||"",directLinks:movieLink?[{link:movieLink,title:"Movie",type:"movie"}]:[],quality:(null===(_a=null==seriesTitle?void 0:seriesTitle.match(/\d+p\b/))||void 0===_a?void 0:_a[0])||""})}),Object.assign(Object.assign({},meta),{linkList:links})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/topmovies/posts.js b/dist/topmovies/posts.js index 2fd78b5..fa4f31c 100644 --- a/dist/topmovies/posts.js +++ b/dist/topmovies/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate",Cookie:"popads_user_id=6ba8fe60a481387a3249f05aa058822d","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"},getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts(`${(yield getBaseUrl("Topmovies"))+filter}/page/${page}/`,signal,providerContext)})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts(`${yield getBaseUrl("Topmovies")}/search/${searchQuery}/page/${page}/`,signal,providerContext)})};function posts(url,signal,providerContext){return __awaiter(this,void 0,void 0,function*(){try{const{axios:axios,cheerio:cheerio}=providerContext,data=(yield axios.get(url,{headers:headers,signal:signal})).data,$=cheerio.load(data),catalog=[];return $(".post-cards").find("article").map((i,element)=>{const title=$(element).find("a").attr("title"),link=$(element).find("a").attr("href"),image=$(element).find("img").attr("data-src")||$(element).find("img").attr("src")||"";title&&link&&catalog.push({title:title.replace("Download","").trim(),link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate",Cookie:"popads_user_id=6ba8fe60a481387a3249f05aa058822d","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"},getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts(`${(yield getBaseUrl("Topmovies"))+filter}/page/${page}/`,signal,providerContext)})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts(`${yield getBaseUrl("Topmovies")}/search/${searchQuery}/page/${page}/`,signal,providerContext)})};function posts(url,signal,providerContext){return __awaiter(this,void 0,void 0,function*(){try{const{axios:axios,cheerio:cheerio}=providerContext,data=(yield axios.get(url,{headers:headers,signal:signal})).data,$=cheerio.load(data),catalog=[];return $(".post-cards").find("article").map((i,element)=>{const title=$(element).find("a").attr("title"),link=$(element).find("a").attr("href"),image=$(element).find("img").attr("data-src")||$(element).find("img").attr("src")||"";title&&link&&catalog.push({title:title.replace("Download","").trim(),link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/topmovies/stream.js b/dist/topmovies/stream.js index a035eee..da682bf 100644 --- a/dist/topmovies/stream.js +++ b/dist/topmovies/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate",Cookie:"popads_user_id=6ba8fe60a481387a3249f05aa058822d","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"},getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url,type:type,providerContext:providerContext}){var _b,_c;const{axios:axios,cheerio:cheerio}=providerContext;try{const modGetEpisodeLinks=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){var _b;const{axios:axios,cheerio:cheerio}=providerContext;try{url.includes("url=")&&(url=atob(url.split("url=")[1]));const html=(yield axios.get(url)).data;let $=cheerio.load(html);if(url.includes("url=")){const newUrl=null===(_b=$("meta[http-equiv='refresh']").attr("content"))||void 0===_b?void 0:_b.split("url=")[1],html2=(yield axios.get(newUrl||url)).data;$=cheerio.load(html2)}const episodeLinks=[];return $("h3,h4").map((i,element)=>{const seriesTitle=$(element).text(),episodesLink=$(element).find("a").attr("href");episodesLink&&"#"!==episodesLink&&episodeLinks.push({title:seriesTitle.trim()||"No title found",link:episodesLink||""})}),$("a.maxbutton").map((i,element)=>{const seriesTitle=$(element).children("span").text(),episodesLink=$(element).attr("href");episodesLink&&"#"!==episodesLink&&episodeLinks.push({title:seriesTitle.trim()||"No title found",link:episodesLink||""})}),episodeLinks}catch(err){return[]}})};if("movie"===type){url=(yield modGetEpisodeLinks({url:url,providerContext:providerContext}))[0].link||url}let downloadLink=yield modExtractor(url,providerContext);const ddl=(null===(_c=null===(_b=null==downloadLink?void 0:downloadLink.data)||void 0===_b?void 0:_b.match(/content="0;url=(.*?)"/))||void 0===_c?void 0:_c[1])||url,servers=[],driveLink=yield isDriveLink(ddl),driveHtml=(yield axios.get(driveLink,{headers:headers})).data,$drive=cheerio.load(driveHtml);try{const resumeBot=$drive(".btn.btn-light").attr("href")||"",resumeBotRes=yield axios.get(resumeBot,{headers:headers}),resumeBotToken=resumeBotRes.data.match(/formData\.append\('token', '([a-f0-9]+)'\)/)[1],resumeBotBody=new FormData;resumeBotBody.append("token",resumeBotToken);const resumeBotPath=resumeBotRes.data.match(/fetch\('\/download\?id=([a-zA-Z0-9\/+]+)'/)[1],resumeBotBaseUrl=resumeBot.split("/download")[0],resumeBotDownload=yield fetch(resumeBotBaseUrl+"/download?id="+resumeBotPath,{method:"POST",body:resumeBotBody,headers:{Referer:resumeBot,Cookie:"PHPSESSID=7e9658ce7c805dab5bbcea9046f7f308"}}),resumeBotDownloadData=yield resumeBotDownload.json();servers.push({server:"ResumeBot",link:resumeBotDownloadData.url,type:"mkv"})}catch(err){}try{$drive(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&servers.push({server:"Resume Worker "+(i+1),link:link,type:"mkv"})})}catch(err){}try{const cfWorkersLink=driveLink.replace("/file","/wfile")+"?type=1",cfWorkersHtml=(yield axios.get(cfWorkersLink,{headers:headers})).data,$cfWorkers=cheerio.load(cfWorkersHtml);$cfWorkers(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&servers.push({server:"Cf Worker 1."+i,link:link,type:"mkv"})})}catch(err){}try{const cfWorkersLink=driveLink.replace("/file","/wfile")+"?type=2",cfWorkersHtml=(yield axios.get(cfWorkersLink,{headers:headers})).data,$cfWorkers=cheerio.load(cfWorkersHtml);$cfWorkers(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&servers.push({server:"Cf Worker 2."+i,link:link,type:"mkv"})})}catch(err){}try{const seed=$drive(".btn-danger").attr("href")||"",newLinkRes=yield fetch(seed,{method:"HEAD",headers:headers,redirect:"manual"});let newLink=seed;newLink=newLinkRes.status>=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||seed:newLinkRes.url&&newLinkRes.url!==seed?newLinkRes.url||newLinkRes.url:newLinkRes.headers.get("location")||seed,servers.push({server:"Gdrive-Instant-2",link:(null==newLink?void 0:newLink.split("?url=")[1])||newLink,type:"mkv"})}catch(err){}return servers}catch(err){return[]}})};exports.getStream=getStream;const isDriveLink=ddl=>__awaiter(void 0,void 0,void 0,function*(){if(ddl.includes("drive")){const driveLeach=yield fetch(ddl),pathMatch=(yield driveLeach.text()).match(/window\.location\.replace\("([^"]+)"\)/),path=null==pathMatch?void 0:pathMatch[1];return`https://${ddl.split("/")[2]}${path}`}return ddl});function modExtractor(url,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios,cheerio:cheerio}=providerContext;try{const wpHttp=url.split("sid=")[1];var bodyFormData0=new FormData;bodyFormData0.append("_wp_http",wpHttp);const res=yield fetch(url.split("?")[0],{method:"POST",body:bodyFormData0}),html=yield res.text(),$=cheerio.load(html),wpHttp2=$("input").attr("name","_wp_http2").val();var bodyFormData=new FormData;bodyFormData.append("_wp_http2",wpHttp2);const formUrl=$("form").attr("action")||url.split("?")[0],res2=yield fetch(formUrl,{method:"POST",body:bodyFormData}),link=(yield res2.text()).match(/setAttribute\("href",\s*"(.*?)"/)[1],cookie=link.split("=")[1];return yield axios.get(link,{headers:{Referer:formUrl,Cookie:`${cookie}=${wpHttp2}`}})}catch(err){}})} \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate",Cookie:"popads_user_id=6ba8fe60a481387a3249f05aa058822d","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"},getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url,type:type,providerContext:providerContext}){var _b,_c;const{axios:axios,cheerio:cheerio}=providerContext;try{const modGetEpisodeLinks=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){var _b;const{axios:axios,cheerio:cheerio}=providerContext;try{url.includes("url=")&&(url=atob(url.split("url=")[1]));const html=(yield axios.get(url)).data;let $=cheerio.load(html);if(url.includes("url=")){const newUrl=null===(_b=$("meta[http-equiv='refresh']").attr("content"))||void 0===_b?void 0:_b.split("url=")[1],html2=(yield axios.get(newUrl||url)).data;$=cheerio.load(html2)}const episodeLinks=[];return $("h3,h4").map((i,element)=>{const seriesTitle=$(element).text(),episodesLink=$(element).find("a").attr("href");episodesLink&&"#"!==episodesLink&&episodeLinks.push({title:seriesTitle.trim()||"No title found",link:episodesLink||""})}),$("a.maxbutton").map((i,element)=>{const seriesTitle=$(element).children("span").text(),episodesLink=$(element).attr("href");episodesLink&&"#"!==episodesLink&&episodeLinks.push({title:seriesTitle.trim()||"No title found",link:episodesLink||""})}),episodeLinks}catch(err){return[]}})};if("movie"===type){url=(yield modGetEpisodeLinks({url:url,providerContext:providerContext}))[0].link||url}let downloadLink=yield modExtractor(url,providerContext);const ddl=(null===(_c=null===(_b=null==downloadLink?void 0:downloadLink.data)||void 0===_b?void 0:_b.match(/content="0;url=(.*?)"/))||void 0===_c?void 0:_c[1])||url,servers=[],driveLink=yield isDriveLink(ddl),driveHtml=(yield axios.get(driveLink,{headers:headers})).data,$drive=cheerio.load(driveHtml);try{const resumeBot=$drive(".btn.btn-light").attr("href")||"",resumeBotRes=yield axios.get(resumeBot,{headers:headers}),resumeBotToken=resumeBotRes.data.match(/formData\.append\('token', '([a-f0-9]+)'\)/)[1],resumeBotBody=new FormData;resumeBotBody.append("token",resumeBotToken);const resumeBotPath=resumeBotRes.data.match(/fetch\('\/download\?id=([a-zA-Z0-9\/+]+)'/)[1],resumeBotBaseUrl=resumeBot.split("/download")[0],resumeBotDownload=yield fetch(resumeBotBaseUrl+"/download?id="+resumeBotPath,{method:"POST",body:resumeBotBody,headers:{Referer:resumeBot,Cookie:"PHPSESSID=7e9658ce7c805dab5bbcea9046f7f308"}}),resumeBotDownloadData=yield resumeBotDownload.json();servers.push({server:"ResumeBot",link:resumeBotDownloadData.url,type:"mkv"})}catch(err){}try{$drive(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&servers.push({server:"Resume Worker "+(i+1),link:link,type:"mkv"})})}catch(err){}try{const cfWorkersLink=driveLink.replace("/file","/wfile")+"?type=1",cfWorkersHtml=(yield axios.get(cfWorkersLink,{headers:headers})).data,$cfWorkers=cheerio.load(cfWorkersHtml);$cfWorkers(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&servers.push({server:"Cf Worker 1."+i,link:link,type:"mkv"})})}catch(err){}try{const cfWorkersLink=driveLink.replace("/file","/wfile")+"?type=2",cfWorkersHtml=(yield axios.get(cfWorkersLink,{headers:headers})).data,$cfWorkers=cheerio.load(cfWorkersHtml);$cfWorkers(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&servers.push({server:"Cf Worker 2."+i,link:link,type:"mkv"})})}catch(err){}try{const seed=$drive(".btn-danger").attr("href")||"",newLinkRes=yield fetch(seed,{method:"HEAD",headers:headers,redirect:"manual"});let newLink=seed;newLink=newLinkRes.status>=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||seed:newLinkRes.url&&newLinkRes.url!==seed?newLinkRes.url||newLinkRes.url:newLinkRes.headers.get("location")||seed,servers.push({server:"Gdrive-Instant-2",link:(null==newLink?void 0:newLink.split("?url=")[1])||newLink,type:"mkv"})}catch(err){}return servers}catch(err){return[]}})};exports.getStream=getStream;const isDriveLink=ddl=>__awaiter(void 0,void 0,void 0,function*(){if(ddl.includes("drive")){const driveLeach=yield fetch(ddl),pathMatch=(yield driveLeach.text()).match(/window\.location\.replace\("([^"]+)"\)/),path=null==pathMatch?void 0:pathMatch[1];return`https://${ddl.split("/")[2]}${path}`}return ddl});function modExtractor(url,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios,cheerio:cheerio}=providerContext;try{const wpHttp=url.split("sid=")[1];var bodyFormData0=new FormData;bodyFormData0.append("_wp_http",wpHttp);const res=yield fetch(url.split("?")[0],{method:"POST",body:bodyFormData0}),html=yield res.text(),$=cheerio.load(html),wpHttp2=$("input").attr("name","_wp_http2").val();var bodyFormData=new FormData;bodyFormData.append("_wp_http2",wpHttp2);const formUrl=$("form").attr("action")||url.split("?")[0],res2=yield fetch(formUrl,{method:"POST",body:bodyFormData}),link=(yield res2.text()).match(/setAttribute\("href",\s*"(.*?)"/)[1],cookie=link.split("=")[1];return yield axios.get(link,{headers:{Referer:formUrl,Cookie:`${cookie}=${wpHttp2}`}})}catch(err){}})} \ No newline at end of file diff --git a/dist/uhd/catalog.js b/dist/uhd/catalog.js index 38d1da6..ba1978f 100644 --- a/dist/uhd/catalog.js +++ b/dist/uhd/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:""},{title:"Web Series",filter:"/web-series"},{title:"Movies",filter:"/movies"},{title:"4K HDR",filter:"/4k-hdr"}],exports.genres=[{title:"4K HEVC",filter:"/2160p-hevc"},{title:"HD 10bit",filter:"/1080p-10bit"},{title:"English Movies",filter:"/movies/english-movies"},{title:"Dual Audio",filter:"/movies/dual-audio-movies"}]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:""},{title:"Web Series",filter:"/web-series"},{title:"Movies",filter:"/movies"},{title:"4K HDR",filter:"/4k-hdr"}],exports.genres=[{title:"4K HEVC",filter:"/2160p-hevc"},{title:"HD 10bit",filter:"/1080p-10bit"},{title:"English Movies",filter:"/movies/english-movies"},{title:"Dual Audio",filter:"/movies/dual-audio-movies"}]; \ No newline at end of file diff --git a/dist/uhd/meta.js b/dist/uhd/meta.js index 2a90d78..771ab4c 100644 --- a/dist/uhd/meta.js +++ b/dist/uhd/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,res=yield axios.get(url,{headers:headers}),html=yield res.data,$=cheerio.load(html),title=$("h2:first").text()||"",image=$("h2").siblings().find("img").attr("src")||"",episodes=[];return $(".mks_separator,p:contains('mks_separator')").each((index,element)=>{$(element).nextUntil(".mks_separator").each((index,element)=>{const title=$(element).text(),episodesList=[];$(element).next("p").find("a").each((index,element)=>{const title=$(element).text(),link=$(element).attr("href");title&&link&&!title.toLocaleLowerCase().includes("zip")&&episodesList.push({title:title,link:link})}),title&&episodesList.length>0&&episodes.push({title:title,directLinks:episodesList})})}),$("hr").each((index,element)=>{$(element).nextUntil("hr").each((index,element)=>{const title=$(element).text(),episodesList=[];$(element).next("p").find("a").each((index,element)=>{const title=$(element).text(),link=$(element).attr("href");title&&link&&!title.toLocaleLowerCase().includes("zip")&&episodesList.push({title:title,link:link})}),title&&episodesList.length>0&&episodes.push({title:title,directLinks:episodesList})})}),{title:title.match(/^Download\s+([^(\[]+)/i)?(null===(_b=null==title?void 0:title.match(/^Download\s+([^(\[]+)/i))||void 0===_b?void 0:_b[1])||"":title.replace("Download","")||"",image:image,imdbId:"",synopsis:title,type:"",linkList:episodes}}catch(error){return{title:"",image:"",imdbId:"",synopsis:"",linkList:[],type:"uhd"}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,res=yield axios.get(url,{headers:headers}),html=yield res.data,$=cheerio.load(html),title=$("h2:first").text()||"",image=$("h2").siblings().find("img").attr("src")||"",episodes=[];return $(".mks_separator,p:contains('mks_separator')").each((index,element)=>{$(element).nextUntil(".mks_separator").each((index,element)=>{const title=$(element).text(),episodesList=[];$(element).next("p").find("a").each((index,element)=>{const title=$(element).text(),link=$(element).attr("href");title&&link&&!title.toLocaleLowerCase().includes("zip")&&episodesList.push({title:title,link:link})}),title&&episodesList.length>0&&episodes.push({title:title,directLinks:episodesList})})}),$("hr").each((index,element)=>{$(element).nextUntil("hr").each((index,element)=>{const title=$(element).text(),episodesList=[];$(element).next("p").find("a").each((index,element)=>{const title=$(element).text(),link=$(element).attr("href");title&&link&&!title.toLocaleLowerCase().includes("zip")&&episodesList.push({title:title,link:link})}),title&&episodesList.length>0&&episodes.push({title:title,directLinks:episodesList})})}),{title:title.match(/^Download\s+([^(\[]+)/i)?(null===(_b=null==title?void 0:title.match(/^Download\s+([^(\[]+)/i))||void 0===_b?void 0:_b[1])||"":title.replace("Download","")||"",image:image,imdbId:"",synopsis:title,type:"",linkList:episodes}}catch(error){return{title:"",image:"",imdbId:"",synopsis:"",linkList:[],type:"uhd"}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/uhd/posts.js b/dist/uhd/posts.js index da0cb0c..4821a41 100644 --- a/dist/uhd/posts.js +++ b/dist/uhd/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"},getPosts=_a=>__awaiter(void 0,[_a],void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("UhdMovies");return posts(baseUrl,1===page?`${baseUrl}/${filter}/`:`${baseUrl+filter}/page/${page}/`,signal,providerContext)});exports.getPosts=getPosts;const getSearchPosts=_a=>__awaiter(void 0,[_a],void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("UhdMovies");return posts(baseUrl,`${baseUrl}/search/${searchQuery}/page/${page}/`,signal,providerContext)});function posts(baseURL,url,signal,providerContext){return __awaiter(this,void 0,void 0,function*(){try{const{axios:axios,cheerio:cheerio}=providerContext,html=(yield axios.get(url,{headers:headers,signal:signal})).data,$=cheerio.load(html),uhdCatalog=[];return $(".gridlove-posts").find(".layout-masonry").each((index,element)=>{const title=$(element).find("a").attr("title"),link=$(element).find("a").attr("href"),image=$(element).find("a").find("img").attr("src");title&&link&&image&&uhdCatalog.push({title:title.replace("Download","").trim(),link:link,image:image})}),uhdCatalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"},getPosts=_a=>__awaiter(void 0,[_a],void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("UhdMovies");return posts(baseUrl,1===page?`${baseUrl}/${filter}/`:`${baseUrl+filter}/page/${page}/`,signal,providerContext)});exports.getPosts=getPosts;const getSearchPosts=_a=>__awaiter(void 0,[_a],void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("UhdMovies");return posts(baseUrl,`${baseUrl}/search/${searchQuery}/page/${page}/`,signal,providerContext)});function posts(baseURL,url,signal,providerContext){return __awaiter(this,void 0,void 0,function*(){try{const{axios:axios,cheerio:cheerio}=providerContext,html=(yield axios.get(url,{headers:headers,signal:signal})).data,$=cheerio.load(html),uhdCatalog=[];return $(".gridlove-posts").find(".layout-masonry").each((index,element)=>{const title=$(element).find("a").attr("title"),link=$(element).find("a").attr("href"),image=$(element).find("a").find("img").attr("src");title&&link&&image&&uhdCatalog.push({title:title.replace("Download","").trim(),link:link,image:image})}),uhdCatalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/uhd/stream.js b/dist/uhd/stream.js index 1033e82..22a1996 100644 --- a/dist/uhd/stream.js +++ b/dist/uhd/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"},getStream=_a=>__awaiter(void 0,[_a],void 0,function*({link:url,providerContext:providerContext}){var _b,_c;try{const{axios:axios,cheerio:cheerio}=providerContext;let downloadLink=yield modExtractor(url,providerContext);const ddl=(null===(_c=null===(_b=null==downloadLink?void 0:downloadLink.data)||void 0===_b?void 0:_b.match(/content="0;url=(.*?)"/))||void 0===_c?void 0:_c[1])||url,driveLink=yield isDriveLink(ddl),ServerLinks=[],driveHtml=(yield axios.get(driveLink,{headers:headers})).data,$drive=cheerio.load(driveHtml);try{const seed=$drive(".btn-danger").attr("href")||"",instantToken=seed.split("=")[1],InstantFromData=new FormData;InstantFromData.append("keys",instantToken);const videoSeedUrl=seed.split("/").slice(0,3).join("/")+"/api",instantLinkRes=yield fetch(videoSeedUrl,{method:"POST",body:InstantFromData,headers:{"x-token":videoSeedUrl}}),instantLinkData=yield instantLinkRes.json();if(!1===instantLinkData.error){const instantLink=instantLinkData.url;ServerLinks.push({server:"Gdrive-Instant",link:instantLink,type:"mkv"})}}catch(err){}try{const seed=$drive(".btn-danger").attr("href")||"",newLinkRes=yield fetch(seed,{method:"HEAD",headers:headers,redirect:"manual"});let newLink=seed;newLink=newLinkRes.status>=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||seed:newLinkRes.url&&newLinkRes.url!==seed?newLinkRes.url||newLinkRes.url:newLinkRes.headers.get("location")||seed,ServerLinks.push({server:"Gdrive-Instant-2",link:(null==newLink?void 0:newLink.split("?url=")[1])||newLink,type:"mkv"})}catch(err){}try{const resumeDrive=driveLink.replace("/file","/zfile"),resumeDriveHtml=(yield axios.get(resumeDrive,{headers:headers})).data,resumeLink=cheerio.load(resumeDriveHtml)(".btn-success").attr("href");resumeLink&&ServerLinks.push({server:"ResumeCloud",link:resumeLink,type:"mkv"})}catch(err){}try{$drive(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&ServerLinks.push({server:"Resume Worker "+(i+1),link:link,type:"mkv"})})}catch(err){}try{const cfWorkersLink=driveLink.replace("/file","/wfile")+"?type=1",cfWorkersHtml=(yield axios.get(cfWorkersLink,{headers:headers})).data,$cfWorkers=cheerio.load(cfWorkersHtml);$cfWorkers(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&ServerLinks.push({server:"Cf Worker 1."+i,link:link,type:"mkv"})})}catch(err){}try{const cfWorkersLink=driveLink.replace("/file","/wfile")+"?type=2",cfWorkersHtml=(yield axios.get(cfWorkersLink,{headers:headers})).data,$cfWorkers=cheerio.load(cfWorkersHtml);$cfWorkers(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&ServerLinks.push({server:"Cf Worker 2."+i,link:link,type:"mkv"})})}catch(err){}return ServerLinks}catch(err){return[]}});exports.getStream=getStream;const isDriveLink=ddl=>__awaiter(void 0,void 0,void 0,function*(){if(ddl.includes("drive")){const driveLeach=yield fetch(ddl),pathMatch=(yield driveLeach.text()).match(/window\.location\.replace\("([^"]+)"\)/),path=null==pathMatch?void 0:pathMatch[1];return`https://${ddl.split("/")[2]}${path}`}return ddl});function modExtractor(url,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios,cheerio:cheerio}=providerContext;try{const wpHttp=url.split("sid=")[1];var bodyFormData0=new FormData;bodyFormData0.append("_wp_http",wpHttp);const res=yield fetch(url.split("?")[0],{method:"POST",body:bodyFormData0}),html=yield res.text(),$=cheerio.load(html),wpHttp2=$("input").attr("name","_wp_http2").val();var bodyFormData=new FormData;bodyFormData.append("_wp_http2",wpHttp2);const formUrl=$("form").attr("action")||url.split("?")[0],res2=yield fetch(formUrl,{method:"POST",body:bodyFormData}),link=(yield res2.text()).match(/setAttribute\("href",\s*"(.*?)"/)[1],cookie=link.split("=")[1];return yield axios.get(link,{headers:{Referer:formUrl,Cookie:`${cookie}=${wpHttp2}`}})}catch(err){}})} \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"},getStream=_a=>__awaiter(void 0,[_a],void 0,function*({link:url,providerContext:providerContext}){var _b,_c;try{const{axios:axios,cheerio:cheerio}=providerContext;let downloadLink=yield modExtractor(url,providerContext);const ddl=(null===(_c=null===(_b=null==downloadLink?void 0:downloadLink.data)||void 0===_b?void 0:_b.match(/content="0;url=(.*?)"/))||void 0===_c?void 0:_c[1])||url,driveLink=yield isDriveLink(ddl),ServerLinks=[],driveHtml=(yield axios.get(driveLink,{headers:headers})).data,$drive=cheerio.load(driveHtml);try{const seed=$drive(".btn-danger").attr("href")||"",instantToken=seed.split("=")[1],InstantFromData=new FormData;InstantFromData.append("keys",instantToken);const videoSeedUrl=seed.split("/").slice(0,3).join("/")+"/api",instantLinkRes=yield fetch(videoSeedUrl,{method:"POST",body:InstantFromData,headers:{"x-token":videoSeedUrl}}),instantLinkData=yield instantLinkRes.json();if(!1===instantLinkData.error){const instantLink=instantLinkData.url;ServerLinks.push({server:"Gdrive-Instant",link:instantLink,type:"mkv"})}}catch(err){}try{const seed=$drive(".btn-danger").attr("href")||"",newLinkRes=yield fetch(seed,{method:"HEAD",headers:headers,redirect:"manual"});let newLink=seed;newLink=newLinkRes.status>=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||seed:newLinkRes.url&&newLinkRes.url!==seed?newLinkRes.url||newLinkRes.url:newLinkRes.headers.get("location")||seed,ServerLinks.push({server:"Gdrive-Instant-2",link:(null==newLink?void 0:newLink.split("?url=")[1])||newLink,type:"mkv"})}catch(err){}try{const resumeDrive=driveLink.replace("/file","/zfile"),resumeDriveHtml=(yield axios.get(resumeDrive,{headers:headers})).data,resumeLink=cheerio.load(resumeDriveHtml)(".btn-success").attr("href");resumeLink&&ServerLinks.push({server:"ResumeCloud",link:resumeLink,type:"mkv"})}catch(err){}try{$drive(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&ServerLinks.push({server:"Resume Worker "+(i+1),link:link,type:"mkv"})})}catch(err){}try{const cfWorkersLink=driveLink.replace("/file","/wfile")+"?type=1",cfWorkersHtml=(yield axios.get(cfWorkersLink,{headers:headers})).data,$cfWorkers=cheerio.load(cfWorkersHtml);$cfWorkers(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&ServerLinks.push({server:"Cf Worker 1."+i,link:link,type:"mkv"})})}catch(err){}try{const cfWorkersLink=driveLink.replace("/file","/wfile")+"?type=2",cfWorkersHtml=(yield axios.get(cfWorkersLink,{headers:headers})).data,$cfWorkers=cheerio.load(cfWorkersHtml);$cfWorkers(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&ServerLinks.push({server:"Cf Worker 2."+i,link:link,type:"mkv"})})}catch(err){}return ServerLinks}catch(err){return[]}});exports.getStream=getStream;const isDriveLink=ddl=>__awaiter(void 0,void 0,void 0,function*(){if(ddl.includes("drive")){const driveLeach=yield fetch(ddl),pathMatch=(yield driveLeach.text()).match(/window\.location\.replace\("([^"]+)"\)/),path=null==pathMatch?void 0:pathMatch[1];return`https://${ddl.split("/")[2]}${path}`}return ddl});function modExtractor(url,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios,cheerio:cheerio}=providerContext;try{const wpHttp=url.split("sid=")[1];var bodyFormData0=new FormData;bodyFormData0.append("_wp_http",wpHttp);const res=yield fetch(url.split("?")[0],{method:"POST",body:bodyFormData0}),html=yield res.text(),$=cheerio.load(html),wpHttp2=$("input").attr("name","_wp_http2").val();var bodyFormData=new FormData;bodyFormData.append("_wp_http2",wpHttp2);const formUrl=$("form").attr("action")||url.split("?")[0],res2=yield fetch(formUrl,{method:"POST",body:bodyFormData}),link=(yield res2.text()).match(/setAttribute\("href",\s*"(.*?)"/)[1],cookie=link.split("=")[1];return yield axios.get(link,{headers:{Referer:formUrl,Cookie:`${cookie}=${wpHttp2}`}})}catch(err){}})} \ No newline at end of file diff --git a/dist/vadapav/catalog.js b/dist/vadapav/catalog.js index f69e31d..b16095a 100644 --- a/dist/vadapav/catalog.js +++ b/dist/vadapav/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Movies",filter:"/608c853f-704e-48f0-b785-4ae1f48ea70d"},{title:"Tv Shows",filter:"/72983eef-a12f-4be4-99a7-e8f6afa568c1"},{title:"Anime",filter:"/36abf81c-1032-4fbf-9a55-347a05ce2ca3"}],exports.genres=[]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Movies",filter:"/608c853f-704e-48f0-b785-4ae1f48ea70d"},{title:"Tv Shows",filter:"/72983eef-a12f-4be4-99a7-e8f6afa568c1"},{title:"Anime",filter:"/36abf81c-1032-4fbf-9a55-347a05ce2ca3"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/vadapav/episodes.js b/dist/vadapav/episodes.js index 7d1c76f..1c3cb33 100644 --- a/dist/vadapav/episodes.js +++ b/dist/vadapav/episodes.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext;try{const baseUrl=null==url?void 0:url.split("/").slice(0,3).join("/"),html=(yield axios.get(url)).data;let $=cheerio.load(html);const episodeLinks=[];return $('.file-entry:not(:contains("Parent Directory"))').map((i,element)=>{var _a,_b,_c,_d,_e,_f;const link=$(element).attr("href");link&&((null===(_a=$(element).text())||void 0===_a?void 0:_a.includes(".mp4"))||(null===(_b=$(element).text())||void 0===_b?void 0:_b.includes(".mkv")))&&episodeLinks.push({title:(null===(_e=null===(_d=null===(_c=$(element).text())||void 0===_c?void 0:_c.match(/E\d+/))||void 0===_d?void 0:_d[0])||void 0===_e?void 0:_e.replace("E","Episode "))||i+1+". "+(null===(_f=$(element).text())||void 0===_f?void 0:_f.replace(".mkv","")),link:baseUrl+link})}),episodeLinks}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext;try{const baseUrl=null==url?void 0:url.split("/").slice(0,3).join("/"),html=(yield axios.get(url)).data;let $=cheerio.load(html);const episodeLinks=[];return $('.file-entry:not(:contains("Parent Directory"))').map((i,element)=>{var _a,_b,_c,_d,_e,_f;const link=$(element).attr("href");link&&((null===(_a=$(element).text())||void 0===_a?void 0:_a.includes(".mp4"))||(null===(_b=$(element).text())||void 0===_b?void 0:_b.includes(".mkv")))&&episodeLinks.push({title:(null===(_e=null===(_d=null===(_c=$(element).text())||void 0===_c?void 0:_c.match(/E\d+/))||void 0===_d?void 0:_d[0])||void 0===_e?void 0:_e.replace("E","Episode "))||i+1+". "+(null===(_f=$(element).text())||void 0===_f?void 0:_f.replace(".mkv","")),link:baseUrl+link})}),episodeLinks}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/vadapav/meta.js b/dist/vadapav/meta.js index b4fe4ef..1501788 100644 --- a/dist/vadapav/meta.js +++ b/dist/vadapav/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c;try{const{axios:axios,cheerio:cheerio}=providerContext,baseUrl=null==link?void 0:link.split("/").slice(0,3).join("/"),url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),title=(null===(_c=null===(_b=$(".directory").children().first().text().trim())||void 0===_b?void 0:_b.split("/").pop())||void 0===_c?void 0:_c.trim())||"",links=[];$('.directory-entry:not(:contains("Parent Directory"))').map((i,element)=>{const link=$(element).attr("href");link&&links.push({episodesLink:baseUrl+link,title:$(element).text()})});const directLinks=[];return $('.file-entry:not(:contains("Parent Directory"))').map((i,element)=>{var _a,_b;const link=$(element).attr("href");link&&((null===(_a=$(element).text())||void 0===_a?void 0:_a.includes(".mp4"))||(null===(_b=$(element).text())||void 0===_b?void 0:_b.includes(".mkv")))&&directLinks.push({title:i+1+". "+$(element).text(),link:baseUrl+link})}),directLinks.length>0&&links.push({title:title+" DL",directLinks:directLinks}),{title:title,synopsis:"",image:"",imdbId:"",type:"movie",linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c;try{const{axios:axios,cheerio:cheerio}=providerContext,baseUrl=null==link?void 0:link.split("/").slice(0,3).join("/"),url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),title=(null===(_c=null===(_b=$(".directory").children().first().text().trim())||void 0===_b?void 0:_b.split("/").pop())||void 0===_c?void 0:_c.trim())||"",links=[];$('.directory-entry:not(:contains("Parent Directory"))').map((i,element)=>{const link=$(element).attr("href");link&&links.push({episodesLink:baseUrl+link,title:$(element).text()})});const directLinks=[];return $('.file-entry:not(:contains("Parent Directory"))').map((i,element)=>{var _a,_b;const link=$(element).attr("href");link&&((null===(_a=$(element).text())||void 0===_a?void 0:_a.includes(".mp4"))||(null===(_b=$(element).text())||void 0===_b?void 0:_b.includes(".mkv")))&&directLinks.push({title:i+1+". "+$(element).text(),link:baseUrl+link})}),directLinks.length>0&&links.push({title:title+" DL",directLinks:directLinks}),{title:title,synopsis:"",image:"",imdbId:"",type:"movie",linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/vadapav/posts.js b/dist/vadapav/posts.js index f0c3389..5068585 100644 --- a/dist/vadapav/posts.js +++ b/dist/vadapav/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("vadapav");if(page>1)return[];return posts({baseUrl:baseUrl,url:`${baseUrl+filter}`,signal:signal,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("vadapav");if(page>1)return[];return posts({baseUrl:baseUrl,url:`${baseUrl}/s/${searchQuery}`,signal:signal,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data),catalog=[];return $('.directory-entry:not(:contains("Parent Directory"))').map((i,element)=>{var _a;const title=$(element).text(),link=$(element).attr("href"),imageTitle=(null==title?void 0:title.length)>30?null===(_a=null==title?void 0:title.slice(0,30))||void 0===_a?void 0:_a.replace(/\./g," "):null==title?void 0:title.replace(/\./g," "),image=`https://placehold.jp/23/000000/ffffff/200x400.png?text=${encodeURIComponent(imageTitle)}&css=%7B%22background%22%3A%22%20-webkit-gradient(linear%2C%20left%20bottom%2C%20left%20top%2C%20from(%233f3b3b)%2C%20to(%23000000))%22%2C%22text-transform%22%3A%22%20capitalize%22%7D`;title&&link&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("vadapav");if(page>1)return[];return posts({baseUrl:baseUrl,url:`${baseUrl+filter}`,signal:signal,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("vadapav");if(page>1)return[];return posts({baseUrl:baseUrl,url:`${baseUrl}/s/${searchQuery}`,signal:signal,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data),catalog=[];return $('.directory-entry:not(:contains("Parent Directory"))').map((i,element)=>{var _a;const title=$(element).text(),link=$(element).attr("href"),imageTitle=(null==title?void 0:title.length)>30?null===(_a=null==title?void 0:title.slice(0,30))||void 0===_a?void 0:_a.replace(/\./g," "):null==title?void 0:title.replace(/\./g," "),image=`https://placehold.jp/23/000000/ffffff/200x400.png?text=${encodeURIComponent(imageTitle)}&css=%7B%22background%22%3A%22%20-webkit-gradient(linear%2C%20left%20bottom%2C%20left%20top%2C%20from(%233f3b3b)%2C%20to(%23000000))%22%2C%22text-transform%22%3A%22%20capitalize%22%7D`;title&&link&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/vadapav/stream.js b/dist/vadapav/stream.js index e45275b..1ed5167 100644 --- a/dist/vadapav/stream.js +++ b/dist/vadapav/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url}){try{const stream=[];return stream.push({server:"vadapav",link:url,type:(null==url?void 0:url.split(".").pop())||"mkv"}),stream}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url}){try{const stream=[];return stream.push({server:"vadapav",link:url,type:(null==url?void 0:url.split(".").pop())||"mkv"}),stream}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/vega/catalog.js b/dist/vega/catalog.js index e3e33df..fa0b3bb 100644 --- a/dist/vega/catalog.js +++ b/dist/vega/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"New",filter:""},{title:"Netflix",filter:"web-series/netflix"},{title:"Amazon Prime",filter:"web-series/amazon-prime-video"},{title:"4K Movies",filter:"movies-by-quality/2160p"}],exports.genres=[{title:"Action",filter:"category/movies-by-genres/action"},{title:"Adventure",filter:"category/movies-by-genres/adventure"},{title:"Animation",filter:"category/movies-by-genres/animation"},{title:"Biography",filter:"category/movies-by-genres/biography"},{title:"Comedy",filter:"category/movies-by-genres/comedy"},{title:"Crime",filter:"category/movies-by-genres/crime"},{title:"Documentary",filter:"category/movies-by-genres/documentary"},{title:"Drama",filter:"category/movies-by-genres/drama"},{title:"Family",filter:"category/movies-by-genres/family"},{title:"Fantasy",filter:"category/movies-by-genres/fantasy"},{title:"History",filter:"category/movies-by-genres/history"},{title:"Horror",filter:"category/movies-by-genres/horror"},{title:"Music",filter:"category/movies-by-genres/music"},{title:"Mystery",filter:"category/movies-by-genres/mystery"},{title:"Romance",filter:"category/movies-by-genres/romance"},{title:"Sci-Fi",filter:"category/movies-by-genres/sci-fi"},{title:"Sport",filter:"category/movies-by-genres/sport"},{title:"Thriller",filter:"category/movies-by-genres/thriller"},{title:"War",filter:"category/movies-by-genres/war"},{title:"Western",filter:"category/movies-by-genres/western"}]; \ No newline at end of file +exports.genres=exports.catalog=void 0,exports.catalog=[{title:"New",filter:""},{title:"Netflix",filter:"web-series/netflix"},{title:"Amazon Prime",filter:"web-series/amazon-prime-video"},{title:"4K Movies",filter:"movies-by-quality/2160p"}],exports.genres=[{title:"Action",filter:"category/movies-by-genres/action"},{title:"Adventure",filter:"category/movies-by-genres/adventure"},{title:"Animation",filter:"category/movies-by-genres/animation"},{title:"Biography",filter:"category/movies-by-genres/biography"},{title:"Comedy",filter:"category/movies-by-genres/comedy"},{title:"Crime",filter:"category/movies-by-genres/crime"},{title:"Documentary",filter:"category/movies-by-genres/documentary"},{title:"Drama",filter:"category/movies-by-genres/drama"},{title:"Family",filter:"category/movies-by-genres/family"},{title:"Fantasy",filter:"category/movies-by-genres/fantasy"},{title:"History",filter:"category/movies-by-genres/history"},{title:"Horror",filter:"category/movies-by-genres/horror"},{title:"Music",filter:"category/movies-by-genres/music"},{title:"Mystery",filter:"category/movies-by-genres/mystery"},{title:"Romance",filter:"category/movies-by-genres/romance"},{title:"Sci-Fi",filter:"category/movies-by-genres/sci-fi"},{title:"Sport",filter:"category/movies-by-genres/sport"},{title:"Thriller",filter:"category/movies-by-genres/thriller"},{title:"War",filter:"category/movies-by-genres/war"},{title:"Western",filter:"category/movies-by-genres/western"}]; \ No newline at end of file diff --git a/dist/vega/episodes.js b/dist/vega/episodes.js index e787504..c1f1865 100644 --- a/dist/vega/episodes.js +++ b/dist/vega/episodes.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;try{const res=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{cookie:"ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=6yZYfXQxBgjaD1eacR5zZCz7njssbxjtSZZCElTOGk0-1764836255-1.2.1.1-bzHvDcDRLp6AAYo7qvGVzJ6Gk6zaqAepuGiGhAWCGYL.ZDpw5yI4TkUIXDgAnEhGCZ9J5X2_OagzgeMHZrd8rzeyAFQXj0dmYMErcfII7_Rhq5kZ4kAtS0tl9PtaNKKd2m4taIufySXCCstl3iNLMODTjbsW_KZi8U8DauOdGSAhBd1DCGxvLlAOM.snfkhb0yQiVJcLW8Bv9IeKQac0ar_TKkV6QexqNZYiyRXnE7E; xla=s4t","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0"})}),$=cheerio.load(res.data),container=$(".entry-content,.entry-inner");$(".unili-content,.code-block-1").remove();const episodes=[];return container.find("h4").each((index,element)=>{const el=$(element),title=el.text().replace(/-/g,"").replace(/:/g,""),link=el.next("p").find('.btn-outline[style="background:linear-gradient(135deg,#ed0b0b,#f2d152); color: white;"]').parent().attr("href");title&&link&&episodes.push({title:title,link:link})}),episodes}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;try{const res=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{cookie:"ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=6yZYfXQxBgjaD1eacR5zZCz7njssbxjtSZZCElTOGk0-1764836255-1.2.1.1-bzHvDcDRLp6AAYo7qvGVzJ6Gk6zaqAepuGiGhAWCGYL.ZDpw5yI4TkUIXDgAnEhGCZ9J5X2_OagzgeMHZrd8rzeyAFQXj0dmYMErcfII7_Rhq5kZ4kAtS0tl9PtaNKKd2m4taIufySXCCstl3iNLMODTjbsW_KZi8U8DauOdGSAhBd1DCGxvLlAOM.snfkhb0yQiVJcLW8Bv9IeKQac0ar_TKkV6QexqNZYiyRXnE7E; xla=s4t","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0"})}),$=cheerio.load(res.data),container=$(".entry-content,.entry-inner");$(".unili-content,.code-block-1").remove();const episodes=[];return container.find("h4").each((index,element)=>{const el=$(element),title=el.text().replace(/-/g,"").replace(/:/g,""),link=el.next("p").find('.btn-outline[style="background:linear-gradient(135deg,#ed0b0b,#f2d152); color: white;"]').parent().attr("href");title&&link&&episodes.push({title:title,link:link})}),episodes}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/vega/meta.js b/dist/vega/meta.js index 340bcb4..c121221 100644 --- a/dist/vega/meta.js +++ b/dist/vega/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"},getMeta=_a=>__awaiter(void 0,[_a],void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m,_o,_p,_q,_r,_s,_t,_u,_v;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,baseUrl=url.split("/").slice(0,3).join("/"),response=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{Referer:baseUrl})}),$=cheerio.load(response.data),infoContainer=$(".entry-content,.post-inner"),heading=null==infoContainer?void 0:infoContainer.find("h3"),imdbId=(null===(_g=null===(_f=null===(_e=null===(_d=null===(_c=null===(_b=null==heading?void 0:heading.next("p"))||void 0===_b?void 0:_b.find("a"))||void 0===_c?void 0:_c[0])||void 0===_d?void 0:_d.attribs)||void 0===_e?void 0:_e.href)||void 0===_f?void 0:_f.match(/tt\d+/g))||void 0===_g?void 0:_g[0])||(null===(_h=infoContainer.text().match(/tt\d+/g))||void 0===_h?void 0:_h[0])||"",type=(null===(_k=null===(_j=null==heading?void 0:heading.next("p"))||void 0===_j?void 0:_j.text())||void 0===_k?void 0:_k.includes("Series Name"))?"series":"movie",titleRegex=/Name: (.+)/,title=(null===(_o=null===(_m=null===(_l=null==heading?void 0:heading.next("p"))||void 0===_l?void 0:_l.text())||void 0===_m?void 0:_m.match(titleRegex))||void 0===_o?void 0:_o[1])||"",synopsisNode=null===(_t=null===(_s=null===(_r=null===(_q=null===(_p=null==infoContainer?void 0:infoContainer.find("p"))||void 0===_p?void 0:_p.next("h3,h4"))||void 0===_q?void 0:_q.next("p"))||void 0===_r?void 0:_r[0])||void 0===_s?void 0:_s.children)||void 0===_t?void 0:_t[0],synopsis=synopsisNode&&"data"in synopsisNode?synopsisNode.data:"";let image=(null===(_u=null==infoContainer?void 0:infoContainer.find("img[data-lazy-src]"))||void 0===_u?void 0:_u.attr("data-lazy-src"))||"";image.startsWith("//")&&(image="https:"+image);const hr=null===(_v=null==infoContainer?void 0:infoContainer.first())||void 0===_v?void 0:_v.find("hr"),list=null==hr?void 0:hr.nextUntil("hr"),links=[];return list.each((index,element)=>{var _a,_b,_c,_d,_e,_f,_g,_h,_j;const title=(null==(element=$(element))?void 0:element.text())||"",quality=(null===(_a=null==element?void 0:element.text().match(/\d+p\b/))||void 0===_a?void 0:_a[0])||"",movieLinks=(null==element?void 0:element.next().find(".dwd-button").text().toLowerCase().includes("download"))?null===(_c=null===(_b=null==element?void 0:element.next().find(".dwd-button"))||void 0===_b?void 0:_b.parent())||void 0===_c?void 0:_c.attr("href"):"",vcloudLinks=null===(_e=null===(_d=null==element?void 0:element.next().find(".btn-outline[style='background:linear-gradient(135deg,#ed0b0b,#f2d152); color: white;'],.btn-outline[style='background:linear-gradient(135deg,#ed0b0b,#f2d152); color: #fdf8f2;'],.btn-outline[style='background:linear-gradient(135deg,#ed0b0b,#f2d152);color: white']"))||void 0===_d?void 0:_d.parent())||void 0===_e?void 0:_e.attr("href"),episodesLink=vcloudLinks||((null==element?void 0:element.next().find(".dwd-button").text().toLowerCase().includes("episode"))?null===(_g=null===(_f=null==element?void 0:element.next().find(".dwd-button"))||void 0===_f?void 0:_f.parent())||void 0===_g?void 0:_g.attr("href"):"")||(null===(_j=null===(_h=null==element?void 0:element.next().find(".btn-outline[style='background:linear-gradient(135deg,#0ebac3,#09d261); color: white;']"))||void 0===_h?void 0:_h.parent())||void 0===_j?void 0:_j.attr("href"));(movieLinks||episodesLink)&&links.push({title:title,directLinks:movieLinks?[{title:"Movie",link:movieLinks,type:"movie"}]:[],episodesLink:episodesLink,quality:quality})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(error){return{title:"",synopsis:"",image:"",imdbId:"",type:"",linkList:[]}}});exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"},getMeta=_a=>__awaiter(void 0,[_a],void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m,_o,_p,_q,_r,_s,_t,_u,_v;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,baseUrl=url.split("/").slice(0,3).join("/"),response=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{Referer:baseUrl})}),$=cheerio.load(response.data),infoContainer=$(".entry-content,.post-inner"),heading=null==infoContainer?void 0:infoContainer.find("h3"),imdbId=(null===(_g=null===(_f=null===(_e=null===(_d=null===(_c=null===(_b=null==heading?void 0:heading.next("p"))||void 0===_b?void 0:_b.find("a"))||void 0===_c?void 0:_c[0])||void 0===_d?void 0:_d.attribs)||void 0===_e?void 0:_e.href)||void 0===_f?void 0:_f.match(/tt\d+/g))||void 0===_g?void 0:_g[0])||(null===(_h=infoContainer.text().match(/tt\d+/g))||void 0===_h?void 0:_h[0])||"",type=(null===(_k=null===(_j=null==heading?void 0:heading.next("p"))||void 0===_j?void 0:_j.text())||void 0===_k?void 0:_k.includes("Series Name"))?"series":"movie",titleRegex=/Name: (.+)/,title=(null===(_o=null===(_m=null===(_l=null==heading?void 0:heading.next("p"))||void 0===_l?void 0:_l.text())||void 0===_m?void 0:_m.match(titleRegex))||void 0===_o?void 0:_o[1])||"",synopsisNode=null===(_t=null===(_s=null===(_r=null===(_q=null===(_p=null==infoContainer?void 0:infoContainer.find("p"))||void 0===_p?void 0:_p.next("h3,h4"))||void 0===_q?void 0:_q.next("p"))||void 0===_r?void 0:_r[0])||void 0===_s?void 0:_s.children)||void 0===_t?void 0:_t[0],synopsis=synopsisNode&&"data"in synopsisNode?synopsisNode.data:"";let image=(null===(_u=null==infoContainer?void 0:infoContainer.find("img[data-lazy-src]"))||void 0===_u?void 0:_u.attr("data-lazy-src"))||"";image.startsWith("//")&&(image="https:"+image);const hr=null===(_v=null==infoContainer?void 0:infoContainer.first())||void 0===_v?void 0:_v.find("hr"),list=null==hr?void 0:hr.nextUntil("hr"),links=[];return list.each((index,element)=>{var _a,_b,_c,_d,_e,_f,_g,_h,_j;const title=(null==(element=$(element))?void 0:element.text())||"",quality=(null===(_a=null==element?void 0:element.text().match(/\d+p\b/))||void 0===_a?void 0:_a[0])||"",movieLinks=(null==element?void 0:element.next().find(".dwd-button").text().toLowerCase().includes("download"))?null===(_c=null===(_b=null==element?void 0:element.next().find(".dwd-button"))||void 0===_b?void 0:_b.parent())||void 0===_c?void 0:_c.attr("href"):"",vcloudLinks=null===(_e=null===(_d=null==element?void 0:element.next().find(".btn-outline[style='background:linear-gradient(135deg,#ed0b0b,#f2d152); color: white;'],.btn-outline[style='background:linear-gradient(135deg,#ed0b0b,#f2d152); color: #fdf8f2;'],.btn-outline[style='background:linear-gradient(135deg,#ed0b0b,#f2d152);color: white']"))||void 0===_d?void 0:_d.parent())||void 0===_e?void 0:_e.attr("href"),episodesLink=vcloudLinks||((null==element?void 0:element.next().find(".dwd-button").text().toLowerCase().includes("episode"))?null===(_g=null===(_f=null==element?void 0:element.next().find(".dwd-button"))||void 0===_f?void 0:_f.parent())||void 0===_g?void 0:_g.attr("href"):"")||(null===(_j=null===(_h=null==element?void 0:element.next().find(".btn-outline[style='background:linear-gradient(135deg,#0ebac3,#09d261); color: white;']"))||void 0===_h?void 0:_h.parent())||void 0===_j?void 0:_j.attr("href"));(movieLinks||episodesLink)&&links.push({title:title,directLinks:movieLinks?[{title:"Movie",link:movieLinks,type:"movie"}]:[],episodesLink:episodesLink,quality:quality})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(error){return{title:"",synopsis:"",image:"",imdbId:"",type:"",linkList:[]}}});exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/vega/posts.js b/dist/vega/posts.js index 7cfe332..78c6a4b 100644 --- a/dist/vega/posts.js +++ b/dist/vega/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"},getPosts=_a=>__awaiter(void 0,[_a],void 0,function*({filter:filter,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("Vega");return posts(baseUrl,`${baseUrl}/${filter}/page/${page}/`,signal,headers,axios,cheerio)});exports.getPosts=getPosts;const getSearchPosts=_a=>__awaiter(void 0,[_a],void 0,function*({searchQuery:searchQuery,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("Vega");return posts(baseUrl,`${baseUrl}/page/${page}/?s=${searchQuery}`,signal,headers,axios,cheerio)});function posts(baseUrl_1,url_1,signal_1){return __awaiter(this,arguments,void 0,function*(baseUrl,url,signal,headers={},axios,cheerio){var _a,_b;try{const urlRes=yield fetch(url,{headers:Object.assign(Object.assign({},headers),{Referer:baseUrl}),signal:signal}),$=cheerio.load(yield urlRes.text()),posts=[];return null===(_b=null===(_a=$(".blog-items,.post-list,#archive-container"))||void 0===_a?void 0:_a.children("article,.entry-list-item"))||void 0===_b||_b.each((index,element)=>{var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m;const post={title:((null===(_e=null===(_d=null===(_c=null===(_b=null===(_a=$(element))||void 0===_a?void 0:_a.find(".entry-title"))||void 0===_b?void 0:_b.text())||void 0===_c?void 0:_c.replace("Download",""))||void 0===_d?void 0:_d.match(/^(.*?)\s*\((\d{4})\)|^(.*?)\s*\((Season \d+)\)/))||void 0===_e?void 0:_e[0])||(null===(_h=null===(_g=null===(_f=$(element))||void 0===_f?void 0:_f.find("a"))||void 0===_g?void 0:_g.attr("title"))||void 0===_h?void 0:_h.replace("Download",""))||(null===(_k=null===(_j=$(element))||void 0===_j?void 0:_j.find(".post-title").text())||void 0===_k?void 0:_k.replace("Download",""))||"").trim(),link:(null===(_m=null===(_l=$(element))||void 0===_l?void 0:_l.find("a"))||void 0===_m?void 0:_m.attr("href"))||"",image:$(element).find("a").find("img").attr("data-lazy-src")||$(element).find("a").find("img").attr("data-src")||$(element).find("a").find("img").attr("src")||""};post.image.startsWith("//")&&(post.image="https:"+post.image),posts.push(post)}),posts}catch(error){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"},getPosts=_a=>__awaiter(void 0,[_a],void 0,function*({filter:filter,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("Vega");return posts(baseUrl,`${baseUrl}/${filter}/page/${page}/`,signal,headers,axios,cheerio)});exports.getPosts=getPosts;const getSearchPosts=_a=>__awaiter(void 0,[_a],void 0,function*({searchQuery:searchQuery,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("Vega");return posts(baseUrl,`${baseUrl}/page/${page}/?s=${searchQuery}`,signal,headers,axios,cheerio)});function posts(baseUrl_1,url_1,signal_1){return __awaiter(this,arguments,void 0,function*(baseUrl,url,signal,headers={},axios,cheerio){var _a,_b;try{const urlRes=yield fetch(url,{headers:Object.assign(Object.assign({},headers),{Referer:baseUrl}),signal:signal}),$=cheerio.load(yield urlRes.text()),posts=[];return null===(_b=null===(_a=$(".blog-items,.post-list,#archive-container"))||void 0===_a?void 0:_a.children("article,.entry-list-item"))||void 0===_b||_b.each((index,element)=>{var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m;const post={title:((null===(_e=null===(_d=null===(_c=null===(_b=null===(_a=$(element))||void 0===_a?void 0:_a.find(".entry-title"))||void 0===_b?void 0:_b.text())||void 0===_c?void 0:_c.replace("Download",""))||void 0===_d?void 0:_d.match(/^(.*?)\s*\((\d{4})\)|^(.*?)\s*\((Season \d+)\)/))||void 0===_e?void 0:_e[0])||(null===(_h=null===(_g=null===(_f=$(element))||void 0===_f?void 0:_f.find("a"))||void 0===_g?void 0:_g.attr("title"))||void 0===_h?void 0:_h.replace("Download",""))||(null===(_k=null===(_j=$(element))||void 0===_j?void 0:_j.find(".post-title").text())||void 0===_k?void 0:_k.replace("Download",""))||"").trim(),link:(null===(_m=null===(_l=$(element))||void 0===_l?void 0:_l.find("a"))||void 0===_m?void 0:_m.attr("href"))||"",image:$(element).find("a").find("img").attr("data-lazy-src")||$(element).find("a").find("img").attr("data-src")||$(element).find("a").find("img").attr("src")||""};post.image.startsWith("//")&&(post.image="https:"+post.image),posts.push(post)}),posts}catch(error){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/vega/stream.js b/dist/vega/stream.js index 96e350d..adc16f9 100644 --- a/dist/vega/stream.js +++ b/dist/vega/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=getStream;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=6yZYfXQxBgjaD1eacR5zZCz7njssbxjtSZZCElTOGk0-1764836255-1.2.1.1-bzHvDcDRLp6AAYo7qvGVzJ6Gk6zaqAepuGiGhAWCGYL.ZDpw5yI4TkUIXDgAnEhGCZ9J5X2_OagzgeMHZrd8rzeyAFQXj0dmYMErcfII7_Rhq5kZ4kAtS0tl9PtaNKKd2m4taIufySXCCstl3iNLMODTjbsW_KZi8U8DauOdGSAhBd1DCGxvLlAOM.snfkhb0yQiVJcLW8Bv9IeKQac0ar_TKkV6QexqNZYiyRXnE7E; xla=s4t","Upgrade-Insecure-Requests":"1","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0"};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,type:type,signal:signal,providerContext:providerContext}){var _b,_c,_d,_e;const{axios:axios,cheerio:cheerio,extractors:extractors}=providerContext,{hubcloudExtracter:hubcloudExtracter}=extractors;try{const streamLinks=[];if("movie"===type){const dotlinkText=(yield axios(`${link}`,{headers:headers})).data;link=(dotlinkText.match(/=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||link:newLinkRes.url&&newLinkRes.url!==link?newLinkRes.url:newLinkRes.headers.get("location")||link,newLink.includes("googleusercontent"))newLink=newLink.split("?link=")[1];else{const newLinkRes2=yield fetch(newLink,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});newLink=newLinkRes2.status>=300&&newLinkRes2.status<400?(null===(_c=newLinkRes2.headers.get("location"))||void 0===_c?void 0:_c.split("?link=")[1])||newLink:newLinkRes2.url&&newLinkRes2.url!==newLink?newLinkRes2.url.split("?link=")[1]||newLinkRes2.url:(null===(_d=newLinkRes2.headers.get("location"))||void 0===_d?void 0:_d.split("?link=")[1])||newLink}streamLinks.push({server:"hubcloud",link:newLink,type:"mkv"})}catch(error){}break;case null==link?void 0:link.includes("cloudflarestorage"):streamLinks.push({server:"CfStorage",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("fastdl"))||(null==link?void 0:link.includes("fsl.")):streamLinks.push({server:"FastDl",link:link,type:"mkv"});break;case link.includes("hubcdn")&&!link.includes("/?id="):streamLinks.push({server:"HubCdn",link:link,type:"mkv"});break;default:if((null==link?void 0:link.includes(".mkv"))||(null==link?void 0:link.includes("?token="))){const serverName=(null===(_f=null===(_e=link.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/i))||void 0===_e?void 0:_e[1])||void 0===_f?void 0:_f.replace(/\./g," "))||"Unknown";streamLinks.push({server:serverName,link:link,type:"mkv"})}}}return streamLinks}catch(error){return[]}})}const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=6yZYfXQxBgjaD1eacR5zZCz7njssbxjtSZZCElTOGk0-1764836255-1.2.1.1-bzHvDcDRLp6AAYo7qvGVzJ6Gk6zaqAepuGiGhAWCGYL.ZDpw5yI4TkUIXDgAnEhGCZ9J5X2_OagzgeMHZrd8rzeyAFQXj0dmYMErcfII7_Rhq5kZ4kAtS0tl9PtaNKKd2m4taIufySXCCstl3iNLMODTjbsW_KZi8U8DauOdGSAhBd1DCGxvLlAOM.snfkhb0yQiVJcLW8Bv9IeKQac0ar_TKkV6QexqNZYiyRXnE7E; xla=s4t","Upgrade-Insecure-Requests":"1","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0"};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,type:type,signal:signal,providerContext:providerContext}){var _b,_c,_d,_e;const{axios:axios,cheerio:cheerio,commonHeaders:commonHeaders}=providerContext;try{const streamLinks=[];if("movie"===type){const dotlinkText=(yield axios(`${link}`,{headers:headers})).data;link=(dotlinkText.match(/{const title=$(element).text(),link=$(element).parent().parent().next("h4").find("a").attr("href");link&&!title.includes("zip")&&episodeLinks.push({title:title,link:link})}),episodeLinks}catch(err){return[{title:"Server 1",link:url}]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext;try{const html=(yield axios.get(url)).data;let $=cheerio.load(html);const episodeLinks=[];return $('strong:contains("Episode"),strong:contains("1080"),strong:contains("720"),strong:contains("480")').map((i,element)=>{const title=$(element).text(),link=$(element).parent().parent().next("h4").find("a").attr("href");link&&!title.includes("zip")&&episodeLinks.push({title:title,link:link})}),episodeLinks}catch(err){return[{title:"Server 1",link:url}]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/world4u/meta.js b/dist/world4u/meta.js index ca00630..e8e4279 100644 --- a/dist/world4u/meta.js +++ b/dist/world4u/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),type=$(".entry-content").text().toLocaleLowerCase().includes("movie name")?"movie":"series",imdbId=(null===(_b=$(".imdb_left").find("a").attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",title=$(".entry-content").find('strong:contains("Name")').children().remove().end().text().replace(":",""),synopsis=$(".entry-content").find('p:contains("Synopsis"),p:contains("Plot"),p:contains("Story")').children().remove().end().text(),image=$(".wp-caption").find("img").attr("data-src")||$(".entry-content").find("img").attr("data-src")||"",links=[];return $(".my-button").map((i,element)=>{var _a;const title=$(element).parent().parent().prev().text(),episodesLink=$(element).attr("href"),quality=(null===(_a=title.match(/\b(480p|720p|1080p|2160p)\b/i))||void 0===_a?void 0:_a[0])||"";episodesLink&&title&&links.push({title:title,episodesLink:"series"===type?episodesLink:"",directLinks:"movie"===type?[{link:episodesLink,title:title,type:"movie"}]:[],quality:quality})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),type=$(".entry-content").text().toLocaleLowerCase().includes("movie name")?"movie":"series",imdbId=(null===(_b=$(".imdb_left").find("a").attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",title=$(".entry-content").find('strong:contains("Name")').children().remove().end().text().replace(":",""),synopsis=$(".entry-content").find('p:contains("Synopsis"),p:contains("Plot"),p:contains("Story")').children().remove().end().text(),image=$(".wp-caption").find("img").attr("data-src")||$(".entry-content").find("img").attr("data-src")||"",links=[];return $(".my-button").map((i,element)=>{var _a;const title=$(element).parent().parent().prev().text(),episodesLink=$(element).attr("href"),quality=(null===(_a=title.match(/\b(480p|720p|1080p|2160p)\b/i))||void 0===_a?void 0:_a[0])||"";episodesLink&&title&&links.push({title:title,episodesLink:"series"===type?episodesLink:"",directLinks:"movie"===type?[{link:episodesLink,title:title,type:"movie"}]:[],quality:quality})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/world4u/posts.js b/dist/world4u/posts.js index fb87a5d..4090d6d 100644 --- a/dist/world4u/posts.js +++ b/dist/world4u/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext;return posts({url:`${(yield getBaseUrl("w4u"))+filter}/page/${page}/`,signal:signal,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext;return posts({url:`${yield getBaseUrl("w4u")}/page/${page}/?s=${searchQuery}`,signal:signal,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data),catalog=[];return $(".recent-posts").children().map((i,element)=>{const title=$(element).find(".post-thumb").find("a").attr("title"),link=$(element).find(".post-thumb").find("a").attr("href"),image=$(element).find(".post-thumb").find("img").attr("data-src")||$(element).find(".post-thumb").find("img").attr("src");title&&link&&image&&catalog.push({title:title.replace("Download","").trim(),link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext;return posts({url:`${(yield getBaseUrl("w4u"))+filter}/page/${page}/`,signal:signal,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext;return posts({url:`${yield getBaseUrl("w4u")}/page/${page}/?s=${searchQuery}`,signal:signal,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data),catalog=[];return $(".recent-posts").children().map((i,element)=>{const title=$(element).find(".post-thumb").find("a").attr("title"),link=$(element).find(".post-thumb").find("a").attr("href"),image=$(element).find(".post-thumb").find("img").attr("data-src")||$(element).find(".post-thumb").find("img").attr("src");title&&link&&image&&catalog.push({title:title.replace("Download","").trim(),link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/world4u/stream.js b/dist/world4u/stream.js index ce9af74..a2143d8 100644 --- a/dist/world4u/stream.js +++ b/dist/world4u/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url,type:type,providerContext:providerContext}){var _b;const{axios:axios,cheerio:cheerio}=providerContext,headers={"sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0",Cookie:"61cn=1; 61wk=1; __cf_bm=wtv9Eoa2wrUDgevtAnJ6wUOZrxtVYBcddhUDtT0Wj_M-1757137848-1.0.1.1-8Tr7rV19zNgUcRYe_5567LKb2IZrKyxwrc1VWgTmMDd06Givhil3U2kMtUYTYkTnuD3sHUgfh8CO9Y5LrEcZACBbrPE.3Sq5F_JLXaK7Hrw; conv_tracking_data-2=%7B%22mf_source%22%3A%22regular_download-59%22%2C%22mf_content%22%3A%22Free%22%2C%22mf_medium%22%3A%22unknown%5C%2FDefault%20Browser%22%2C%22mf_campaign%22%3A%22616qpccbrq0y4oe%22%2C%22mf_term%22%3A%22d11b8f533377139aa38d757e5057630e%22%7D; ukey=pu2dyp35fyongstav3km969l8d6u2z82"};try{if("movie"===type){const linkData=(yield axios.get(url,{headers:headers})).data;url=cheerio.load(linkData)('strong:contains("INSTANT")').parent().attr("href")||url}if(url.includes("fastilinks")){const fastilinksData=(yield axios.get(url,{headers:headers})).data,fastilinksKey=cheerio.load(fastilinksData)('input[name="_csrf_token_645a83a41868941e4692aa31e7235f2"]').attr("value"),fastilinksFormData=new FormData;fastilinksFormData.append("_csrf_token_645a83a41868941e4692aa31e7235f2",fastilinksKey||"");const fastilinksRes2=yield fetch(url,{method:"POST",headers:headers,body:fastilinksFormData}),fastilinksHtml=yield fastilinksRes2.text(),$$$=cheerio.load(fastilinksHtml);url=$$$('a:contains("mediafire")').attr("href")||$$$('a:contains("photolinx")').attr("href")||url}if(url.includes("photolinx")){const photolinxBaseUrl=url.split("/").slice(0,3).join("/"),photolinxRes=yield fetch("https://photolinx.space/download/SzbPKzt6YMO",{headers:{accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","accept-language":"en-US,en;q=0.9,en-IN;q=0.8","cache-control":"no-cache",pragma:"no-cache",priority:"u=0, i","sec-ch-ua":'"Not;A=Brand";v="99", "Microsoft Edge";v="139", "Chromium";v="139"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"document","sec-fetch-mode":"navigate","sec-fetch-site":"none","sec-fetch-user":"?1","upgrade-insecure-requests":"1",cookie:"PHPSESSID=f2211def7938d7228daaa37ffeabcfe0; ext_name=ojplmecpdpgccookcobabopnaifgidhf"},body:null,method:"GET"}),photolinxData=yield photolinxRes.text(),$$$=cheerio.load(photolinxData),access_token=$$$("#generate_url").attr("data-token"),body={type:"DOWNLOAD_GENERATE",payload:{access_token:access_token,uid:$$$("#generate_url").attr("data-uid")}},photolinxRes2=yield fetch(`${photolinxBaseUrl}/action`,{headers:{accept:"application/json, text/plain, */*","accept-language":"en-US,en;q=0.9,en-IN;q=0.8","cache-control":"no-cache","content-type":"application/json; charset=UTF-8",pragma:"no-cache",priority:"u=1, i","sec-ch-ua":'"Not;A=Brand";v="99", "Microsoft Edge";v="139", "Chromium";v="139"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"empty","sec-fetch-mode":"cors","sec-fetch-site":"same-origin","x-requested-with":"xmlhttprequest",cookie:"PHPSESSID=f2211def7938d7228daaa37ffeabcfe0; ext_name=ojplmecpdpgccookcobabopnaifgidhf",Referer:url},body:JSON.stringify(body),method:"POST"}),photolinxData2=yield photolinxRes2.json(),dwUrl=null==photolinxData2?void 0:photolinxData2.download_url;if(dwUrl){return[{server:"Photolinx",link:dwUrl,type:"mkv"}]}}const res=yield fetch(url,{headers:headers}),html=yield res.text(),streamLinks=[];let data={download:""};try{const key=(null===(_b=html.match(/formData\.append\('key',\s*'(\d+)'\);/))||void 0===_b?void 0:_b[1])||"",formData=new FormData;formData.append("key",key);const streamRes=yield fetch(url,{method:"POST",headers:headers,body:formData});data=yield streamRes.json()}catch(err){}let $=cheerio.load(html);const mediafireUrl=$('h1:contains("Download")').find("a").attr("href")||$(".input.popsok").attr("href")||url;if(mediafireUrl){const urlContentType=(yield fetch(mediafireUrl,{headers:{Referer:url}})).headers.get("content-type");if(urlContentType&&urlContentType.includes("video"))return streamLinks.push({server:"Mediafire",link:mediafireUrl,type:"mkv"}),streamLinks;{const repairRes=yield fetch(mediafireUrl,{headers:{Referer:url}}),repairHtml=yield repairRes.text(),base64Link=cheerio.load(repairHtml)(".input.popsok").attr("data-scrambled-url"),href=base64Link?atob(base64Link):null;let downloadLInk=(null==href?void 0:href.startsWith("https://"))?href:null;return downloadLInk&&streamLinks.push({server:"Mediafire",link:downloadLInk,type:"mkv"}),streamLinks}}const contentType=(yield fetch(data.download)).headers.get("content-type");if(contentType&&contentType.includes("video"))return streamLinks.push({server:"Mediafire",link:data.download,type:"mkv"}),streamLinks;{const repairRes=yield fetch(data.download,{headers:{Referer:url}}),repairHtml=yield repairRes.text(),repairLink=cheerio.load(repairHtml)("#continue-btn").attr("href"),repairRequireRepairRes=yield fetch("https://www.mediafire.com"+repairLink),repairDownloadLink=cheerio.load(yield repairRequireRepairRes.text())(".input.popsok").attr("href");repairDownloadLink&&streamLinks.push({server:"Mediafire",link:repairDownloadLink,type:"mkv"})}return streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url,type:type,providerContext:providerContext}){var _b;const{axios:axios,cheerio:cheerio}=providerContext,headers={"sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0",Cookie:"61cn=1; 61wk=1; __cf_bm=wtv9Eoa2wrUDgevtAnJ6wUOZrxtVYBcddhUDtT0Wj_M-1757137848-1.0.1.1-8Tr7rV19zNgUcRYe_5567LKb2IZrKyxwrc1VWgTmMDd06Givhil3U2kMtUYTYkTnuD3sHUgfh8CO9Y5LrEcZACBbrPE.3Sq5F_JLXaK7Hrw; conv_tracking_data-2=%7B%22mf_source%22%3A%22regular_download-59%22%2C%22mf_content%22%3A%22Free%22%2C%22mf_medium%22%3A%22unknown%5C%2FDefault%20Browser%22%2C%22mf_campaign%22%3A%22616qpccbrq0y4oe%22%2C%22mf_term%22%3A%22d11b8f533377139aa38d757e5057630e%22%7D; ukey=pu2dyp35fyongstav3km969l8d6u2z82"};try{if("movie"===type){const linkData=(yield axios.get(url,{headers:headers})).data;url=cheerio.load(linkData)('strong:contains("INSTANT")').parent().attr("href")||url}if(url.includes("fastilinks")){const fastilinksData=(yield axios.get(url,{headers:headers})).data,fastilinksKey=cheerio.load(fastilinksData)('input[name="_csrf_token_645a83a41868941e4692aa31e7235f2"]').attr("value"),fastilinksFormData=new FormData;fastilinksFormData.append("_csrf_token_645a83a41868941e4692aa31e7235f2",fastilinksKey||"");const fastilinksRes2=yield fetch(url,{method:"POST",headers:headers,body:fastilinksFormData}),fastilinksHtml=yield fastilinksRes2.text(),$$$=cheerio.load(fastilinksHtml);url=$$$('a:contains("mediafire")').attr("href")||$$$('a:contains("photolinx")').attr("href")||url}if(url.includes("photolinx")){const photolinxBaseUrl=url.split("/").slice(0,3).join("/"),photolinxRes=yield fetch("https://photolinx.space/download/SzbPKzt6YMO",{headers:{accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","accept-language":"en-US,en;q=0.9,en-IN;q=0.8","cache-control":"no-cache",pragma:"no-cache",priority:"u=0, i","sec-ch-ua":'"Not;A=Brand";v="99", "Microsoft Edge";v="139", "Chromium";v="139"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"document","sec-fetch-mode":"navigate","sec-fetch-site":"none","sec-fetch-user":"?1","upgrade-insecure-requests":"1",cookie:"PHPSESSID=f2211def7938d7228daaa37ffeabcfe0; ext_name=ojplmecpdpgccookcobabopnaifgidhf"},body:null,method:"GET"}),photolinxData=yield photolinxRes.text(),$$$=cheerio.load(photolinxData),access_token=$$$("#generate_url").attr("data-token"),body={type:"DOWNLOAD_GENERATE",payload:{access_token:access_token,uid:$$$("#generate_url").attr("data-uid")}},photolinxRes2=yield fetch(`${photolinxBaseUrl}/action`,{headers:{accept:"application/json, text/plain, */*","accept-language":"en-US,en;q=0.9,en-IN;q=0.8","cache-control":"no-cache","content-type":"application/json; charset=UTF-8",pragma:"no-cache",priority:"u=1, i","sec-ch-ua":'"Not;A=Brand";v="99", "Microsoft Edge";v="139", "Chromium";v="139"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"empty","sec-fetch-mode":"cors","sec-fetch-site":"same-origin","x-requested-with":"xmlhttprequest",cookie:"PHPSESSID=f2211def7938d7228daaa37ffeabcfe0; ext_name=ojplmecpdpgccookcobabopnaifgidhf",Referer:url},body:JSON.stringify(body),method:"POST"}),photolinxData2=yield photolinxRes2.json(),dwUrl=null==photolinxData2?void 0:photolinxData2.download_url;if(dwUrl){return[{server:"Photolinx",link:dwUrl,type:"mkv"}]}}const res=yield fetch(url,{headers:headers}),html=yield res.text(),streamLinks=[];let data={download:""};try{const key=(null===(_b=html.match(/formData\.append\('key',\s*'(\d+)'\);/))||void 0===_b?void 0:_b[1])||"",formData=new FormData;formData.append("key",key);const streamRes=yield fetch(url,{method:"POST",headers:headers,body:formData});data=yield streamRes.json()}catch(err){}let $=cheerio.load(html);const mediafireUrl=$('h1:contains("Download")').find("a").attr("href")||$(".input.popsok").attr("href")||url;if(mediafireUrl){const urlContentType=(yield fetch(mediafireUrl,{headers:{Referer:url}})).headers.get("content-type");if(urlContentType&&urlContentType.includes("video"))return streamLinks.push({server:"Mediafire",link:mediafireUrl,type:"mkv"}),streamLinks;{const repairRes=yield fetch(mediafireUrl,{headers:{Referer:url}}),repairHtml=yield repairRes.text(),base64Link=cheerio.load(repairHtml)(".input.popsok").attr("data-scrambled-url"),href=base64Link?atob(base64Link):null;let downloadLInk=(null==href?void 0:href.startsWith("https://"))?href:null;return downloadLInk&&streamLinks.push({server:"Mediafire",link:downloadLInk,type:"mkv"}),streamLinks}}const contentType=(yield fetch(data.download)).headers.get("content-type");if(contentType&&contentType.includes("video"))return streamLinks.push({server:"Mediafire",link:data.download,type:"mkv"}),streamLinks;{const repairRes=yield fetch(data.download,{headers:{Referer:url}}),repairHtml=yield repairRes.text(),repairLink=cheerio.load(repairHtml)("#continue-btn").attr("href"),repairRequireRepairRes=yield fetch("https://www.mediafire.com"+repairLink),repairDownloadLink=cheerio.load(yield repairRequireRepairRes.text())(".input.popsok").attr("href");repairDownloadLink&&streamLinks.push({server:"Mediafire",link:repairDownloadLink,type:"mkv"})}return streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/zeefliz/catalog.js b/dist/zeefliz/catalog.js index 1e5e179..76539b6 100644 --- a/dist/zeefliz/catalog.js +++ b/dist/zeefliz/catalog.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.catalog=void 0,exports.catalog=[{title:"Trending",filter:""},{title:"Shows",filter:"category/web-series/"}]; \ No newline at end of file +exports.catalog=void 0,exports.catalog=[{title:"Trending",filter:""},{title:"Shows",filter:"category/web-series/"}]; \ No newline at end of file diff --git a/dist/zeefliz/episodes.js b/dist/zeefliz/episodes.js index 2b2474f..85571d6 100644 --- a/dist/zeefliz/episodes.js +++ b/dist/zeefliz/episodes.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;try{const res=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{cookie:"ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=Zl2yiOCN3pzGUd0Bgs.VyBXniJooDbG2Tk1g7DEoRnw-1756381111-1.2.1.1-RVPZoWGCAygGNAHavrVR0YaqASWZlJyYff8A.oQfPB5qbcPrAVud42BzsSwcDgiKAP0gw5D92V3o8XWwLwDRNhyg3DuL1P8wh2K4BCVKxWvcy.iCCxczKtJ8QSUAsAQqsIzRWXk29N6X.kjxuOTYlfB2jrlq12TRDld_zTbsskNcTxaA.XQekUcpGLseYqELuvlNOQU568NZD6LiLn3ICyFThMFAx6mIcgXkxVAvnxU; xla=s4t"})}),$=cheerio.load(res.data),container=$(".entry-content,.entry-inner");$(".unili-content,.code-block-1").remove();const episodes=[];return container.find("h4").each((index,element)=>{const el=$(element),title=el.text().replace(/-/g,"").replace(/:/g,""),link=el.next("p").find('.btn-outline[style="background:linear-gradient(135deg,#ed0b0b,#f2d152); color: white;"]').parent().attr("href");title&&link&&episodes.push({title:title,link:link})}),episodes}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;try{const res=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{cookie:"ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=Zl2yiOCN3pzGUd0Bgs.VyBXniJooDbG2Tk1g7DEoRnw-1756381111-1.2.1.1-RVPZoWGCAygGNAHavrVR0YaqASWZlJyYff8A.oQfPB5qbcPrAVud42BzsSwcDgiKAP0gw5D92V3o8XWwLwDRNhyg3DuL1P8wh2K4BCVKxWvcy.iCCxczKtJ8QSUAsAQqsIzRWXk29N6X.kjxuOTYlfB2jrlq12TRDld_zTbsskNcTxaA.XQekUcpGLseYqELuvlNOQU568NZD6LiLn3ICyFThMFAx6mIcgXkxVAvnxU; xla=s4t"})}),$=cheerio.load(res.data),container=$(".entry-content,.entry-inner");$(".unili-content,.code-block-1").remove();const episodes=[];return container.find("h4").each((index,element)=>{const el=$(element),title=el.text().replace(/-/g,"").replace(/:/g,""),link=el.next("p").find('.btn-outline[style="background:linear-gradient(135deg,#ed0b0b,#f2d152); color: white;"]').parent().attr("href");title&&link&&episodes.push({title:title,link:link})}),episodes}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/zeefliz/meta.js b/dist/zeefliz/meta.js index 3b3ee5c..66d6bf9 100644 --- a/dist/zeefliz/meta.js +++ b/dist/zeefliz/meta.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext,url=link,baseUrl=url.split("/").slice(0,3).join("/"),emptyResult={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]};try{const response=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{Referer:baseUrl})}),$=cheerio.load(response.data),content=$(".entry-content, .post-inner").length?$(".entry-content, .post-inner"):$("body"),result={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]};let rawTitle=content.find("h1, h2").first().text().trim();rawTitle=rawTitle.replace(/^Download\s*/i,""),result.title=rawTitle;const pageText=content.text();/Season\s*\d+/i.test(pageText)||/Episode\s*\d+/i.test(pageText)?result.type="series":result.type="movie";const imdbHref=content.find("a[href*='imdb.com/title/']").attr("href"),imdbMatch=null==imdbHref?void 0:imdbHref.match(/tt\d+/);result.imdbId=imdbMatch?imdbMatch[0]:"";let image=content.find("img").first().attr("data-src")||content.find("img").first().attr("src")||"";image.startsWith("//")?image="https:"+image:image.startsWith("/")&&(image=baseUrl+image),(image.includes("no-thumbnail")||image.includes("placeholder"))&&(image=""),result.image=image,result.synopsis=content.find("p").first().text().trim()||"";const links=[];return"series"===result.type?content.find("h3").each((_,h3)=>{var _a;const h3Text=$(h3).text().trim(),qualityMatch=(null===(_a=h3Text.match(/\d+p/))||void 0===_a?void 0:_a[0])||"",href=$(h3).next("p").find("a").filter((_,a)=>/v-cloud/i.test($(a).text())).first().attr("href");href&&links.push({title:h3Text,quality:qualityMatch,episodesLink:href,directLinks:[]})}):content.find("h5").each((_,h5)=>{var _a;const h5Text=$(h5).text().trim(),qualityMatch=(null===(_a=h5Text.match(/\d+p/))||void 0===_a?void 0:_a[0])||"",href=$(h5).next("p").find("a").attr("href");href&&links.push({title:h5Text,quality:qualityMatch,episodesLink:"",directLinks:[{title:"Movie",link:href,type:"movie"}]})}),result.linkList=links,result}catch(err){return emptyResult}})};exports.getMeta=getMeta; \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext,url=link,baseUrl=url.split("/").slice(0,3).join("/"),emptyResult={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]};try{const response=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{Referer:baseUrl})}),$=cheerio.load(response.data),content=$(".entry-content, .post-inner").length?$(".entry-content, .post-inner"):$("body"),result={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]};let rawTitle=content.find("h1, h2").first().text().trim();rawTitle=rawTitle.replace(/^Download\s*/i,""),result.title=rawTitle;const pageText=content.text();/Season\s*\d+/i.test(pageText)||/Episode\s*\d+/i.test(pageText)?result.type="series":result.type="movie";const imdbHref=content.find("a[href*='imdb.com/title/']").attr("href"),imdbMatch=null==imdbHref?void 0:imdbHref.match(/tt\d+/);result.imdbId=imdbMatch?imdbMatch[0]:"";let image=content.find("img").first().attr("data-src")||content.find("img").first().attr("src")||"";image.startsWith("//")?image="https:"+image:image.startsWith("/")&&(image=baseUrl+image),(image.includes("no-thumbnail")||image.includes("placeholder"))&&(image=""),result.image=image,result.synopsis=content.find("p").first().text().trim()||"";const links=[];return"series"===result.type?content.find("h3").each((_,h3)=>{var _a;const h3Text=$(h3).text().trim(),qualityMatch=(null===(_a=h3Text.match(/\d+p/))||void 0===_a?void 0:_a[0])||"",href=$(h3).next("p").find("a").filter((_,a)=>/v-cloud/i.test($(a).text())).first().attr("href");href&&links.push({title:h3Text,quality:qualityMatch,episodesLink:href,directLinks:[]})}):content.find("h5").each((_,h5)=>{var _a;const h5Text=$(h5).text().trim(),qualityMatch=(null===(_a=h5Text.match(/\d+p/))||void 0===_a?void 0:_a[0])||"",href=$(h5).next("p").find("a").attr("href");href&&links.push({title:h5Text,quality:qualityMatch,episodesLink:"",directLinks:[{title:"Movie",link:href,type:"movie"}]})}),result.linkList=links,result}catch(err){return emptyResult}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/zeefliz/posts.js b/dist/zeefliz/posts.js index 7492ef9..44d0611 100644 --- a/dist/zeefliz/posts.js +++ b/dist/zeefliz/posts.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getPosts=getPosts,exports.getSearchPosts=getSearchPosts;const defaultHeaders={Referer:"https://www.google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language":"en-US,en;q=0.9",Pragma:"no-cache","Cache-Control":"no-cache"};function getPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:filter,page:page,query:"",signal:signal,providerContext:providerContext})})}function getSearchPosts(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:"",page:page,query:searchQuery,signal:signal,providerContext:providerContext})})}function fetchPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,query:query,page:page=1,signal:signal,providerContext:providerContext}){try{const baseUrl=yield providerContext.getBaseUrl("zeefliz");let url;if(query&&query.trim()){const params=new URLSearchParams;params.append("s",query.trim()),page>1&¶ms.append("paged",page.toString()),url=`${baseUrl}/?${params.toString()}`}else url=filter?filter.startsWith("/")?`${baseUrl}${filter.replace(/\/$/,"")}${page>1?`/page/${page}`:""}`:`${baseUrl}/${filter}${page>1?`/page/${page}`:""}`:`${baseUrl}${page>1?`/page/${page}`:""}`;const{axios:axios,cheerio:cheerio}=providerContext,res=yield axios.get(url,{headers:defaultHeaders,signal:signal}),$=cheerio.load(res.data||""),resolveUrl=href=>(null==href?void 0:href.startsWith("http"))?href:new URL(href,baseUrl).href,seen=new Set,catalog=[];return $("section.site-main article.post").each((_,el)=>{var _a;const card=$(el);let link=card.find("a[href]").first().attr("href")||"";if(!link)return;if(link=resolveUrl(link),seen.has(link))return;let title=card.find("h3.entry-title a").text().trim()||card.find("a[rel='bookmark']").text().trim()||(null===(_a=card.find("a[title]").attr("title"))||void 0===_a?void 0:_a.trim())||"";if(title=title.replace(/^Download\s*/i,"").trim(),!title)return;let img=card.find("img").attr("bv-data-src")||card.find("img").attr("src")||card.find("img").attr("data-src")||card.find("img").attr("data-original")||"";const image=img?resolveUrl(img):"";seen.add(link),catalog.push({title:title,link:link,image:image})}),catalog.slice(0,100)}catch(err){return[]}})} \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getPosts=getPosts,exports.getSearchPosts=getSearchPosts;const defaultHeaders={Referer:"https://www.google.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language":"en-US,en;q=0.9",Pragma:"no-cache","Cache-Control":"no-cache"};function getPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:filter,page:page,query:"",signal:signal,providerContext:providerContext})})}function getSearchPosts(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page=1,signal:signal,providerContext:providerContext}){return fetchPosts({filter:"",page:page,query:searchQuery,signal:signal,providerContext:providerContext})})}function fetchPosts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,query:query,page:page=1,signal:signal,providerContext:providerContext}){try{const baseUrl=yield providerContext.getBaseUrl("zeefliz");let url;if(query&&query.trim()){const params=new URLSearchParams;params.append("s",query.trim()),page>1&¶ms.append("paged",page.toString()),url=`${baseUrl}/?${params.toString()}`}else url=filter?filter.startsWith("/")?`${baseUrl}${filter.replace(/\/$/,"")}${page>1?`/page/${page}`:""}`:`${baseUrl}/${filter}${page>1?`/page/${page}`:""}`:`${baseUrl}${page>1?`/page/${page}`:""}`;const{axios:axios,cheerio:cheerio}=providerContext,res=yield axios.get(url,{headers:defaultHeaders,signal:signal}),$=cheerio.load(res.data||""),resolveUrl=href=>(null==href?void 0:href.startsWith("http"))?href:new URL(href,baseUrl).href,seen=new Set,catalog=[];return $("section.site-main article.post").each((_,el)=>{var _a;const card=$(el);let link=card.find("a[href]").first().attr("href")||"";if(!link)return;if(link=resolveUrl(link),seen.has(link))return;let title=card.find("h3.entry-title a").text().trim()||card.find("a[rel='bookmark']").text().trim()||(null===(_a=card.find("a[title]").attr("title"))||void 0===_a?void 0:_a.trim())||"";if(title=title.replace(/^Download\s*/i,"").trim(),!title)return;let img=card.find("img").attr("bv-data-src")||card.find("img").attr("src")||card.find("img").attr("data-src")||card.find("img").attr("data-original")||"";const image=img?resolveUrl(img):"";seen.add(link),catalog.push({title:title,link:link,image:image})}),catalog.slice(0,100)}catch(err){return[]}})} \ No newline at end of file diff --git a/dist/zeefliz/stream.js b/dist/zeefliz/stream.js index 1680f0f..be7e7bd 100644 --- a/dist/zeefliz/stream.js +++ b/dist/zeefliz/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=getStream;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=nJQQ9ncb6m2Nc7HoxzuphPhnQgLzI6nBmzl2D.9oY4E-1759137994-1.2.1.1-pe7DiQHVsfZjnbHWTnaNbMiTYEuk.VvpPGaMeTtHOh7p9TKG5auBIDGDDW93devKuNcOlkhe6mk4v5OcsM0H_q3Te02eCPoTNgZsW8terjwvnQUebbbe8QKjMaVsVKgnbiAxS2ESM9aB3fbiQ9diuNT6ziY.2U4mPaJ0Y4vCu3404o5qBEw5c2psIuabKUTZviA2NJvN.lx5jAFQnB.HXeXJnUuCcbQac7G1BYBfdso","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,type:type,signal:signal,providerContext:providerContext}){var _b,_c,_d,_e;const{axios:axios,cheerio:cheerio,extractors:extractors}=providerContext,{hubcloudExtracter:hubcloudExtracter}=extractors;try{const streamLinks=[];if("movie"===type){const dotlinkText=(yield axios(`${link}`,{headers:headers})).data;link=(dotlinkText.match(/=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||link:newLinkRes.url&&newLinkRes.url!==link?newLinkRes.url:newLinkRes.headers.get("location")||link,newLink.includes("googleusercontent"))newLink=newLink.split("?link=")[1];else{const newLinkRes2=yield fetch(newLink,{method:"HEAD",headers:headers,signal:signal,redirect:"manual"});newLink=newLinkRes2.status>=300&&newLinkRes2.status<400?(null===(_c=newLinkRes2.headers.get("location"))||void 0===_c?void 0:_c.split("?link=")[1])||newLink:newLinkRes2.url&&newLinkRes2.url!==newLink?newLinkRes2.url.split("?link=")[1]||newLinkRes2.url:(null===(_d=newLinkRes2.headers.get("location"))||void 0===_d?void 0:_d.split("?link=")[1])||newLink}streamLinks.push({server:"hubcloud",link:newLink,type:"mkv"})}catch(error){}break;case null==link?void 0:link.includes("cloudflarestorage"):streamLinks.push({server:"CfStorage",link:link,type:"mkv"});break;case(null==link?void 0:link.includes("fastdl"))||(null==link?void 0:link.includes("fsl.")):streamLinks.push({server:"FastDl",link:link,type:"mkv"});break;case link.includes("hubcdn")&&!link.includes("/?id="):streamLinks.push({server:"HubCdn",link:link,type:"mkv"});break;default:if((null==link?void 0:link.includes(".mkv"))||(null==link?void 0:link.includes("?token="))){const serverName=(null===(_f=null===(_e=link.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/i))||void 0===_e?void 0:_e[1])||void 0===_f?void 0:_f.replace(/\./g," "))||"Unknown";streamLinks.push({server:serverName,link:link,type:"mkv"})}}}return streamLinks}catch(error){return[]}})}const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=nJQQ9ncb6m2Nc7HoxzuphPhnQgLzI6nBmzl2D.9oY4E-1759137994-1.2.1.1-pe7DiQHVsfZjnbHWTnaNbMiTYEuk.VvpPGaMeTtHOh7p9TKG5auBIDGDDW93devKuNcOlkhe6mk4v5OcsM0H_q3Te02eCPoTNgZsW8terjwvnQUebbbe8QKjMaVsVKgnbiAxS2ESM9aB3fbiQ9diuNT6ziY.2U4mPaJ0Y4vCu3404o5qBEw5c2psIuabKUTZviA2NJvN.lx5jAFQnB.HXeXJnUuCcbQac7G1BYBfdso","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,type:type,signal:signal,providerContext:providerContext}){var _b,_c,_d,_e;const{axios:axios,cheerio:cheerio,commonHeaders:commonHeaders}=providerContext;try{const streamLinks=[];if("movie"===type){const dotlinkText=(yield axios(`${link}`,{headers:headers})).data;link=(dotlinkText.match(//i, )?.[1] || hubdriveLink; try { - return await hubcloudExtracter(hubcloudLink, signal); + return await hubcloudExtractor( + hubcloudLink, + signal, + axios, + cheerio, + headers, + ); } catch (error: any) { console.log("hd hub 4 getStream error: ", error); return []; diff --git a/providers/Joya9tv/stream.ts b/providers/Joya9tv/stream.ts index 146e91d..efbc05b 100644 --- a/providers/Joya9tv/stream.ts +++ b/providers/Joya9tv/stream.ts @@ -1,4 +1,5 @@ import { ProviderContext, Stream } from "../types"; +import { hubcloudExtractor } from "../extractors/hubcloud"; const headers = { accept: @@ -29,8 +30,7 @@ export async function getStream({ signal: AbortSignal; providerContext: ProviderContext; }) { - const { axios, cheerio, extractors } = providerContext; - const { hubcloudExtracter } = extractors; + const { axios, cheerio, commonHeaders } = providerContext; try { const streamLinks: Stream[] = []; console.log("dotlink", link); @@ -47,7 +47,7 @@ export async function getStream({ try { const $ = cheerio.load(dotlinkText); const filepressLink = $( - '.btn.btn-sm.btn-outline[style="background:linear-gradient(135deg,rgb(252,185,0) 0%,rgb(0,0,0)); color: #fdf8f2;"]' + '.btn.btn-sm.btn-outline[style="background:linear-gradient(135deg,rgb(252,185,0) 0%,rgb(0,0,0)); color: #fdf8f2;"]', ) .parent() .attr("href"); @@ -71,7 +71,7 @@ export async function getStream({ "Content-Type": "application/json", Referer: filepressBaseUrl, }, - } + }, ); // console.log('filepressTokenRes', filepressTokenRes.data); if (filepressTokenRes.data?.status) { @@ -88,7 +88,7 @@ export async function getStream({ "Content-Type": "application/json", Referer: filepressBaseUrl, }, - } + }, ); // console.log('filepressStreamLink', filepressStreamLink.data); streamLinks.push({ @@ -103,7 +103,7 @@ export async function getStream({ } } - return await hubcloudExtracter(link, signal); + return await hubcloudExtractor(link, signal, axios, cheerio, commonHeaders); } catch (error: any) { console.log("getStream error: ", error); if (error.message.includes("Aborted")) { diff --git a/providers/cinemaLuxe/stream.ts b/providers/cinemaLuxe/stream.ts index 9ba826c..4c63544 100644 --- a/providers/cinemaLuxe/stream.ts +++ b/providers/cinemaLuxe/stream.ts @@ -1,4 +1,6 @@ import { Stream, ProviderContext } from "../types"; +import { hubcloudExtractor } from "../extractors/hubcloud"; +import { gdflixExtractor } from "../extractors/gdflix"; export const getStream = async ({ link, @@ -10,6 +12,7 @@ export const getStream = async ({ signal: AbortSignal; providerContext: ProviderContext; }): Promise => { + const { axios, cheerio, commonHeaders: headers } = providerContext; try { let newLink = link; console.log("getStream 1", link); @@ -39,7 +42,7 @@ export const getStream = async ({ }); const html = await res.text(); const refreshMetaMatch = html.match( - / { const title = $(element).parent().prev().text(); const link = $(element).attr("href"); @@ -25,8 +27,58 @@ export const getEpisodes = async function ({ } }); + // If old format didn't work, try new format + if (episodeLinks.length === 0) { + // Find all anchor tags with href containing streaming services + const streamingServices = ["hubcloud", "gdflix"]; + let currentTitle = ""; + + $('h5 span[style*="color"], h5').each((i, element) => { + const text = $(element).text().trim(); + // Look for titles that contain quality indicators or episode info + if ( + text && + (text.match(/\d{3,4}p/) || + text.includes("Ep") || + text.includes("Episode")) + ) { + currentTitle = text; + + // Find the next links after this title + let nextElement = $(element).parent(); + for (let j = 0; j < 10; j++) { + nextElement = nextElement.next(); + if (!nextElement.length) break; + + const links = nextElement.find("a[href]"); + links.each((k, linkEl) => { + const href = $(linkEl).attr("href"); + if ( + href && + streamingServices.some((service) => href.includes(service)) + ) { + // Determine server name from URL + let serverName = "Play"; + if (href.includes("hubcloud")) serverName = "HubCloud"; + else if (href.includes("gdflix")) serverName = "GDFlix"; + else if (href.includes("pixeldrain")) serverName = "Pixeldrain"; + else if (href.includes("fastdl")) serverName = "FastDL"; + + const title = currentTitle + ? `${currentTitle} - ${serverName}` + : serverName; + episodeLinks.push({ title, link: href }); + } + }); + } + } + }); + } + // console.log(episodeLinks); - return episodeLinks; + return episodeLinks.length > 0 + ? episodeLinks + : [{ title: "Play", link: url }]; } catch (err) { console.error(err); return [ diff --git a/providers/drive/stream.ts b/providers/drive/stream.ts index 0f83e4d..2e8c52c 100644 --- a/providers/drive/stream.ts +++ b/providers/drive/stream.ts @@ -1,4 +1,6 @@ import { Stream, ProviderContext } from "../types"; +import { hubcloudExtractor } from "../extractors/hubcloud"; +import { gdflixExtractor } from "../extractors/gdflix"; export const getStream = async function ({ link: url, @@ -11,37 +13,61 @@ export const getStream = async function ({ signal: AbortSignal; providerContext: ProviderContext; }): Promise { - const headers = providerContext.commonHeaders; + const { axios, cheerio, commonHeaders: headers } = providerContext; try { if (type === "movie") { - const res = await providerContext.axios.get(url, { headers }); + const res = await axios.get(url, { headers }); const html = res.data; - const $ = providerContext.cheerio.load(html); + const $ = cheerio.load(html); const link = $('a:contains("HubCloud")').attr("href"); url = link || url; } - const res = await providerContext.axios.get(url, { headers }); - let redirectUrl = res.data.match( - //i - )?.[1]; - if (url.includes("/archives/")) { + + let redirectUrl = ""; + try { + const res = await axios.get(url, { headers }); redirectUrl = res.data.match( - /]*href="(https:\/\/hubcloud\.[^\/]+\/[^"]+)"/i + //i, )?.[1]; + if (url.includes("/archives/")) { + redirectUrl = res.data.match( + /]*href="(https:\/\/hubcloud\.[^\/]+\/[^"]+)"/i, + )?.[1]; + } + } catch (err: any) { + console.error("Hubcloud redirect err", err?.message || err); } if (!redirectUrl) { - return await providerContext.extractors.hubcloudExtracter(url, signal); + if (url.includes("hubcloud")) { + console.log(" hubcloud link found in:", url); + return await hubcloudExtractor(url, signal, axios, cheerio, headers); + } else if (url.includes("gdflix")) { + // handle gdflix links + console.log("gdflix link found:", url); + const gdflixStreams = await gdflixExtractor( + url, + signal, + axios, + cheerio, + headers, + ); + return gdflixStreams; + } } - const res2 = await providerContext.axios.get(redirectUrl, { headers }); + console.log("redirectUrl", redirectUrl); + const res2 = await axios.get(redirectUrl, { headers }); const data = res2.data; - const $ = providerContext.cheerio.load(data); + const $ = cheerio.load(data); const hubcloudLink = $(".fa-file-download").parent().attr("href"); - return await providerContext.extractors.hubcloudExtracter( + return await hubcloudExtractor( hubcloudLink?.includes("https://hubcloud") ? hubcloudLink : redirectUrl, - signal + signal, + axios, + cheerio, + headers, ); - } catch (err) { - console.error("Movies Drive err", err); + } catch (err: any) { + console.error("Movies Drive err", err?.message || err); return []; } }; diff --git a/providers/gdflixExtractor.ts b/providers/extractors/gdflix.ts similarity index 60% rename from providers/gdflixExtractor.ts rename to providers/extractors/gdflix.ts index d94bafc..88c7193 100644 --- a/providers/gdflixExtractor.ts +++ b/providers/extractors/gdflix.ts @@ -1,173 +1,174 @@ -import axios from 'axios'; -import * as cheerio from 'cheerio'; -import {Stream} from './types'; -import {headers} from './headers'; - -export async function gdFlixExtracter(link: string, signal: AbortSignal) { - try { - const streamLinks: Stream[] = []; - const res = await axios(`${link}`, {headers, signal}); - console.log('gdFlixExtracter', link); - const data = res.data; - let $drive = cheerio.load(data); - // handle if redirected to another link - - if ($drive('body').attr('onload')?.includes('location.replace')) { - const newLink = $drive('body') - .attr('onload') - ?.split("location.replace('")?.[1] - .split("'")?.[0]; - - console.log('newLink', newLink); - if (newLink) { - const newRes = await axios.get(newLink, {headers, signal}); - $drive = cheerio.load(newRes.data); - } - } - - // try { - // const resumeBot = $drive('.fab.fa-artstation').prev().attr('href') || ''; - // console.log('resumeBot', resumeBot); - // const resumeBotRes = await axios.get(resumeBot, {headers}); - // const resumeBotToken = resumeBotRes.data.match( - // /formData\.append\('token', '([a-f0-9]+)'\)/, - // )[1]; - // const resumeBotBody = new FormData(); - // resumeBotBody.append('token', resumeBotToken); - // const resumeBotPath = resumeBotRes.data.match( - // /fetch\('\/download\?id=([a-zA-Z0-9\/+]+)'/, - // )[1]; - // const resumeBotBaseUrl = resumeBot.split('/download')[0]; - // // console.log( - // // 'resumeBotPath', - // // resumeBotBaseUrl + '/download?id=' + resumeBotPath, - // // ); - // // console.log('resumeBotBody', resumeBotToken); - - // const resumeBotDownload = await fetch( - // resumeBotBaseUrl + '/download?id=' + resumeBotPath, - // { - // method: 'POST', - // body: resumeBotBody, - // headers: { - // Referer: resumeBot, - // Cookie: 'PHPSESSID=7e9658ce7c805dab5bbcea9046f7f308', - // }, - // }, - // ); - // const resumeBotDownloadData = await resumeBotDownload.json(); - // console.log('resumeBotDownloadData', resumeBotDownloadData.url); - // streamLinks.push({ - // server: 'ResumeBot', - // link: resumeBotDownloadData.url, - // type: 'mkv', - // }); - // } catch (err) { - // console.log('ResumeBot link not found', err); - // } - - /// resume cloud - try { - const baseUrl = link.split('/').slice(0, 3).join('/'); - const resumeDrive = $drive('.btn-secondary').attr('href') || ''; - console.log('resumeDrive', resumeDrive); - if (resumeDrive.includes('indexbot')) { - const resumeBotRes = await axios.get(resumeDrive, {headers}); - const resumeBotToken = resumeBotRes.data.match( - /formData\.append\('token', '([a-f0-9]+)'\)/, - )[1]; - const resumeBotBody = new FormData(); - resumeBotBody.append('token', resumeBotToken); - const resumeBotPath = resumeBotRes.data.match( - /fetch\('\/download\?id=([a-zA-Z0-9\/+]+)'/, - )[1]; - const resumeBotBaseUrl = resumeDrive.split('/download')[0]; - // console.log( - // 'resumeBotPath', - // resumeBotBaseUrl + '/download?id=' + resumeBotPath, - // ); - // console.log('resumeBotBody', resumeBotToken); - - const resumeBotDownload = await fetch( - resumeBotBaseUrl + '/download?id=' + resumeBotPath, - { - method: 'POST', - body: resumeBotBody, - headers: { - Referer: resumeDrive, - Cookie: 'PHPSESSID=7e9658ce7c805dab5bbcea9046f7f308', - }, - }, - ); - const resumeBotDownloadData = await resumeBotDownload.json(); - console.log('resumeBotDownloadData', resumeBotDownloadData.url); - streamLinks.push({ - server: 'ResumeBot', - link: resumeBotDownloadData.url, - type: 'mkv', - }); - } else { - const url = baseUrl + resumeDrive; - const resumeDriveRes = await axios.get(url, {headers}); - const resumeDriveHtml = resumeDriveRes.data; - const $resumeDrive = cheerio.load(resumeDriveHtml); - const resumeLink = $resumeDrive('.btn-success').attr('href'); - // console.log('resumeLink', resumeLink); - if (resumeLink) { - streamLinks.push({ - server: 'ResumeCloud', - link: resumeLink, - type: 'mkv', - }); - } - } - } catch (err) { - console.log('Resume link not found'); - } - - //instant link - try { - const seed = $drive('.btn-danger').attr('href') || ''; - console.log('seed', seed); - if (!seed.includes('?url=')) { - const newLinkRes = await axios.head(seed, {headers, signal}); - console.log('newLinkRes', newLinkRes.request?.responseURL); - const newLink = - newLinkRes.request?.responseURL?.split('?url=')?.[1] || seed; - streamLinks.push({server: 'G-Drive', link: newLink, type: 'mkv'}); - } else { - const instantToken = seed.split('=')[1]; - // console.log('InstantToken', instantToken); - const InstantFromData = new FormData(); - InstantFromData.append('keys', instantToken); - const videoSeedUrl = seed.split('/').slice(0, 3).join('/') + '/api'; - // console.log('videoSeedUrl', videoSeedUrl); - const instantLinkRes = await fetch(videoSeedUrl, { - method: 'POST', - body: InstantFromData, - headers: { - 'x-token': videoSeedUrl, - }, - }); - const instantLinkData = await instantLinkRes.json(); - // console.log('instantLinkData', instantLinkData); - if (instantLinkData.error === false) { - const instantLink = instantLinkData.url; - streamLinks.push({ - server: 'Gdrive-Instant', - link: instantLink, - type: 'mkv', - }); - } else { - console.log('Instant link not found', instantLinkData); - } - } - } catch (err) { - console.log('Instant link not found', err); - } - return streamLinks; - } catch (error) { - console.log('gdflix error: ', error); - return []; - } -} +export async function gdflixExtractor( + link: string, + signal: AbortSignal, + axios: any, + cheerio: any, + headers: Record, +) { + try { + const streamLinks: any[] = []; + const res = await axios(`${link}`, { headers, signal }); + console.log("gdflixExtractor", link); + const data = res.data; + let $drive = cheerio.load(data); + // handle if redirected to another link + + if ($drive("body").attr("onload")?.includes("location.replace")) { + const newLink = $drive("body") + .attr("onload") + ?.split("location.replace('")?.[1] + .split("'")?.[0]; + + console.log("newLink", newLink); + if (newLink) { + const newRes = await axios.get(newLink, { headers, signal }); + $drive = cheerio.load(newRes.data); + } + } + + // try { + // const resumeBot = $drive('.fab.fa-artstation').prev().attr('href') || ''; + // console.log('resumeBot', resumeBot); + // const resumeBotRes = await axios.get(resumeBot, {headers}); + // const resumeBotToken = resumeBotRes.data.match( + // /formData\.append\('token', '([a-f0-9]+)'\)/, + // )[1]; + // const resumeBotBody = new FormData(); + // resumeBotBody.append('token', resumeBotToken); + // const resumeBotPath = resumeBotRes.data.match( + // /fetch\('\/download\?id=([a-zA-Z0-9\/+]+)'/, + // )[1]; + // const resumeBotBaseUrl = resumeBot.split('/download')[0]; + // // console.log( + // // 'resumeBotPath', + // // resumeBotBaseUrl + '/download?id=' + resumeBotPath, + // // ); + // // console.log('resumeBotBody', resumeBotToken); + + // const resumeBotDownload = await fetch( + // resumeBotBaseUrl + '/download?id=' + resumeBotPath, + // { + // method: 'POST', + // body: resumeBotBody, + // headers: { + // Referer: resumeBot, + // Cookie: 'PHPSESSID=7e9658ce7c805dab5bbcea9046f7f308', + // }, + // }, + // ); + // const resumeBotDownloadData = await resumeBotDownload.json(); + // console.log('resumeBotDownloadData', resumeBotDownloadData.url); + // streamLinks.push({ + // server: 'ResumeBot', + // link: resumeBotDownloadData.url, + // type: 'mkv', + // }); + // } catch (err) { + // console.log('ResumeBot link not found', err); + // } + + /// resume cloud + try { + const baseUrl = link.split("/").slice(0, 3).join("/"); + const resumeDrive = $drive(".btn-secondary").attr("href") || ""; + console.log("resumeDrive", resumeDrive); + if (resumeDrive.includes("indexbot")) { + const resumeBotRes = await axios.get(resumeDrive, { headers }); + const resumeBotToken = resumeBotRes.data.match( + /formData\.append\('token', '([a-f0-9]+)'\)/, + )[1]; + const resumeBotBody = new FormData(); + resumeBotBody.append("token", resumeBotToken); + const resumeBotPath = resumeBotRes.data.match( + /fetch\('\/download\?id=([a-zA-Z0-9\/+]+)'/, + )[1]; + const resumeBotBaseUrl = resumeDrive.split("/download")[0]; + // console.log( + // 'resumeBotPath', + // resumeBotBaseUrl + '/download?id=' + resumeBotPath, + // ); + // console.log('resumeBotBody', resumeBotToken); + + const resumeBotDownload = await fetch( + resumeBotBaseUrl + "/download?id=" + resumeBotPath, + { + method: "POST", + body: resumeBotBody, + headers: { + Referer: resumeDrive, + Cookie: "PHPSESSID=7e9658ce7c805dab5bbcea9046f7f308", + }, + }, + ); + const resumeBotDownloadData = await resumeBotDownload.json(); + console.log("resumeBotDownloadData", resumeBotDownloadData.url); + streamLinks.push({ + server: "ResumeBot", + link: resumeBotDownloadData.url, + type: "mkv", + }); + } else { + const url = baseUrl + resumeDrive; + const resumeDriveRes = await axios.get(url, { headers }); + const resumeDriveHtml = resumeDriveRes.data; + const $resumeDrive = cheerio.load(resumeDriveHtml); + const resumeLink = $resumeDrive(".btn-success").attr("href"); + // console.log('resumeLink', resumeLink); + if (resumeLink) { + streamLinks.push({ + server: "ResumeCloud", + link: resumeLink, + type: "mkv", + }); + } + } + } catch (err) { + console.log("Resume link not found"); + } + + //instant link + try { + const seed = $drive(".btn-danger").attr("href") || ""; + console.log("seed", seed); + if (!seed.includes("?url=")) { + const newLinkRes = await axios.head(seed, { headers, signal }); + console.log("newLinkRes", newLinkRes.request?.responseURL); + const newLink = + newLinkRes.request?.responseURL?.split("?url=")?.[1] || seed; + streamLinks.push({ server: "G-Drive", link: newLink, type: "mkv" }); + } else { + const instantToken = seed.split("=")[1]; + // console.log('InstantToken', instantToken); + const InstantFromData = new FormData(); + InstantFromData.append("keys", instantToken); + const videoSeedUrl = seed.split("/").slice(0, 3).join("/") + "/api"; + // console.log('videoSeedUrl', videoSeedUrl); + const instantLinkRes = await fetch(videoSeedUrl, { + method: "POST", + body: InstantFromData, + headers: { + "x-token": videoSeedUrl, + }, + }); + const instantLinkData = await instantLinkRes.json(); + // console.log('instantLinkData', instantLinkData); + if (instantLinkData.error === false) { + const instantLink = instantLinkData.url; + streamLinks.push({ + server: "Gdrive-Instant", + link: instantLink, + type: "mkv", + }); + } else { + console.log("Instant link not found", instantLinkData); + } + } + } catch (err) { + console.log("Instant link not found", err); + } + return streamLinks; + } catch (error) { + console.log("gdflix error: ", error); + return []; + } +} diff --git a/providers/extractors/gofile.ts b/providers/extractors/gofile.ts new file mode 100644 index 0000000..655a1ce --- /dev/null +++ b/providers/extractors/gofile.ts @@ -0,0 +1,37 @@ +export async function gofileExtractor( + id: string, + axios: any, +): Promise<{ link: string; token: string }> { + try { + const gofileRes = await axios.get("https://gofile.io/d/" + id); + const genAccountres = await axios.post("https://api.gofile.io/accounts"); + const token = genAccountres.data.data.token; + console.log("gofile token", token); + + const wtRes = await axios.get("https://gofile.io/dist/js/global.js"); + const wt = wtRes.data.match(/appdata\.wt\s*=\s*["']([^"']+)["']/)[1]; + console.log("gofile wt", wt); + + const res = await axios.get( + `https://api.gofile.io/contents/${id}?wt=${wt}`, + { + headers: { + Authorization: `Bearer ${token}`, + }, + }, + ); + const oId = Object.keys(res.data.data.children)[0]; + console.log("gofileExtractor", res.data.data.children[oId].link); + const link = res.data.data.children[oId].link; + return { + link, + token, + }; + } catch (e) { + console.log("gofileExtractor error", e); + return { + link: "", + token: "", + }; + } +} diff --git a/providers/hubcloudExtractor.ts b/providers/extractors/hubcloud.ts similarity index 81% rename from providers/hubcloudExtractor.ts rename to providers/extractors/hubcloud.ts index ed19041..94af54f 100644 --- a/providers/hubcloudExtractor.ts +++ b/providers/extractors/hubcloud.ts @@ -1,147 +1,151 @@ -import axios from "axios"; -import * as cheerio from "cheerio"; -import { Stream } from "./types"; -import { headers } from "./headers"; - -const decode = function (value: string) { - if (value === undefined) { - return ""; - } - return atob(value.toString()); -}; - -export async function hubcloudExtracter(link: string, signal: AbortSignal) { - try { - console.log("hubcloudExtracter", link); - const baseUrl = link.split("/").slice(0, 3).join("/"); - const streamLinks: Stream[] = []; - const vLinkRes = await axios(`${link}`, { headers, signal }); - const vLinkText = vLinkRes.data; - const $vLink = cheerio.load(vLinkText); - const vLinkRedirect = vLinkText.match(/var\s+url\s*=\s*'([^']+)';/) || []; - let vcloudLink = - decode(vLinkRedirect[1]?.split("r=")?.[1]) || - vLinkRedirect[1] || - $vLink(".fa-file-download.fa-lg").parent().attr("href") || - link; - console.log("vcloudLink", vcloudLink); - if (vcloudLink?.startsWith("/")) { - vcloudLink = `${baseUrl}${vcloudLink}`; - console.log("New vcloudLink", vcloudLink); - } - const vcloudRes = await fetch(vcloudLink, { - headers, - signal, - redirect: "follow", - }); - const $ = cheerio.load(await vcloudRes.text()); - // console.log('vcloudRes', $.text()); - - const linkClass = $(".btn-success.btn-lg.h6,.btn-danger,.btn-secondary"); - for (const element of linkClass) { - const itm = $(element); - let link = itm.attr("href") || ""; - - switch (true) { - case link?.includes(".dev") && !link?.includes("/?id="): - streamLinks.push({ server: "Cf Worker", link: link, type: "mkv" }); - break; - - case link?.includes("pixeld"): - if (!link?.includes("api")) { - const token = link.split("/").pop(); - const baseUrl = link.split("/").slice(0, -2).join("/"); - link = `${baseUrl}/api/file/${token}?download`; - } - streamLinks.push({ server: "Pixeldrain", link: link, type: "mkv" }); - break; - - case link?.includes("hubcloud") || link?.includes("/?id="): - try { - const newLinkRes = await fetch(link, { - method: "HEAD", - headers, - signal, - redirect: "manual", - }); - - // Check if response is a redirect (301, 302, etc.) - let newLink = link; - if (newLinkRes.status >= 300 && newLinkRes.status < 400) { - newLink = newLinkRes.headers.get("location") || link; - } else if (newLinkRes.url && newLinkRes.url !== link) { - // Fallback: check if URL changed (redirect was followed) - newLink = newLinkRes.url; - } else { - newLink = newLinkRes.headers.get("location") || link; - } - if (newLink.includes("googleusercontent")) { - newLink = newLink.split("?link=")[1]; - } else { - const newLinkRes2 = await fetch(newLink, { - method: "HEAD", - headers, - signal, - redirect: "manual", - }); - - // Check if response is a redirect - if (newLinkRes2.status >= 300 && newLinkRes2.status < 400) { - newLink = - newLinkRes2.headers.get("location")?.split("?link=")[1] || - newLink; - } else if (newLinkRes2.url && newLinkRes2.url !== newLink) { - // Fallback: URL changed due to redirect - newLink = newLinkRes2.url.split("?link=")[1] || newLinkRes2.url; - } else { - newLink = - newLinkRes2.headers.get("location")?.split("?link=")[1] || - newLink; - } - } - - streamLinks.push({ - server: "hubcloud", - link: newLink, - type: "mkv", - }); - } catch (error) { - console.log("hubcloudExtracter error in hubcloud link: ", error); - } - break; - - case link?.includes("cloudflarestorage"): - streamLinks.push({ server: "CfStorage", link: link, type: "mkv" }); - break; - - case link?.includes("fastdl") || link?.includes("fsl."): - streamLinks.push({ server: "FastDl", link: link, type: "mkv" }); - break; - - case link.includes("hubcdn") && !link.includes("/?id="): - streamLinks.push({ - server: "HubCdn", - link: link, - type: "mkv", - }); - break; - - default: - if (link?.includes(".mkv")) { - const serverName = - link - .match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/i)?.[1] - ?.replace(/\./g, " ") || "Unknown"; - streamLinks.push({ server: serverName, link: link, type: "mkv" }); - } - break; - } - } - - console.log("streamLinks", streamLinks); - return streamLinks; - } catch (error) { - console.log("hubcloudExtracter error: ", error); - return []; - } -} +const hubcloudDecode = function (value: string) { + if (value === undefined) { + return ""; + } + return atob(value.toString()); +}; + +export async function hubcloudExtractor( + link: string, + signal: AbortSignal, + axios: any, + cheerio: any, + headers: Record, +) { + try { + headers["Cookie"] = + "ext_name=ojplmecpdpgccookcobabopnaifgidhf; xla=s4t; cf_clearance=woQrFGXtLfmEMBEiGUsVHrUBMT8s3cmguIzmMjmvpkg-1770053679-1.2.1.1-xBrQdciOJsweUF6F2T_OtH6jmyanN_TduQ0yslc_XqjU6RcHSxI7.YOKv6ry7oYo64868HYoULnVyww536H2eVI3R2e4wKzsky6abjPdfQPxqpUaXjxfJ02o6jl3_Vkwr4uiaU7Wy596Vdst3y78HXvVmKdIohhtPvp.vZ9_L7wvWdce0GRixjh_6JiqWmWMws46hwEt3hboaS1e1e4EoWCvj5b0M_jVwvSxBOAW5emFzvT3QrnRh4nyYmKDERnY"; + console.log("hubcloudExtractor", link); + console.log("headers", headers); + const baseUrl = link.split("/").slice(0, 3).join("/"); + const streamLinks: any[] = []; + const vLinkRes = await axios(`${link}`, { headers, signal }); + const vLinkText = vLinkRes.data; + const $vLink = cheerio.load(vLinkText); + const vLinkRedirect = vLinkText.match(/var\s+url\s*=\s*'([^']+)';/) || []; + let vcloudLink = + hubcloudDecode(vLinkRedirect[1]?.split("r=")?.[1]) || + vLinkRedirect[1] || + $vLink(".fa-file-download.fa-lg").parent().attr("href") || + link; + console.log("vcloudLink", vcloudLink); + if (vcloudLink?.startsWith("/")) { + vcloudLink = `${baseUrl}${vcloudLink}`; + console.log("New vcloudLink", vcloudLink); + } + const vcloudRes = await fetch(vcloudLink, { + headers, + signal, + redirect: "follow", + }); + const $ = cheerio.load(await vcloudRes.text()); + // console.log('vcloudRes', $.text()); + + const linkClass = $(".btn-success.btn-lg.h6,.btn-danger,.btn-secondary"); + for (const element of linkClass) { + const itm = $(element); + let link = itm.attr("href") || ""; + + switch (true) { + case link?.includes("pixeld"): + if (!link?.includes("api")) { + const token = link.split("/").pop(); + const baseUrl = link.split("/").slice(0, -2).join("/"); + link = `${baseUrl}/api/file/${token}?download`; + } + streamLinks.push({ server: "Pixeldrain", link: link, type: "mkv" }); + break; + + case link?.includes(".dev") && !link?.includes("/?id="): + streamLinks.push({ server: "Cf Worker", link: link, type: "mkv" }); + break; + + case link?.includes("hubcloud") || link?.includes("/?id="): + try { + const newLinkRes = await fetch(link, { + method: "HEAD", + headers, + signal, + redirect: "manual", + }); + + // Check if response is a redirect (301, 302, etc.) + let newLink = link; + if (newLinkRes.status >= 300 && newLinkRes.status < 400) { + newLink = newLinkRes.headers.get("location") || link; + } else if (newLinkRes.url && newLinkRes.url !== link) { + // Fallback: check if URL changed (redirect was followed) + newLink = newLinkRes.url; + } else { + newLink = newLinkRes.headers.get("location") || link; + } + if (newLink.includes("googleusercontent")) { + newLink = newLink.split("?link=")[1]; + } else { + const newLinkRes2 = await fetch(newLink, { + method: "HEAD", + headers, + signal, + redirect: "manual", + }); + + // Check if response is a redirect + if (newLinkRes2.status >= 300 && newLinkRes2.status < 400) { + newLink = + newLinkRes2.headers.get("location")?.split("?link=")[1] || + newLink; + } else if (newLinkRes2.url && newLinkRes2.url !== newLink) { + // Fallback: URL changed due to redirect + newLink = newLinkRes2.url.split("?link=")[1] || newLinkRes2.url; + } else { + newLink = + newLinkRes2.headers.get("location")?.split("?link=")[1] || + newLink; + } + } + + streamLinks.push({ + server: "hubcloud", + link: newLink, + type: "mkv", + }); + } catch (error) { + console.log("hubcloudExtractor error in hubcloud link: ", error); + } + break; + + case link?.includes("cloudflarestorage"): + streamLinks.push({ server: "CfStorage", link: link, type: "mkv" }); + break; + + case link?.includes("fastdl") || link?.includes("fsl."): + streamLinks.push({ server: "FastDl", link: link, type: "mkv" }); + break; + + case link.includes("hubcdn") && !link.includes("/?id="): + streamLinks.push({ + server: "HubCdn", + link: link, + type: "mkv", + }); + break; + + default: + if (link?.includes(".mkv") || link?.includes("?token=")) { + const serverName = + link + .match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/i)?.[1] + ?.replace(/\./g, " ") || "Unknown"; + streamLinks.push({ server: serverName, link: link, type: "mkv" }); + } + break; + } + } + + console.log("streamLinks", streamLinks); + return streamLinks; + } catch (error: any) { + console.log("hubcloudExtractor error: ", error?.message || error); + return []; + } +} diff --git a/providers/superVideoExtractor.ts b/providers/extractors/supeVideo.ts similarity index 66% rename from providers/superVideoExtractor.ts rename to providers/extractors/supeVideo.ts index 1f2ec39..d31513a 100644 --- a/providers/superVideoExtractor.ts +++ b/providers/extractors/supeVideo.ts @@ -1,40 +1,40 @@ -export async function superVideoExtractor(data: any) { - try { - // Step 1: Extract the function parameters and the encoded string - var functionRegex = - /eval\(function\((.*?)\)\{.*?return p\}.*?\('(.*?)'\.split/; - var match = functionRegex.exec(data); - let p = ''; - if (match) { - // var params = match[1].split(',').map(param => param.trim()); - var encodedString = match[2]; - - // console.log('Parameters:', params); - // console.log('Encoded String:', encodedString.split("',36,")[0], '🔥🔥'); - - p = encodedString.split("',36,")?.[0].trim(); - let a = 36; - let c = encodedString.split("',36,")[1].slice(2).split('|').length; - let k = encodedString.split("',36,")[1].slice(2).split('|'); - - while (c--) { - if (k[c]) { - var regex = new RegExp('\\b' + c.toString(a) + '\\b', 'g'); - p = p.replace(regex, k[c]); - } - } - - // console.log('Decoded String:', p); - } else { - console.log('No match found'); - } - - const streamUrl = p?.match(/file:\s*"([^"]+\.m3u8[^"]*)"/)?.[1]; - console.log('streamUrl:', streamUrl); - - return streamUrl || ''; - } catch (err) { - console.error('SuperVideoExtractor Error:', err); - return ''; - } -} +export async function superVideoExtractor(data: any) { + try { + // Step 1: Extract the function parameters and the encoded string + var functionRegex = + /eval\(function\((.*?)\)\{.*?return p\}.*?\('(.*?)'\.split/; + var match = functionRegex.exec(data); + let p = ""; + if (match) { + // var params = match[1].split(',').map(param => param.trim()); + var encodedString = match[2]; + + // console.log('Parameters:', params); + // console.log('Encoded String:', encodedString.split("',36,")[0], '🔥🔥'); + + p = encodedString.split("',36,")?.[0].trim(); + let a = 36; + let c = encodedString.split("',36,")[1].slice(2).split("|").length; + let k = encodedString.split("',36,")[1].slice(2).split("|"); + + while (c--) { + if (k[c]) { + var regex = new RegExp("\\b" + c.toString(a) + "\\b", "g"); + p = p.replace(regex, k[c]); + } + } + + // console.log('Decoded String:', p); + } else { + console.log("No match found"); + } + + const streamUrl = p?.match(/file:\s*"([^"]+\.m3u8[^"]*)"/)?.[1]; + console.log("streamUrl:", streamUrl); + + return streamUrl || ""; + } catch (err) { + console.error("SuperVideoExtractor Error:", err); + return ""; + } +} diff --git a/providers/filmyfly/stream.ts b/providers/filmyfly/stream.ts index 57464df..cab463a 100644 --- a/providers/filmyfly/stream.ts +++ b/providers/filmyfly/stream.ts @@ -1,4 +1,5 @@ import { Stream, ProviderContext } from "../types"; +import { gdflixExtractor } from "../extractors/gdflix"; export const getStream = async function ({ link, @@ -10,19 +11,23 @@ export const getStream = async function ({ signal: AbortSignal; providerContext: ProviderContext; }): Promise { + const { axios, cheerio, commonHeaders: headers } = providerContext; try { - const res = await providerContext.axios.get(link, { signal }); + const res = await axios.get(link, { signal }); const data = res.data; - const $ = providerContext.cheerio.load(data); + const $ = cheerio.load(data); const streams: Stream[] = []; const elements = $(".button2,.button1,.button3,.button4,.button").toArray(); const promises = elements.map(async (element) => { const title = $(element).text(); let link = $(element).attr("href"); if (title.includes("GDFLIX") && link) { - const gdLinks = await providerContext.extractors.gdFlixExtracter( + const gdLinks = await gdflixExtractor( link, - signal + signal, + axios, + cheerio, + headers, ); streams.push(...gdLinks); } diff --git a/providers/gofileExtracter.ts b/providers/gofileExtracter.ts deleted file mode 100644 index a3fdafa..0000000 --- a/providers/gofileExtracter.ts +++ /dev/null @@ -1,38 +0,0 @@ -import axios from 'axios'; - -export async function gofileExtracter( - id: string, -): Promise<{link: string; token: string}> { - try { - const gofileRes = await axios.get('https://gofile.io/d/' + id); - const genAccountres = await axios.post('https://api.gofile.io/accounts'); - const token = genAccountres.data.data.token; - console.log('gofile token', token); - - const wtRes = await axios.get('https://gofile.io/dist/js/global.js'); - const wt = wtRes.data.match(/appdata\.wt\s*=\s*["']([^"']+)["']/)[1]; - console.log('gofile wt', wt); - - const res = await axios.get( - `https://api.gofile.io/contents/${id}?wt=${wt}`, - { - headers: { - Authorization: `Bearer ${token}`, - }, - }, - ); - const oId = Object.keys(res.data.data.children)[0]; - console.log('gofile extracter', res.data.data.children[oId].link); - const link = res.data.data.children[oId].link; - return { - link, - token, - }; - } catch (e) { - console.log('gofile extracter err', e); - return { - link: '', - token: '', - }; - } -} diff --git a/providers/guardahd/stream.ts b/providers/guardahd/stream.ts index 2629ffa..1057d53 100644 --- a/providers/guardahd/stream.ts +++ b/providers/guardahd/stream.ts @@ -1,4 +1,5 @@ import { ProviderContext, Stream } from "../types"; +import { superVideoExtractor } from "../extractors/supeVideo"; export const getStream = async function ({ link: id, @@ -10,8 +11,7 @@ export const getStream = async function ({ providerContext: ProviderContext; }): Promise { try { - const { axios, cheerio, extractors, commonHeaders } = providerContext; - const { superVideoExtractor } = extractors; + const { axios, cheerio, commonHeaders } = providerContext; async function ExtractGuardahd({ imdb, // type, // season, }: // episode, diff --git a/providers/hdhub4u/stream.ts b/providers/hdhub4u/stream.ts index 57bcf75..184f856 100644 --- a/providers/hdhub4u/stream.ts +++ b/providers/hdhub4u/stream.ts @@ -1,4 +1,5 @@ import { ProviderContext } from "../types"; +import { hubcloudExtractor } from "../extractors/hubcloud"; export async function getStream({ link, @@ -10,13 +11,7 @@ export async function getStream({ signal: AbortSignal; providerContext: ProviderContext; }) { - const { - axios, - cheerio, - extractors, - commonHeaders: headers, - } = providerContext; - const { hubcloudExtracter } = extractors; + const { axios, cheerio, commonHeaders: headers } = providerContext; let hubdriveLink = ""; if (link.includes("hubdrive")) { const hubdriveRes = await axios.get(link, { headers, signal }); @@ -39,23 +34,36 @@ export async function getStream({ redirectLinkText.match( /href="(https:\/\/hubcloud\.[^\/]+\/drive\/[^"]+)"/, )[1]; + console.log("hubdriveLink", hubdriveLink); if (hubdriveLink.includes("hubdrive")) { const hubdriveRes = await axios.get(hubdriveLink, { headers, signal }); const hubdriveText = hubdriveRes.data; const $$ = cheerio.load(hubdriveText); hubdriveLink = - $$(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href") || - hubdriveLink; + $$(".btn.btn-primary.btn-user").attr("href") || hubdriveLink; } + console.log("hubdriveLink2", hubdriveLink); } - const hubdriveLinkRes = await axios.get(hubdriveLink, { headers, signal }); - const hubcloudText = hubdriveLinkRes.data; - const hubcloudLink = - hubcloudText.match( - //i, - )?.[1] || hubdriveLink; + let hubcloudLink = hubdriveLink; try { - return await hubcloudExtracter(hubcloudLink, signal); + const hubdriveLinkRes = await axios.get(hubdriveLink, { headers, signal }); + const hubcloudText = hubdriveLinkRes.data; + hubcloudLink = + hubcloudText.match( + //i, + )?.[1] || hubdriveLink; + } catch (error: any) { + console.log("Error fetching hubdrive link:", error?.message); + } + console.log("hubcloudLink", hubcloudLink); + try { + return await hubcloudExtractor( + hubcloudLink, + signal, + axios, + cheerio, + headers, + ); } catch (error: any) { console.log("hd hub 4 getStream error: ", error); return []; diff --git a/providers/katMovieFix/stream.ts b/providers/katMovieFix/stream.ts index a0f8b21..57b1d0d 100644 --- a/providers/katMovieFix/stream.ts +++ b/providers/katMovieFix/stream.ts @@ -1,4 +1,5 @@ import { ProviderContext, Stream } from "../types"; +import { hubcloudExtractor } from "../extractors/hubcloud"; const headers = { Accept: @@ -22,8 +23,7 @@ export async function getStream({ signal: AbortSignal; providerContext: ProviderContext; }) { - const { axios, cheerio, extractors } = providerContext; - const { hubcloudExtracter } = extractors; + const { axios, cheerio, commonHeaders } = providerContext; try { const streamLinks: Stream[] = []; @@ -43,7 +43,13 @@ export async function getStream({ }); // --- hubcloud extraction --- - const hubcloudStreams = await hubcloudExtracter(link, signal); + const hubcloudStreams = await hubcloudExtractor( + link, + signal, + axios, + cheerio, + commonHeaders, + ); streamLinks.push(...hubcloudStreams); return streamLinks; diff --git a/providers/katmovies/stream.ts b/providers/katmovies/stream.ts index f03add4..8cebaf9 100644 --- a/providers/katmovies/stream.ts +++ b/providers/katmovies/stream.ts @@ -1,8 +1,10 @@ import { Stream, ProviderContext } from "../types"; +import { hubcloudExtractor } from "../extractors/hubcloud"; +import { gdflixExtractor } from "../extractors/gdflix"; async function extractKmhdLink( katlink: string, - providerContext: ProviderContext + providerContext: ProviderContext, ) { const { axios } = providerContext; const res = await axios.get(katlink, { @@ -13,7 +15,7 @@ async function extractKmhdLink( const data = res.data; const hubDriveRes = data.match(/hubdrive_res:\s*"([^"]+)"/)[1]; const hubDriveLink = data.match( - /hubdrive_res\s*:\s*{[^}]*?link\s*:\s*"([^"]+)"/ + /hubdrive_res\s*:\s*{[^}]*?link\s*:\s*"([^"]+)"/, )[1]; return hubDriveLink + hubDriveRes; } @@ -27,17 +29,22 @@ export const getStream = async function ({ signal: AbortSignal; providerContext: ProviderContext; }): Promise { - const { axios, cheerio, extractors } = providerContext; - const { hubcloudExtracter, gdFlixExtracter } = extractors; + const { axios, cheerio, commonHeaders } = providerContext; const streamLinks: Stream[] = []; console.log("katGetStream", link); try { if (link.includes("gdflix")) { - return await gdFlixExtracter(link, signal); + return await gdflixExtractor(link, signal, axios, cheerio, commonHeaders); } if (link.includes("kmhd")) { const hubcloudLink = await extractKmhdLink(link, providerContext); - return await hubcloudExtracter(hubcloudLink, signal); + return await hubcloudExtractor( + hubcloudLink, + signal, + axios, + cheerio, + commonHeaders, + ); } if (link.includes("gdflix")) { // resume link @@ -94,7 +101,13 @@ export const getStream = async function ({ } return streamLinks; } - const stereams = await hubcloudExtracter(link, signal); + const stereams = await hubcloudExtractor( + link, + signal, + axios, + cheerio, + commonHeaders, + ); return stereams; } catch (error: any) { console.log("katgetStream error: ", error); diff --git a/providers/luxMovies/stream.ts b/providers/luxMovies/stream.ts index edca238..ef86378 100644 --- a/providers/luxMovies/stream.ts +++ b/providers/luxMovies/stream.ts @@ -1,4 +1,5 @@ import { ProviderContext, Stream } from "../types"; +import { hubcloudExtractor } from "../extractors/hubcloud"; const headers = { Accept: @@ -32,8 +33,7 @@ export async function getStream({ signal: AbortSignal; providerContext: ProviderContext; }) { - const { axios, cheerio, extractors } = providerContext; - const { hubcloudExtracter } = extractors; + const { axios, cheerio, commonHeaders } = providerContext; try { const streamLinks: Stream[] = []; console.log("dotlink", link); @@ -50,7 +50,7 @@ export async function getStream({ try { const $ = cheerio.load(dotlinkText); const filepressLink = $( - '.btn.btn-sm.btn-outline[style="background:linear-gradient(135deg,rgb(252,185,0) 0%,rgb(0,0,0)); color: #fdf8f2;"]' + '.btn.btn-sm.btn-outline[style="background:linear-gradient(135deg,rgb(252,185,0) 0%,rgb(0,0,0)); color: #fdf8f2;"]', ) .parent() .attr("href"); @@ -74,7 +74,7 @@ export async function getStream({ "Content-Type": "application/json", Referer: filepressBaseUrl, }, - } + }, ); // console.log('filepressTokenRes', filepressTokenRes.data); if (filepressTokenRes.data?.status) { @@ -91,7 +91,7 @@ export async function getStream({ "Content-Type": "application/json", Referer: filepressBaseUrl, }, - } + }, ); // console.log('filepressStreamLink', filepressStreamLink.data); streamLinks.push({ @@ -106,7 +106,7 @@ export async function getStream({ } } - return await hubcloudExtracter(link, signal); + return await hubcloudExtractor(link, signal, axios, cheerio, commonHeaders); } catch (error: any) { console.log("getStream error: ", error); if (error.message.includes("Aborted")) { diff --git a/providers/movies4u/stream.ts b/providers/movies4u/stream.ts index 15bcecc..33547d5 100644 --- a/providers/movies4u/stream.ts +++ b/providers/movies4u/stream.ts @@ -1,4 +1,5 @@ import { ProviderContext, Stream } from "../types"; +import { hubcloudExtractor } from "../extractors/hubcloud"; const headers = { Accept: @@ -32,8 +33,7 @@ export async function getStream({ signal: AbortSignal; providerContext: ProviderContext; }) { - const { axios, cheerio, extractors } = providerContext; - const { hubcloudExtracter } = extractors; + const { axios, cheerio, commonHeaders } = providerContext; try { const streamLinks: Stream[] = []; console.log("dotlink", link); @@ -50,7 +50,7 @@ export async function getStream({ try { const $ = cheerio.load(dotlinkText); const filepressLink = $( - '.btn.btn-sm.btn-outline[style="background:linear-gradient(135deg,rgb(252,185,0) 0%,rgb(0,0,0)); color: #fdf8f2;"]' + '.btn.btn-sm.btn-outline[style="background:linear-gradient(135deg,rgb(252,185,0) 0%,rgb(0,0,0)); color: #fdf8f2;"]', ) .parent() .attr("href"); @@ -74,7 +74,7 @@ export async function getStream({ "Content-Type": "application/json", Referer: filepressBaseUrl, }, - } + }, ); // console.log('filepressTokenRes', filepressTokenRes.data); if (filepressTokenRes.data?.status) { @@ -91,7 +91,7 @@ export async function getStream({ "Content-Type": "application/json", Referer: filepressBaseUrl, }, - } + }, ); // console.log('filepressStreamLink', filepressStreamLink.data); streamLinks.push({ @@ -106,7 +106,7 @@ export async function getStream({ } } - return await hubcloudExtracter(link, signal); + return await hubcloudExtractor(link, signal, axios, cheerio, commonHeaders); } catch (error: any) { console.log("getStream error: ", error); if (error.message.includes("Aborted")) { @@ -114,4 +114,4 @@ export async function getStream({ } return []; } -} \ No newline at end of file +} diff --git a/providers/protonMovies/stream.ts b/providers/protonMovies/stream.ts index 48f85b3..741d750 100644 --- a/providers/protonMovies/stream.ts +++ b/providers/protonMovies/stream.ts @@ -1,4 +1,5 @@ import { Stream, ProviderContext } from "../types"; +import { gofileExtractor } from "../extractors/gofile"; function LALLJLutmoZpvvbikjaWM(str: string): ArrayBuffer { var buf = new ArrayBuffer(str.length * 2); @@ -23,13 +24,7 @@ export const getStream = async function ({ link: string; providerContext: ProviderContext; }): Promise { - const { - axios, - cheerio, - commonHeaders: headers, - extractors, - } = providerContext; - const { gofileExtracter } = extractors; + const { axios, cheerio, commonHeaders: headers } = providerContext; function generateMessageToken(baseUrlL: string): string { const hostname = baseUrlL?.replace(/https?:\/\//, "").split("/")[0]; console.log("generateMessageToken hostname", hostname); @@ -170,14 +165,15 @@ export const getStream = async function ({ id: idData, }); console.log("idData", idData); - }) + }), ); await Promise.all( secondIdList.map(async (id) => { const idRes = await axios.post(`${baseUrl}/tmp/${id.id}`); if (idRes.data.ppd["gofile.io"]) { - const goRes = await gofileExtracter( - idRes.data.ppd["gofile.io"].link.split("/").pop() + const goRes = await gofileExtractor( + idRes.data.ppd["gofile.io"].link.split("/").pop(), + axios, ); console.log("link", goRes.link); if (goRes.link) { @@ -194,7 +190,7 @@ export const getStream = async function ({ }); } } - }) + }), ); return streamLinks; diff --git a/providers/providerContext.ts b/providers/providerContext.ts index 752075e..200317c 100644 --- a/providers/providerContext.ts +++ b/providers/providerContext.ts @@ -2,30 +2,13 @@ import axios from "axios"; import { getBaseUrl } from "./getBaseUrl"; import { headers } from "./headers"; import * as cheerio from "cheerio"; -import { hubcloudExtracter } from "./hubcloudExtractor"; -import { gofileExtracter } from "./gofileExtracter"; -import { superVideoExtractor } from "./superVideoExtractor"; -import { gdFlixExtracter } from "./gdflixExtractor"; import { ProviderContext } from "./types"; import Aes from "react-native-aes-crypto"; -/** - * Context for provider functions. - * This context is used to pass common dependencies to provider functions. - */ - -const extractors = { - hubcloudExtracter, - gofileExtracter, - superVideoExtractor, - gdFlixExtracter, -}; - export const providerContext: ProviderContext = { axios, getBaseUrl, commonHeaders: headers, Aes, cheerio, - extractors, }; diff --git a/providers/skyMovieHD/stream.ts b/providers/skyMovieHD/stream.ts index f366890..72c53c2 100644 --- a/providers/skyMovieHD/stream.ts +++ b/providers/skyMovieHD/stream.ts @@ -1,4 +1,5 @@ import { ProviderContext, Stream } from "../types"; +import { hubcloudExtractor } from "../extractors/hubcloud"; const headers = { Accept: @@ -32,13 +33,12 @@ export async function getStream({ signal: AbortSignal; providerContext: ProviderContext; }) { - const { axios, cheerio, extractors } = providerContext; - const { hubcloudExtracter } = extractors; + const { axios, cheerio, commonHeaders } = providerContext; try { const streamLinks: Stream[] = []; console.log("dotlink", link); - return await hubcloudExtracter(link, signal); + return await hubcloudExtractor(link, signal, axios, cheerio, commonHeaders); } catch (error: any) { console.log("getStream error: ", error); if (error.message.includes("Aborted")) { diff --git a/providers/types.ts b/providers/types.ts index 7a503b8..d33591a 100644 --- a/providers/types.ts +++ b/providers/types.ts @@ -135,13 +135,4 @@ export type ProviderContext = { getBaseUrl: (providerValue: string) => Promise; commonHeaders: Record; cheerio: typeof cheerio; - extractors: { - hubcloudExtracter: (link: string, signal: AbortSignal) => Promise; - gofileExtracter: (id: string) => Promise<{ - link: string; - token: string; - }>; - superVideoExtractor: (data: any) => Promise; - gdFlixExtracter: (link: string, signal: AbortSignal) => Promise; - }; }; diff --git a/providers/vega/stream.ts b/providers/vega/stream.ts index edca238..ef86378 100644 --- a/providers/vega/stream.ts +++ b/providers/vega/stream.ts @@ -1,4 +1,5 @@ import { ProviderContext, Stream } from "../types"; +import { hubcloudExtractor } from "../extractors/hubcloud"; const headers = { Accept: @@ -32,8 +33,7 @@ export async function getStream({ signal: AbortSignal; providerContext: ProviderContext; }) { - const { axios, cheerio, extractors } = providerContext; - const { hubcloudExtracter } = extractors; + const { axios, cheerio, commonHeaders } = providerContext; try { const streamLinks: Stream[] = []; console.log("dotlink", link); @@ -50,7 +50,7 @@ export async function getStream({ try { const $ = cheerio.load(dotlinkText); const filepressLink = $( - '.btn.btn-sm.btn-outline[style="background:linear-gradient(135deg,rgb(252,185,0) 0%,rgb(0,0,0)); color: #fdf8f2;"]' + '.btn.btn-sm.btn-outline[style="background:linear-gradient(135deg,rgb(252,185,0) 0%,rgb(0,0,0)); color: #fdf8f2;"]', ) .parent() .attr("href"); @@ -74,7 +74,7 @@ export async function getStream({ "Content-Type": "application/json", Referer: filepressBaseUrl, }, - } + }, ); // console.log('filepressTokenRes', filepressTokenRes.data); if (filepressTokenRes.data?.status) { @@ -91,7 +91,7 @@ export async function getStream({ "Content-Type": "application/json", Referer: filepressBaseUrl, }, - } + }, ); // console.log('filepressStreamLink', filepressStreamLink.data); streamLinks.push({ @@ -106,7 +106,7 @@ export async function getStream({ } } - return await hubcloudExtracter(link, signal); + return await hubcloudExtractor(link, signal, axios, cheerio, commonHeaders); } catch (error: any) { console.log("getStream error: ", error); if (error.message.includes("Aborted")) { diff --git a/providers/zeefliz/stream.ts b/providers/zeefliz/stream.ts index 5806602..6b77338 100644 --- a/providers/zeefliz/stream.ts +++ b/providers/zeefliz/stream.ts @@ -1,4 +1,5 @@ import { ProviderContext, Stream } from "../types"; +import { hubcloudExtractor } from "../extractors/hubcloud"; const headers = { Accept: @@ -31,8 +32,7 @@ export async function getStream({ signal: AbortSignal; providerContext: ProviderContext; }) { - const { axios, cheerio, extractors } = providerContext; - const { hubcloudExtracter } = extractors; + const { axios, cheerio, commonHeaders } = providerContext; try { const streamLinks: Stream[] = []; console.log("dotlink", link); @@ -49,7 +49,7 @@ export async function getStream({ try { const $ = cheerio.load(dotlinkText); const filepressLink = $( - '.btn.btn-sm.btn-outline[style="background:linear-gradient(135deg,rgb(252,185,0) 0%,rgb(0,0,0)); color: #fdf8f2;"]' + '.btn.btn-sm.btn-outline[style="background:linear-gradient(135deg,rgb(252,185,0) 0%,rgb(0,0,0)); color: #fdf8f2;"]', ) .parent() .attr("href"); @@ -73,7 +73,7 @@ export async function getStream({ "Content-Type": "application/json", Referer: filepressBaseUrl, }, - } + }, ); // console.log('filepressTokenRes', filepressTokenRes.data); if (filepressTokenRes.data?.status) { @@ -90,7 +90,7 @@ export async function getStream({ "Content-Type": "application/json", Referer: filepressBaseUrl, }, - } + }, ); // console.log('filepressStreamLink', filepressStreamLink.data); streamLinks.push({ @@ -105,7 +105,7 @@ export async function getStream({ } } - return await hubcloudExtracter(link, signal); + return await hubcloudExtractor(link, signal, axios, cheerio, commonHeaders); } catch (error: any) { console.log("getStream error: ", error); if (error.message.includes("Aborted")) { diff --git a/test-providers.js b/test-providers.js index 0cba5ff..74776b6 100644 --- a/test-providers.js +++ b/test-providers.js @@ -3,14 +3,10 @@ const cheerio = require("cheerio"); const fs = require("fs"); const path = require("path"); -// Load extractors and utilities +// Load utilities let providerContext; try { const { getBaseUrl } = require("./dist/getBaseUrl.js"); - const { hubcloudExtracter } = require("./dist/hubcloudExtractor.js"); - const { gofileExtracter } = require("./dist/gofileExtracter.js"); - const { superVideoExtractor } = require("./dist/superVideoExtractor.js"); - const { gdFlixExtracter } = require("./dist/gdFlixExtractor.js"); providerContext = { axios, @@ -20,17 +16,11 @@ try { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", }, - extractors: { - hubcloudExtracter, - gofileExtracter, - superVideoExtractor, - gdFlixExtracter, - }, - Crypto: {}, + Aes: {}, }; } catch (error) { console.log( - "⚠️ Could not load provider context. Run 'npm run build' first." + "⚠️ Could not load provider context. Run 'npm run build' first.", ); providerContext = null; } @@ -112,7 +102,7 @@ class ProviderTester { if (disabledProviders.length > 0) { console.log( - `\n⏭️ Skipping disabled providers: ${disabledProviders.join(", ")}` + `\n⏭️ Skipping disabled providers: ${disabledProviders.join(", ")}`, ); } @@ -181,7 +171,7 @@ class ProviderTester { // Pick a random filter const randomFilter = pickRandom(allFilters); console.log( - ` 🎲 Selected random filter: "${randomFilter.title}" (${randomFilter.filter})` + ` 🎲 Selected random filter: "${randomFilter.title}" (${randomFilter.filter})`, ); // Step 2: Test getPosts with random filter @@ -210,10 +200,10 @@ class ProviderTester { // Pick random posts to test const postsToTest = pickRandom( posts, - Math.min(this.postsToTest, posts.length) + Math.min(this.postsToTest, posts.length), ); console.log( - ` 🎲 Selected ${postsToTest.length} random posts for meta testing` + ` 🎲 Selected ${postsToTest.length} random posts for meta testing`, ); // Step 3: Test getMeta with random posts @@ -237,14 +227,14 @@ class ProviderTester { if (!meta || !meta.linkList) { console.log( - ` ⚠️ Meta returned but linkList is empty/missing` + ` ⚠️ Meta returned but linkList is empty/missing`, ); continue; } metaResults.push({ post, meta }); console.log( - ` ✅ Got meta: type=${meta.type}, links=${meta.linkList.length}` + ` ✅ Got meta: type=${meta.type}, links=${meta.linkList.length}`, ); // Show link structure @@ -255,7 +245,7 @@ class ProviderTester { console.log( ` [${i + 1}] ${link.title.substring(0, 30)} - ${ hasEpisodes ? "📺 Episodes" : "" - }${hasDirectLinks ? "🎬 Direct" : ""}` + }${hasDirectLinks ? "🎬 Direct" : ""}`, ); }); } catch (err) { @@ -296,7 +286,7 @@ class ProviderTester { if (episodesModule && episodesModule.getEpisodes) { const testEpisodeLink = pickRandom(episodeLinks); console.log( - ` 🎲 Testing episodes from: ${testEpisodeLink.link.title}` + ` 🎲 Testing episodes from: ${testEpisodeLink.link.title}`, ); console.log(` URL: ${testEpisodeLink.link.episodesLink}`); @@ -342,7 +332,7 @@ class ProviderTester { console.log( ` [${i + 1}] ${s.server} - ${ s.quality || "unknown" - } quality` + } quality`, ); }); } else { @@ -379,11 +369,11 @@ class ProviderTester { const testDirectLink = pickRandom(directLinks); const linksToTest = pickRandom( testDirectLink.link.directLinks, - Math.min(this.linksToTest, testDirectLink.link.directLinks.length) + Math.min(this.linksToTest, testDirectLink.link.directLinks.length), ); console.log( - ` 🎲 Testing ${linksToTest.length} random direct link(s)` + ` 🎲 Testing ${linksToTest.length} random direct link(s)`, ); const streamModule = this.loadModule(providerName, "stream"); @@ -414,7 +404,7 @@ class ProviderTester { console.log( ` [${i + 1}] ${s.server} - ${ s.quality || "unknown" - } quality` + } quality`, ); }); break; // One success is enough @@ -489,7 +479,7 @@ class ProviderTester { console.log( `\n ${statusIcon} Overall: ${ result.summary.failed === 0 ? "PASSED" : "FAILED" - }` + }`, ); return result; @@ -529,7 +519,7 @@ class ProviderTester { } } catch (error) { console.log( - `\n❌ Critical error testing ${provider}: ${error.message}` + `\n❌ Critical error testing ${provider}: ${error.message}`, ); failed++; results[provider] = { error: error.message };