UNPKG

nurlresolver

Version:
59 lines 1.82 kB
import { BaseUrlResolver } from "../BaseResolver.js"; import { createContext, runInContext } from 'vm'; export class HubCloudResolverV2 extends BaseUrlResolver { constructor() { super({ domains: [/https?:\/\/(hubcloud)/], speedRank: 90, useCookies: true }); } async resolveInner(_urlToResolve) { const response = await this.gotInstance(_urlToResolve); const res01 = await this.postHiddenForm(response.url, response.body); const resofres = this.scrapeHtml(res01, { output: { listItem: `script`, data: { s: { how: 'html' } } } }); let link = ''; for (const sc of resofres.output) { const context = createContext({ atob: (b64Encoded) => { return Buffer.from(b64Encoded, 'base64').toString('binary'); }, window: {}, document: { getElementById: () => { return { onclick: () => { return false; } }; } } }); try { runInContext(sc.s, context); } catch (error) { //console.log('error: ', error); } if (context.FinalURL) { link = context.FinalURL; break; } } const title = this.extractFileNameFromUrl(link); const result = { link, title, isPlayable: true }; return [result]; } } //# sourceMappingURL=hubCloudResolver-v2.js.map