mirror of
https://github.com/vega-org/vega-providers.git
synced 2026-04-17 15:41:45 +00:00
1 line
3.6 KiB
JavaScript
1 line
3.6 KiB
JavaScript
"use strict";var __awaiter=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(o,r){function a(e){try{d(n.next(e))}catch(e){r(e)}}function l(e){try{d(n.throw(e))}catch(e){r(e)}}function d(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(a,l)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0,exports.getRiveStream=getRiveStream;const getStream=e=>__awaiter(void 0,[e],void 0,function*({link:e,type:t,providerContext:i}){try{const n=[],{imdbId:o,season:r,episode:a,title:l,tmdbId:d,year:s}=JSON.parse(e);return yield getRiveStream(d,a,r,t,n,i),n}catch(e){return[]}});function getRiveStream(e,t,i,n,o,r){return __awaiter(this,void 0,void 0,function*(){const a=generateSecretKey(Number(e)),l=yield r.getBaseUrl("rive"),d=process.env.CORS_PRXY?process.env.CORS_PRXY+"?url=":"",s="series"===n?`/api/backendfetch?requestID=tvVideoProvider&id=${e}&season=${i}&episode=${t}&secretKey=${a}&service=`:`/api/backendfetch?requestID=movieVideoProvider&id=${e}&secretKey=${a}&service=`,c=d?d+encodeURIComponent(l+s):l+s;yield Promise.all(["flowcast","shadow","asiacloud","hindicast","anime","animez","guard","curve","hq","ninja","alpha","kaze","zenesis","genesis","zenith","ghost","halo","kinoecho","ee3","volt","putafilme","ophim","kage"].map(e=>__awaiter(this,void 0,void 0,function*(){var t,i,n,a,l,d;try{const s=yield r.axios.get(c+e,{timeout:4e3,headers:r.commonHeaders}),u=[];(null===(i=null===(t=s.data)||void 0===t?void 0:t.data)||void 0===i?void 0:i.captions)&&(null===(a=null===(n=s.data)||void 0===n?void 0:n.data)||void 0===a||a.captions.forEach(e=>{var t,i;u.push({language:(null===(t=null==e?void 0:e.label)||void 0===t?void 0:t.slice(0,2))||"Und",uri:null==e?void 0:e.file,title:(null==e?void 0:e.label)||"Undefined",type:(null===(i=null==e?void 0:e.file)||void 0===i?void 0:i.endsWith(".vtt"))?"text/vtt":"application/x-subrip"})})),null===(d=null===(l=s.data)||void 0===l?void 0:l.data)||void 0===d||d.sources.forEach(e=>{o.push({server:(null==e?void 0:e.source)+"-"+(null==e?void 0:e.quality),link:null==e?void 0:e.url,type:"hls"===(null==e?void 0:e.format)?"m3u8":"mp4",quality:null==e?void 0:e.quality,subtitles:u})})}catch(e){}})))})}function generateSecretKey(e){const t=["Yhv40uKAZa","nn8YU4yBA","uNeH","ehK","jT0","n5G","99R","MvB1M","DQtPCh","GBRjk4k4I","CzIOoa95UT","BLE8s","GDZlc7","Fz45T","JW6lWn","DE3g4uw0i","18KxmYizv","8ji","JUDdNMnZ","oGpBippPgm","7De8Pg","Zv6","VHT9TVN","bYH6m","aK1","WcWH6jU","Q47YEMi4k","vRD3A","CGOsfJO","BLn8","RgK0drv7l","oPTfGCn3a","MkpMDkttW9","VNI1fPM","XNFi6","6cq","4LvTksXoEI","1rRa2KOZB0","zoOGRb8HT2","mhcXDtvz","NUmexFY2Ur","6BIMdvSZ","Tr0zU2vjRd","QPR","fhOqJR","R9VnFY","xkZ99D6S","umY7E","5Ds8qyDq","Cc6jy09y3","yvU3iR","Bg07zY","GccECglg","VYd","6vOiXqz","7xX","UdRrbEzF","fE6wc","BUd25Rb","lxq5Zum89o"];if(void 0===e)return"rive";try{let i,n;const o=String(e),r=btoa(function(e){const t=String(e);let i=3735928559^t.length;for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n^=131*(e+31)&255,i=668265261*(i=(i<<7|i>>>25)>>>0^n)>>>0}return i^=i>>>16,i=2246822507*i>>>0,i^=i>>>13,i=3266489909*i>>>0,(i^=i>>>16).toString(16).padStart(8,"0")}(function(e){e=String(e);let t=0;for(let i=0;i<e.length;i++){const n=e.charCodeAt(i);t=(n+(t<<6)+(t<<16)-t^n<<i%5)>>>0}return t^=t>>>13,t=1540483477*t>>>0,(t^=t>>>15).toString(16).padStart(8,"0")}(o)));if(isNaN(Number(e))){const e=o.split("").reduce((e,t)=>e+t.charCodeAt(0),0);i=t[e%t.length]||btoa(o),n=Math.floor(e%r.length/2)}else{const a=Number(e);i=t[a%t.length]||btoa(o),n=Math.floor(a%r.length/2)}return r.slice(0,n)+i+r.slice(n)}catch(e){return"topSecret"}}exports.getStream=getStream; |