UNPKG

nurlresolver

Version:
30 lines 1.3 kB
import { BaseUrlResolver } from "../BaseResolver.js"; import { URL } from 'url'; export class YouruploadResolver extends BaseUrlResolver { constructor() { super({ domains: [/https?:\/\/yourupload\.com/, /https?:\/\/www\.yourupload\.com/], speedRank: 80 }); } async resolveInner(_urlToResolve) { const links = []; const mediaIdRegex = /yourupload\.com\/(watch|embed)\/([0-9A-Za-z]+)/g; const videoId = mediaIdRegex.exec(_urlToResolve)?.[2]; const normalizedUrl = `http://www.yourupload.com/embed/${videoId}`; const response = await this.gotInstance(normalizedUrl); const fileSourceRegex = /file\s*:\s*(?:'|")(.+?)(?:'|")/g; const fileLink = fileSourceRegex.exec(response.body)?.[1]; if (fileLink && !fileLink?.endsWith('novideo.mp4') && !fileLink.endsWith('watermark.png')) { const { title } = this.scrapeHtml(response.body, { title: 'title' }); const link = new URL(fileLink, normalizedUrl).href; const result = { title, link, isPlayable: true }; result.headers = { "referer": normalizedUrl }; links.push(result); } return links; } } //# sourceMappingURL=yourupload.js.map