From ac79ec2629f4943be5e1a13d9da0cc8370bfb3b8 Mon Sep 17 00:00:00 2001 From: Himanshu Date: Sun, 2 Nov 2025 16:55:52 +0530 Subject: [PATCH] fix: Add common headers to fetch requests in getStream function --- dist/guardahd/stream.js | 2 +- providers/guardahd/stream.ts | 21 ++++++++++++++++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/dist/guardahd/stream.js b/dist/guardahd/stream.js index febdfad..365210b 100644 --- a/dist/guardahd/stream.js +++ b/dist/guardahd/stream.js @@ -1 +1 @@ -"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,type:type,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio,extractors:extractors}=providerContext,{superVideoExtractor:superVideoExtractor}=extractors;function ExtractGuardahd(_a){return __awaiter(this,arguments,void 0,function*({imdb:imdb}){try{const url="https://guardahd.stream"+("/set-movie-a/"+imdb),html=(yield axios.get(url,{timeout:4e3})).data,superVideoUrl=cheerio.load(html)('li:contains("supervideo")').attr("data-link");if(!superVideoUrl)return null;const controller2=new AbortController,signal2=controller2.signal;setTimeout(()=>controller2.abort(),4e3);const res2=yield fetch("https:"+superVideoUrl,{signal:signal2}),data=yield res2.text();return yield superVideoExtractor(data)}catch(err){}})}function GetMostraguardaStream(_a){return __awaiter(this,arguments,void 0,function*({imdb:imdb,type:type,season:season,episode:episode}){try{const url="https://mostraguarda.stream"+("tv"===type?`/serie/${imdb}/${season}/${episode}`:`/movie/${imdb}`),html=(yield axios(url,{timeout:4e3})).data,superVideoUrl=cheerio.load(html)('li:contains("supervideo")').attr("data-link");if(!superVideoUrl)return null;const controller2=new AbortController,signal2=controller2.signal;setTimeout(()=>controller2.abort(),4e3);const res2=yield fetch("https:"+superVideoUrl,{signal:signal2}),data=yield res2.text();return yield superVideoExtractor(data)}catch(err){}})}const streams=[],[imdbId,season,episode]=id.split("-"),mostraguardaStream=yield GetMostraguardaStream({imdb:imdbId,type:type,season:season,episode:episode});mostraguardaStream&&streams.push({server:"Supervideo 1",link:mostraguardaStream,type:"m3u8"});const guardahdStream=yield ExtractGuardahd({imdb:imdbId,type:type,season:season,episode:episode});return guardahdStream&&streams.push({server:"Supervideo 2",link:guardahdStream,type:"m3u8"}),streams}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file +"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,type:type,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio,extractors:extractors,commonHeaders:commonHeaders}=providerContext,{superVideoExtractor:superVideoExtractor}=extractors;function ExtractGuardahd(_a){return __awaiter(this,arguments,void 0,function*({imdb:imdb}){try{const url="https://guardahd.stream"+("/set-movie-a/"+imdb),html=(yield axios.get(url,{timeout:4e3})).data,superVideoUrl=cheerio.load(html)('li:contains("supervideo")').attr("data-link");if(!superVideoUrl)return null;const controller2=new AbortController,signal2=controller2.signal;setTimeout(()=>controller2.abort(),4e3);const res2=yield fetch("https:"+superVideoUrl,{signal:signal2,headers:Object.assign({},commonHeaders)}),data=yield res2.text();return yield superVideoExtractor(data)}catch(err){}})}function GetMostraguardaStream(_a){return __awaiter(this,arguments,void 0,function*({imdb:imdb,type:type,season:season,episode:episode}){try{const url="https://mostraguarda.stream"+("tv"===type?`/serie/${imdb}/${season}/${episode}`:`/movie/${imdb}`),html=(yield axios(url,{timeout:4e3})).data,superVideoUrl=cheerio.load(html)('li:contains("supervideo")').attr("data-link");if(!superVideoUrl)return null;const controller2=new AbortController,signal2=controller2.signal;setTimeout(()=>controller2.abort(),4e3);const res2=yield fetch("https:"+superVideoUrl,{signal:signal2,headers:Object.assign({},commonHeaders)}),data=yield res2.text();return yield superVideoExtractor(data)}catch(err){}})}const streams=[],[imdbId,season,episode]=id.split("-"),mostraguardaStream=yield GetMostraguardaStream({imdb:imdbId,type:type,season:season,episode:episode});mostraguardaStream&&streams.push({server:"Supervideo 1",link:mostraguardaStream,type:"m3u8"});const guardahdStream=yield ExtractGuardahd({imdb:imdbId,type:type,season:season,episode:episode});return guardahdStream&&streams.push({server:"Supervideo 2",link:guardahdStream,type:"m3u8"}),streams}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/providers/guardahd/stream.ts b/providers/guardahd/stream.ts index 927c8ac..2629ffa 100644 --- a/providers/guardahd/stream.ts +++ b/providers/guardahd/stream.ts @@ -10,7 +10,7 @@ export const getStream = async function ({ providerContext: ProviderContext; }): Promise { try { - const { axios, cheerio, extractors } = providerContext; + const { axios, cheerio, extractors, commonHeaders } = providerContext; const { superVideoExtractor } = extractors; async function ExtractGuardahd({ imdb, // type, // season, @@ -39,10 +39,16 @@ export const getStream = async function ({ const controller2 = new AbortController(); const signal2 = controller2.signal; setTimeout(() => controller2.abort(), 4000); - const res2 = await fetch("https:" + superVideoUrl, { signal: signal2 }); + const res2 = await fetch("https:" + superVideoUrl, { + signal: signal2, + headers: { + ...commonHeaders, + }, + }); const data = await res2.text(); - // console.log('mostraguarda data:', data); + console.log("mostraguarda data:", data); const streamUrl = await superVideoExtractor(data); + console.log("superStreamUrl:", streamUrl); return streamUrl; } catch (err) { console.error("Error in GetMostraguardaStram:", err); @@ -73,7 +79,7 @@ export const getStream = async function ({ const html = res.data; const $ = cheerio.load(html); const superVideoUrl = $('li:contains("supervideo")').attr("data-link"); - console.log("superVideoUrl:", superVideoUrl); + // console.log("superVideoUrl:", superVideoUrl); if (!superVideoUrl) { return null; @@ -81,7 +87,12 @@ export const getStream = async function ({ const controller2 = new AbortController(); const signal2 = controller2.signal; setTimeout(() => controller2.abort(), 4000); - const res2 = await fetch("https:" + superVideoUrl, { signal: signal2 }); + const res2 = await fetch("https:" + superVideoUrl, { + signal: signal2, + headers: { + ...commonHeaders, + }, + }); const data = await res2.text(); // console.log('mostraguarda data:', data); const streamUrl = await superVideoExtractor(data);