From 298ac965588e7a1fbc830586309cdb60c5b9efdc Mon Sep 17 00:00:00 2001 From: WebStreamr <210764791+webstreamr@users.noreply.github.com> Date: Tue, 7 Oct 2025 11:39:47 +0000 Subject: [PATCH] fix(extractor): do not pass referer for Uqload MFP requests deals with error_wrong_ip responses we got before --- src/extractor/Uqload.ts | 6 ++---- ...oad.netpercent2Fz0xbr87oz637.htmlandredirect_streamtrue} | 0 src/extractor/__snapshots__/Uqload.test.ts.snap | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) rename src/extractor/__fixtures__/Uqload/{head-https:mediaflow.test.orgextractorvideohostUqloadandapi_passwordtestanddhttpspercent3Apercent2Fpercent2Fuqload.netpercent2Fz0xbr87oz637.htmlandh_refererhttpspercent3Apercent2Fpercent2Fuqload.netpercent2Fz0xbr87oz637.htmlandredirect_streamtrue => head-https:mediaflow.test.orgextractorvideohostUqloadandapi_passwordtestanddhttpspercent3Apercent2Fpercent2Fuqload.netpercent2Fz0xbr87oz637.htmlandredirect_streamtrue} (100%) diff --git a/src/extractor/Uqload.ts b/src/extractor/Uqload.ts index e01a12e..f8b3413 100644 --- a/src/extractor/Uqload.ts +++ b/src/extractor/Uqload.ts @@ -21,9 +21,7 @@ export class Uqload extends Extractor { } protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise { - const headers = { Referer: meta.referer ?? url.href }; - - const html = await this.fetcher.text(ctx, url, { headers }); + const html = await this.fetcher.text(ctx, url); if (/File Not Found/.test(html)) { throw new NotFoundError(); @@ -34,7 +32,7 @@ export class Uqload extends Extractor { const $ = cheerio.load(html); const title = $('h1').text().trim(); - const mp4Url = buildMediaFlowProxyExtractorRedirectUrl(ctx, 'Uqload', url, headers); + const mp4Url = buildMediaFlowProxyExtractorRedirectUrl(ctx, 'Uqload', url); return [ { diff --git a/src/extractor/__fixtures__/Uqload/head-https:mediaflow.test.orgextractorvideohostUqloadandapi_passwordtestanddhttpspercent3Apercent2Fpercent2Fuqload.netpercent2Fz0xbr87oz637.htmlandh_refererhttpspercent3Apercent2Fpercent2Fuqload.netpercent2Fz0xbr87oz637.htmlandredirect_streamtrue b/src/extractor/__fixtures__/Uqload/head-https:mediaflow.test.orgextractorvideohostUqloadandapi_passwordtestanddhttpspercent3Apercent2Fpercent2Fuqload.netpercent2Fz0xbr87oz637.htmlandredirect_streamtrue similarity index 100% rename from src/extractor/__fixtures__/Uqload/head-https:mediaflow.test.orgextractorvideohostUqloadandapi_passwordtestanddhttpspercent3Apercent2Fpercent2Fuqload.netpercent2Fz0xbr87oz637.htmlandh_refererhttpspercent3Apercent2Fpercent2Fuqload.netpercent2Fz0xbr87oz637.htmlandredirect_streamtrue rename to src/extractor/__fixtures__/Uqload/head-https:mediaflow.test.orgextractorvideohostUqloadandapi_passwordtestanddhttpspercent3Apercent2Fpercent2Fuqload.netpercent2Fz0xbr87oz637.htmlandredirect_streamtrue diff --git a/src/extractor/__snapshots__/Uqload.test.ts.snap b/src/extractor/__snapshots__/Uqload.test.ts.snap index 99eb599..7bb9e83 100644 --- a/src/extractor/__snapshots__/Uqload.test.ts.snap +++ b/src/extractor/__snapshots__/Uqload.test.ts.snap @@ -15,7 +15,7 @@ exports[`Uqload uqload.net /embed- 1`] = ` }, "sourceId": "uqload_", "ttl": 900000, - "url": "https://mediaflow.test.org/extractor/video?host=Uqload&api_password=test&d=https%3A%2F%2Fuqload.net%2Fz0xbr87oz637.html&h_referer=https%3A%2F%2Fuqload.net%2Fz0xbr87oz637.html&redirect_stream=true", + "url": "https://mediaflow.test.org/extractor/video?host=Uqload&api_password=test&d=https%3A%2F%2Fuqload.net%2Fz0xbr87oz637.html&redirect_stream=true", }, ] `;