fix: Add common headers to fetch requests in getStream function

This commit is contained in:
Himanshu
2025-11-02 16:55:52 +05:30
parent 6fe8ee24ab
commit ac79ec2629
2 changed files with 17 additions and 6 deletions

View File

@@ -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; "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;

View File

@@ -10,7 +10,7 @@ export const getStream = async function ({
providerContext: ProviderContext; providerContext: ProviderContext;
}): Promise<Stream[]> { }): Promise<Stream[]> {
try { try {
const { axios, cheerio, extractors } = providerContext; const { axios, cheerio, extractors, commonHeaders } = providerContext;
const { superVideoExtractor } = extractors; const { superVideoExtractor } = extractors;
async function ExtractGuardahd({ async function ExtractGuardahd({
imdb, // type, // season, imdb, // type, // season,
@@ -39,10 +39,16 @@ export const getStream = async function ({
const controller2 = new AbortController(); const controller2 = new AbortController();
const signal2 = controller2.signal; const signal2 = controller2.signal;
setTimeout(() => controller2.abort(), 4000); 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(); const data = await res2.text();
// console.log('mostraguarda data:', data); console.log("mostraguarda data:", data);
const streamUrl = await superVideoExtractor(data); const streamUrl = await superVideoExtractor(data);
console.log("superStreamUrl:", streamUrl);
return streamUrl; return streamUrl;
} catch (err) { } catch (err) {
console.error("Error in GetMostraguardaStram:", err); console.error("Error in GetMostraguardaStram:", err);
@@ -73,7 +79,7 @@ export const getStream = async function ({
const html = res.data; const html = res.data;
const $ = cheerio.load(html); const $ = cheerio.load(html);
const superVideoUrl = $('li:contains("supervideo")').attr("data-link"); const superVideoUrl = $('li:contains("supervideo")').attr("data-link");
console.log("superVideoUrl:", superVideoUrl); // console.log("superVideoUrl:", superVideoUrl);
if (!superVideoUrl) { if (!superVideoUrl) {
return null; return null;
@@ -81,7 +87,12 @@ export const getStream = async function ({
const controller2 = new AbortController(); const controller2 = new AbortController();
const signal2 = controller2.signal; const signal2 = controller2.signal;
setTimeout(() => controller2.abort(), 4000); 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(); const data = await res2.text();
// console.log('mostraguarda data:', data); // console.log('mostraguarda data:', data);
const streamUrl = await superVideoExtractor(data); const streamUrl = await superVideoExtractor(data);