mirror of
https://github.com/vega-org/vega-providers.git
synced 2026-04-17 23:51:44 +00:00
1 line
3.0 KiB
JavaScript
1 line
3.0 KiB
JavaScript
"use strict";var __awaiter=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))(function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function d(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(a,d)}c((n=n.apply(e,t||[])).next())})};function getStream(e){return __awaiter(this,arguments,void 0,function*({link:e,signal:t,providerContext:r}){var n,i,o,a;const{axios:d,cheerio:c,extractors:s,commonHeaders:l}=r,{hubcloudExtracter:u}=s;let h="";if(e.includes("hubdrive")){const r=(yield d.get(e,{headers:l,signal:t})).data;h=c.load(r)(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href")||e}else{const r=decodeString(null===(o=null===(i=null===(n=(yield d.get(e,{headers:l,signal:t})).data.split("s('o','"))||void 0===n?void 0:n[1])||void 0===i?void 0:i.split("',180"))||void 0===o?void 0:o[0]);e=atob(null==r?void 0:r.o);const a=yield getRedirectLinks(e,t,l),s=(yield d.get(a,{headers:l,signal:t})).data;if(h=c.load(s)('h3:contains("1080p")').find("a").attr("href")||s.match(/href="(https:\/\/hubcloud\.[^\/]+\/drive\/[^"]+)"/)[1],h.includes("hubdrive")){const e=(yield d.get(h,{headers:l,signal:t})).data;h=c.load(e)(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href")||h}}const f=(null===(a=(yield d.get(h,{headers:l,signal:t})).data.match(/<META HTTP-EQUIV="refresh" content="0; url=([^"]+)">/i))||void 0===a?void 0:a[1])||h;try{return yield u(f,t)}catch(e){return[]}})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=getStream,exports.getRedirectLinks=getRedirectLinks,exports.decodeString=decodeString;const encode=function(e){return btoa(e.toString())},decode=function(e){return void 0===e?"":atob(e.toString())},pen=function(e){return e.replace(/[a-zA-Z]/g,function(e){return String.fromCharCode((e<="Z"?90:122)>=(e=e.charCodeAt(0)+13)?e:e-26)})},abortableTimeout=(e,{signal:t}={})=>new Promise((r,n)=>{if(t&&t.aborted)return n(new Error("Aborted"));const i=setTimeout(r,e);t&&t.addEventListener("abort",()=>{clearTimeout(i),n(new Error("Aborted"))})});function getRedirectLinks(e,t,r){return __awaiter(this,void 0,void 0,function*(){try{const a=yield fetch(e,{headers:r,signal:t}),d=yield a.text();for(var n,i=/ck\('_wp_http_\d+','([^']+)'/g,o="";null!==(n=i.exec(d));)o+=n[1];const c=decode(pen(decode(decode(o)))),s=JSON.parse(c),l=encode(null==s?void 0:s.data),u=(null==s?void 0:s.wp_http1)+"?re="+l;let h=abortableTimeout(1e3*(Number(null==s?void 0:s.total_time)+3),{signal:t});yield h;let f="Invalid Request";for(;f.includes("Invalid Request");){const e=yield fetch(u,{headers:r,signal:t}),n=yield e.text();if(!n.includes("Invalid Request")){f=n.match(/var reurl = "([^"]+)"/)||"";break}}return u||e}catch(t){return e}})}function rot13(e){return e.replace(/[a-zA-Z]/g,function(e){const t=e.charCodeAt(0),r=e<="Z"?65:97;return String.fromCharCode((t-r+13)%26+r)})}function decodeString(e){try{let t=atob(e);return t=atob(t),t=rot13(t),t=atob(t),JSON.parse(t)}catch(e){return null}} |