From ffd62a5d160266f168422bf5d3f66e374f8ac140 Mon Sep 17 00:00:00 2001 From: WebStreamr <210764791+webstreamr@users.noreply.github.com> Date: Fri, 12 Sep 2025 07:10:27 +0000 Subject: [PATCH] chore(extractor): remove Referer from follow-up VidSrc requests completely --- src/extractor/VidSrc.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/extractor/VidSrc.ts b/src/extractor/VidSrc.ts index 43ac6dc..0efa13c 100644 --- a/src/extractor/VidSrc.ts +++ b/src/extractor/VidSrc.ts @@ -51,7 +51,6 @@ export class VidSrc extends Extractor { const $ = cheerio.load(html); const iframeUrl = new URL(($('#player_iframe').attr('src') as string).replace(/^\/\//, 'https://')); - const headers = { Referer: iframeUrl.origin }; const title = $('title').text().trim(); return Promise.all( @@ -60,10 +59,10 @@ export class VidSrc extends Extractor { .toArray() .filter(({ serverName }) => serverName === 'CloudStream Pro') .map(async ({ serverName, dataHash }) => { - const iframeHtml = await this.fetcher.text(ctx, new URL(`/rcp/${dataHash}`, iframeUrl.origin), { headers }); + const iframeHtml = await this.fetcher.text(ctx, new URL(`/rcp/${dataHash}`, iframeUrl.origin)); const srcMatch = iframeHtml.match(`src:\\s?'(.*)'`) as string[]; - const playerHtml = await this.fetcher.text(ctx, new URL(srcMatch[1] as string, iframeUrl.origin), { headers }); + const playerHtml = await this.fetcher.text(ctx, new URL(srcMatch[1] as string, iframeUrl.origin)); const fileMatch = playerHtml.match(`file:\\s?'(.*)'`); if (!fileMatch) { throw new NotFoundError();