From a126707fb77ae61a200d94e3b810b79b14a1169d Mon Sep 17 00:00:00 2001 From: Shisuys Date: Sat, 1 Feb 2025 19:54:31 -0300 Subject: [PATCH] Update mediafire.ts --- src/main/services/hosters/mediafire.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/services/hosters/mediafire.ts b/src/main/services/hosters/mediafire.ts index 9913ecee..df63a263 100644 --- a/src/main/services/hosters/mediafire.ts +++ b/src/main/services/hosters/mediafire.ts @@ -6,7 +6,7 @@ export class MediafireApi { private static readonly validMediafirePreDL = /(?<=['"])(https?:)?(\/\/)?(www\.)?mediafire\.com\/(file|view|download)\/[^'"?]+\?dkey=[^'"]+(?=['"])/; private static readonly validDynamicDL = - /(?<=['"])https?:\/\/download[0-9]+\.mediafire\.com\/[^'"]+(?=['"])/; + /(?<=['"])https?:\/\/download\d+\.mediafire\.com\/[^'"]+(?=['"])/; private static readonly checkHTTP = /^https?:\/\//m; public static async getDownloadUrl(mediafireUrl: string): Promise { @@ -19,7 +19,7 @@ export class MediafireApi { if (!response.ok) throw new Error("Failed to fetch Mediafire page"); const html = await response.text(); - return this.extractDirectUrl(html, processedUrl); + return this.extractDirectUrl(html); } catch (error) { throw new Error(`Failed to get download URL: ${error.message}`); } @@ -42,14 +42,14 @@ export class MediafireApi { } private static extractDirectUrl(html: string): string { - const preUrls = html.match(this.validMediafirePreDL); - if (preUrls && preUrls[0]) { - return preUrls[0]; + const preMatch = this.validMediafirePreDL.exec(html); + if (preMatch?.[0]) { + return preMatch[0]; } - const dlUrls = html.match(this.validDynamicDL); - if (dlUrls && dlUrls[0]) { - return dlUrls[0]; + const dlMatch = this.validDynamicDL.exec(html); + if (dlMatch?.[0]) { + return dlMatch[0]; } throw new Error("No valid download links found");