UNPKG

contentapi.ts

Version:

Nodejs library that provides high-level APIs for obtaining information on various entertainment media such as books, movies, comic books, anime, manga, and so on.

59 lines 3.58 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); // filepath: /Users/mehakpreetsingh/Documents/NextJs App/anime-haven.ts/server/utils/src/extractors/kwik.ts const models_1 = require("../models"); const puppeteer_core_1 = __importDefault(require("puppeteer-core")); class Kwik extends models_1.VideoExtractor { constructor() { super(...arguments); this.serverName = 'kwik'; this.sources = []; this.host = 'https://animepahe.com'; this.extract = async (videoUrl) => { console.log("Video URL", videoUrl); let browser = null; try { console.log("Connecting to Browserless"); browser = await puppeteer_core_1.default.connect({ browserWSEndpoint: `wss://chrome.browserless.io?token=Rw70jcguA7rY5ac5d9128ec9333ea56851c6245927`, }); const page = await browser.newPage(); await page.setExtraHTTPHeaders({ Referer: this.host, Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate, br', 'Accept-Language': 'en-IN,en-GB;q=0.9,en;q=0.8', Cookie: '__ddg10_=1741881917; __ddg8_=NziYGZV9tqNLZUh2; __ddg9_=49.43.243.251; XSRF-TOKEN=eyJpdiI6InVQUG5DMjl5NklqWkhYZjM0WG9jS2c9PSIsInZhbHVlIjoiMHVqTUI1MWxnS3BoWE05SWhyNmJZVXlwelQ1V0QvQWhSSHB2N2NJNE1DOWU0bUtHTlhWRjVLelFucnF6WElEeWNwanc5RTJZanBUZ3hCc083T0NzUERXSDd4V0IzLzBDcElDdUVta3JxQkpzcXFuQUpVMjdhcS9TKzNUdXNKWWUiLCJtYWMiOiIzMjFmMWY1ZWIzMWY2NzY3NGYwNWYzNzI4NmIzZTI5NDJiMGY5ODM2M2QxMDg4ODZlYTM3ZDk2NjA1NzY3ZTUwIiwidGFnIjoiIn0%3D; laravel_session=eyJpdiI6Iml6S3lVYkVURGhGQTVRRGdwMEtOU0E9PSIsInZhbHVlIjoiS1d6ckdtVk5ueGFENCthei9YNVJkNGwyb1lqRzhLYmFzRUpXQUN6RHZjVUloeWx0bnFxZ2Jwb21XeWFhZkFkY0diZG5OTzZ3TWYvNktEc3VraU9Vdm9XVDY1UWJOeHFsME5HY0t2WVA1aDBLZFc5UVRXVjRPVkFpYlFJbG1uelYiLCJtYWMiOiJiMDliYjI2ODQ3MDU1MTc0ODAyYTNlNjgzYjM5OWFmNDBlNzQyMjY5OWVhNTg4YTU1ZDJlMGMyYWY3M2JlOGYyIiwidGFnIjoiIn0%3D; latest=5878; aud=jpn; av1=0; res=1080; __ddg1_=8lu9I4gc1uR2itnG0Ajt; __ddg2_=1RG0v5pQkKLUSJi1; __ddgid_=MPBk4n8hzifPnTHn', Priority: 'u=0, i', 'Sec-Fetch-Dest': 'document', 'Sec-Fetch-Mode': 'navigate', 'Sec-Fetch-Site': 'same-origin', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15' }); await page.goto(videoUrl.href, { waitUntil: 'networkidle2' }); const data = await page.content(); console.log("Response data:", data); const source = eval(/(eval)(\(f.*?)(\n<\/script>)/s.exec(data)[2].replace('eval', '')).match(/https.*?m3u8/); this.sources.push({ url: source[0], isM3U8: source[0].includes('.m3u8'), }); return this.sources; } catch (err) { console.error("Error making request:", err); throw new Error(err.message); } finally { if (browser !== null) { await browser.close(); } } }; } } exports.default = Kwik; //# sourceMappingURL=kwik.js.map