UNPKG

nurlresolver

Version:
42 lines 1.5 kB
import { BaseUrlResolver } from "../BaseResolver.js"; export class StreamlareResolver extends BaseUrlResolver { constructor() { super({ domains: [/https?:\/\/streamlare/], useCookies: true, speedRank: 75 }); } async resolveInner(_urlToResolve) { const response1 = await this.gotInstance(_urlToResolve); const { fileEmbed } = this.scrapeHtml(response1.body, { fileEmbed: { selector: 'file-embed', attr: ':file' } }); const title = `${JSON.parse(fileEmbed).name}.mp4`; const jsontopost = { id: JSON.parse(fileEmbed).hashid }; const u1 = new URL('/api/video/get', _urlToResolve); const response2 = await this.gotInstance.post(u1.href, { json: jsontopost, resolveBodyOnly: true }); const result = JSON.parse(response2); if (result.status == 'success') { const link = decryptString(result.result['Original'].src); return { link, title, isPlayable: true }; } return []; } } const decryptString = (s) => { const encodedString = Buffer.from(s, 'base64').toString('binary'); //atob let result = ''; for (let i = 0; i < encodedString.length; i++) { const tempResult = 51 ^ encodedString.charCodeAt(i); result += String.fromCharCode(tempResult); } return result; }; //# sourceMappingURL=streamlare.js.map