fix: update HubDrive to HubCloud in meta and stream functions; bump version to 1.7 in manifest

This commit is contained in:
Himanshu
2026-01-18 14:45:24 +05:30
parent f3ef54c713
commit de86bd2476
5 changed files with 16 additions and 12 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.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio,getBaseUrl:getBaseUrl}=providerContext,url=`${yield getBaseUrl("4khdhub")}${link}`,data=(yield axios.get(url)).data,$=cheerio.load(data),type=$(".season-content").length>0?"series":"movie",imdbId="",title=$(".page-title").text()||"",image=$(".poster-image").find("img").attr("src")||"",synopsis=$(".content-section").find("p").first().text().trim()||"",links=[];return"series"===type?$(".season-item").map((i,element)=>{const title=$(element).find(".episode-title").text();let directLinks=[];$(element).find(".episode-download-item").map((i,element)=>{const title=$(element).find(".episode-file-info").text().trim().replace("\n"," "),link=$(element).find(".episode-links").find("a:contains('HubDrive')").attr("href");title&&link&&directLinks.push({title:title,link:link})}),title&&directLinks.length>0&&links.push({title:title,directLinks:directLinks})}):$(".download-item").map((i,element)=>{const title=$(element).find(".flex-1.text-left.font-semibold").text().trim(),link=$(element).find(".grid.grid-cols-2.gap-2").find("a:contains('HubDrive')").attr("href");title&&link&&links.push({title:title,directLinks:[{title:title,link:link}]})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta;
"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.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio,getBaseUrl:getBaseUrl}=providerContext,url=`${yield getBaseUrl("4khdhub")}${link}`,data=(yield axios.get(url)).data,$=cheerio.load(data),type=$(".season-content").length>0?"series":"movie",imdbId="",title=$(".page-title").text()||"",image=$(".poster-image").find("img").attr("src")||"",synopsis=$(".content-section").find("p").first().text().trim()||"",links=[];return"series"===type?$(".season-item").map((i,element)=>{const title=$(element).find(".episode-title").text();let directLinks=[];$(element).find(".episode-download-item").map((i,element)=>{const title=$(element).find(".episode-file-info").text().trim().replace("\n"," "),link=$(element).find(".episode-links").find("a:contains('HubCloud')").attr("href");title&&link&&directLinks.push({title:title,link:link})}),title&&directLinks.length>0&&links.push({title:title,directLinks:directLinks})}):$(".download-item").map((i,element)=>{const title=$(element).find(".flex-1.text-left.font-semibold").text().trim(),link=$(element).find(".grid.grid-cols-2.gap-2").find("a:contains('HubCloud')").attr("href");title&&link&&links.push({title:title,directLinks:[{title:title,link:link}]})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta;

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())})};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,signal:signal,providerContext:providerContext}){var _b,_c,_d,_e;const{axios:axios,cheerio:cheerio,extractors:extractors,commonHeaders:headers}=providerContext,{hubcloudExtracter:hubcloudExtracter}=extractors;let hubdriveLink="";if(link.includes("hubdrive")){const hubdriveText=(yield axios.get(link,{headers:headers,signal:signal})).data;hubdriveLink=cheerio.load(hubdriveText)(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href")||link}else{const decodedString=decodeString(null===(_d=null===(_c=null===(_b=(yield axios.get(link,{headers:headers,signal:signal})).data.split("s('o','"))||void 0===_b?void 0:_b[1])||void 0===_c?void 0:_c.split("',180"))||void 0===_d?void 0:_d[0]);link=atob(null==decodedString?void 0:decodedString.o);const redirectLink=yield getRedirectLinks(link,signal,headers),redirectLinkText=(yield axios.get(redirectLink,{headers:headers,signal:signal})).data;if(hubdriveLink=cheerio.load(redirectLinkText)('h3:contains("1080p")').find("a").attr("href")||redirectLinkText.match(/href="(https:\/\/hubcloud\.[^\/]+\/drive\/[^"]+)"/)[1],hubdriveLink.includes("hubdrive")){const hubdriveText=(yield axios.get(hubdriveLink,{headers:headers,signal:signal})).data;hubdriveLink=cheerio.load(hubdriveText)(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href")||hubdriveLink}}const hubcloudLink=(null===(_e=(yield axios.get(hubdriveLink,{headers:headers,signal:signal})).data.match(/<META HTTP-EQUIV="refresh" content="0; url=([^"]+)">/i))||void 0===_e?void 0:_e[1])||hubdriveLink;try{return yield hubcloudExtracter(hubcloudLink,signal)}catch(error){return[]}})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=getStream,exports.getRedirectLinks=getRedirectLinks,exports.decodeString=decodeString;const encode=function(value){return btoa(value.toString())},decode=function(value){return void 0===value?"":atob(value.toString())},pen=function(value){return value.replace(/[a-zA-Z]/g,function(_0x1a470e){return String.fromCharCode((_0x1a470e<="Z"?90:122)>=(_0x1a470e=_0x1a470e.charCodeAt(0)+13)?_0x1a470e:_0x1a470e-26)})},abortableTimeout=(ms,{signal:signal}={})=>new Promise((resolve,reject)=>{if(signal&&signal.aborted)return reject(new Error("Aborted"));const timer=setTimeout(resolve,ms);signal&&signal.addEventListener("abort",()=>{clearTimeout(timer),reject(new Error("Aborted"))})});function getRedirectLinks(link,signal,headers){return __awaiter(this,void 0,void 0,function*(){try{const res=yield fetch(link,{headers:headers,signal:signal}),resText=yield res.text();for(var match,regex=/ck\('_wp_http_\d+','([^']+)'/g,combinedString="";null!==(match=regex.exec(resText));)combinedString+=match[1];const decodedString=decode(pen(decode(decode(combinedString)))),data=JSON.parse(decodedString),token=encode(null==data?void 0:data.data),blogLink=(null==data?void 0:data.wp_http1)+"?re="+token;let wait=abortableTimeout(1e3*(Number(null==data?void 0:data.total_time)+3),{signal:signal});yield wait;let vcloudLink="Invalid Request";for(;vcloudLink.includes("Invalid Request");){const blogRes=yield fetch(blogLink,{headers:headers,signal:signal}),blogResText=yield blogRes.text();if(!blogResText.includes("Invalid Request")){vcloudLink=blogResText.match(/var reurl = "([^"]+)"/)||"";break}}return blogLink||link}catch(err){return link}})}function rot13(str){return str.replace(/[a-zA-Z]/g,function(char){const charCode=char.charCodeAt(0),baseCharCode=char<="Z"?65:97;return String.fromCharCode((charCode-baseCharCode+13)%26+baseCharCode)})}function decodeString(encryptedString){try{let decoded=atob(encryptedString);return decoded=atob(decoded),decoded=rot13(decoded),decoded=atob(decoded),JSON.parse(decoded)}catch(error){return null}}
"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())})};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,signal:signal,providerContext:providerContext}){var _b,_c,_d,_e;const{axios:axios,cheerio:cheerio,extractors:extractors,commonHeaders:headers}=providerContext,{hubcloudExtracter:hubcloudExtracter}=extractors;let hubdriveLink="";if(link.includes("hubdrive")){const hubdriveText=(yield axios.get(link,{headers:headers,signal:signal})).data;hubdriveLink=cheerio.load(hubdriveText)(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href")||link}else{const decodedString=decodeString(null===(_d=null===(_c=null===(_b=(yield axios.get(link,{headers:headers,signal:signal})).data.split("s('o','"))||void 0===_b?void 0:_b[1])||void 0===_c?void 0:_c.split("',180"))||void 0===_d?void 0:_d[0]);link=atob(null==decodedString?void 0:decodedString.o);const redirectLink=yield getRedirectLinks(link,signal,headers);if(redirectLink.includes("hubcloud")||redirectLink.includes("/drive/"))return yield hubcloudExtracter(redirectLink,signal);const redirectLinkText=(yield axios.get(redirectLink,{headers:headers,signal:signal})).data;if(hubdriveLink=cheerio.load(redirectLinkText)('h3:contains("1080p")').find("a").attr("href")||redirectLinkText.match(/href="(https:\/\/hubcloud\.[^\/]+\/drive\/[^"]+)"/)[1],hubdriveLink.includes("hubdrive")){const hubdriveText=(yield axios.get(hubdriveLink,{headers:headers,signal:signal})).data;hubdriveLink=cheerio.load(hubdriveText)(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href")||hubdriveLink}}const hubcloudLink=(null===(_e=(yield axios.get(hubdriveLink,{headers:headers,signal:signal})).data.match(/<META HTTP-EQUIV="refresh" content="0; url=([^"]+)">/i))||void 0===_e?void 0:_e[1])||hubdriveLink;try{return yield hubcloudExtracter(hubcloudLink,signal)}catch(error){return[]}})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=getStream,exports.getRedirectLinks=getRedirectLinks,exports.decodeString=decodeString;const encode=function(value){return btoa(value.toString())},decode=function(value){return void 0===value?"":atob(value.toString())},pen=function(value){return value.replace(/[a-zA-Z]/g,function(_0x1a470e){return String.fromCharCode((_0x1a470e<="Z"?90:122)>=(_0x1a470e=_0x1a470e.charCodeAt(0)+13)?_0x1a470e:_0x1a470e-26)})},abortableTimeout=(ms,{signal:signal}={})=>new Promise((resolve,reject)=>{if(signal&&signal.aborted)return reject(new Error("Aborted"));const timer=setTimeout(resolve,ms);signal&&signal.addEventListener("abort",()=>{clearTimeout(timer),reject(new Error("Aborted"))})});function getRedirectLinks(link,signal,headers){return __awaiter(this,void 0,void 0,function*(){try{const res=yield fetch(link,{headers:headers,signal:signal}),resText=yield res.text();for(var match,regex=/ck\('_wp_http_\d+','([^']+)'/g,combinedString="";null!==(match=regex.exec(resText));)combinedString+=match[1];const decodedString=decode(pen(decode(decode(combinedString)))),data=JSON.parse(decodedString),token=encode(null==data?void 0:data.data),blogLink=(null==data?void 0:data.wp_http1)+"?re="+token;let wait=abortableTimeout(1e3*(Number(null==data?void 0:data.total_time)+3),{signal:signal});yield wait;let vcloudLink="Invalid Request";for(;vcloudLink.includes("Invalid Request");){const blogRes=yield fetch(blogLink,{headers:headers,signal:signal}),blogResText=yield blogRes.text();if(!blogResText.includes("Invalid Request")){vcloudLink=blogResText.match(/var reurl = "([^"]+)"/)||"";break}}return blogLink||link}catch(err){return link}})}function rot13(str){return str.replace(/[a-zA-Z]/g,function(char){const charCode=char.charCodeAt(0),baseCharCode=char<="Z"?65:97;return String.fromCharCode((charCode-baseCharCode+13)%26+baseCharCode)})}function decodeString(encryptedString){try{let decoded=atob(encryptedString);return decoded=atob(decoded),decoded=rot13(decoded),decoded=atob(decoded),JSON.parse(decoded)}catch(error){return null}}