UNPKG

nurlresolver

Version:
35 lines 1.32 kB
import { BaseUrlResolver } from "../BaseResolver.js"; export class CloudMailRuResolver extends BaseUrlResolver { constructor() { super({ domains: [/https?:\/\/cloud\.mail\.ru/], speedRank: 65 }); } async resolveInner(_urlToResolve) { const links = []; const response = await this.gotInstance(_urlToResolve); const regex01 = /"weblink_get":({[^}]*})/gs; const regex02 = /public\/(.*)/g; const jsonObject = regex01.exec(response.body)?.[1] || ''; const { url } = JSON.parse(jsonObject); const videoId = regex02.exec(_urlToResolve)?.[1]; if (url && videoId) { const tempLink = `${url}/${videoId}`; const headers = await this.gotInstance.head(tempLink); if (headers.statusCode === 200) { const finalLink = headers.url; const title = this.extractFileNameFromUrl(finalLink); const result = { link: finalLink, title: title, isPlayable: true }; result.headers = { 'User-Agent': this.defaultUserAgent }; links.push(result); } } return links; } } //# sourceMappingURL=cloudmailru.js.map