mirror of
https://github.com/vega-org/vega-providers.git
synced 2026-04-17 23:51:44 +00:00
1 line
3.9 KiB
JavaScript
1 line
3.9 KiB
JavaScript
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);desc&&!("get"in desc?!m.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=this&&this.__importStar||function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o){var ar=[];for(var k in o)Object.prototype.hasOwnProperty.call(o,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(null!=mod)for(var k=ownKeys(mod),i=0;i<k.length;i++)"default"!==k[i]&&__createBinding(result,mod,k[i]);return __setModuleDefault(result,mod),result}}(),__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())})},__importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.hubcloudExtracter=hubcloudExtracter;const axios_1=__importDefault(require("axios")),cheerio=__importStar(require("cheerio")),headers_1=require("./headers"),decode=function(value){return void 0===value?"":atob(value.toString())};function hubcloudExtracter(link,signal){return __awaiter(this,void 0,void 0,function*(){var _a,_b,_c,_d,_e;try{const baseUrl=link.split("/").slice(0,3).join("/"),streamLinks=[],vLinkText=(yield(0,axios_1.default)(`${link}`,{headers:headers_1.headers,signal:signal})).data,$vLink=cheerio.load(vLinkText),vLinkRedirect=vLinkText.match(/var\s+url\s*=\s*'([^']+)';/)||[];let vcloudLink=decode(null===(_b=null===(_a=vLinkRedirect[1])||void 0===_a?void 0:_a.split("r="))||void 0===_b?void 0:_b[1])||vLinkRedirect[1]||$vLink(".fa-file-download.fa-lg").parent().attr("href")||link;(null==vcloudLink?void 0:vcloudLink.startsWith("/"))&&(vcloudLink=`${baseUrl}${vcloudLink}`);const vcloudRes=yield fetch(vcloudLink,{headers:headers_1.headers,signal:signal,redirect:"follow"}),$=cheerio.load(yield vcloudRes.text()),linkClass=$(".btn-success.btn-lg.h6,.btn-danger,.btn-secondary");for(const element of linkClass){let link=$(element).attr("href")||"";if((null==link?void 0:link.includes(".dev"))&&!(null==link?void 0:link.includes("/?id="))&&streamLinks.push({server:"Cf Worker",link:link,type:"mkv"}),null==link?void 0:link.includes("pixeld")){if(!(null==link?void 0:link.includes("api"))){const token=link.split("/").pop(),baseUrl=link.split("/").slice(0,-2).join("/");link=`${baseUrl}/api/file/${token}?download`}streamLinks.push({server:"Pixeldrain",link:link,type:"mkv"})}if((null==link?void 0:link.includes("hubcloud"))||(null==link?void 0:link.includes("/?id=")))try{const newLink=(null===(_e=null===(_d=null===(_c=(yield axios_1.default.head(link,{headers:headers_1.headers,signal:signal})).request)||void 0===_c?void 0:_c.responseURL)||void 0===_d?void 0:_d.split("link="))||void 0===_e?void 0:_e[1])||link;streamLinks.push({server:"hubcloud",link:newLink,type:"mkv"})}catch(error){}(null==link?void 0:link.includes("cloudflarestorage"))&&streamLinks.push({server:"CfStorage",link:link,type:"mkv"}),(null==link?void 0:link.includes("fastdl"))&&streamLinks.push({server:"FastDl",link:link,type:"mkv"}),link.includes("hubcdn")&&streamLinks.push({server:"HubCdn",link:link,type:"mkv"})}return streamLinks}catch(error){return[]}})} |