From c610a995c2e4b8f397f5b6af05b46695c3305453 Mon Sep 17 00:00:00 2001 From: WebStreamr <210764791+webstreamr@users.noreply.github.com> Date: Mon, 6 Oct 2025 08:23:04 +0000 Subject: [PATCH] chore(extractor): work around VidSrc blocking by generating random IPs --- src/extractor/VidSrc.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/extractor/VidSrc.ts b/src/extractor/VidSrc.ts index 2ffa4cb..3a7809f 100644 --- a/src/extractor/VidSrc.ts +++ b/src/extractor/VidSrc.ts @@ -25,7 +25,11 @@ export class VidSrc extends Extractor { } protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise { - return this.extractUsingRandomTld(ctx, url, meta, [...this.tlds]); + // While this is a crappy thing to do, they seem to be blocking overly strict IMO + const randomIp = `${Math.floor(Math.random() * 223) + 1}.${Math.floor(Math.random() * 256)}.${Math.floor(Math.random() * 256)}.${Math.floor(Math.random() * 256)}`; + const newCtx = { ...ctx, ip: randomIp }; + + return this.extractUsingRandomTld(newCtx, url, meta, [...this.tlds]); }; private async extractUsingRandomTld(ctx: Context, url: URL, meta: Meta, tlds: string[]): Promise {