all-downloader
Version:
Download your favorite videos from online websites with ease
2 lines (1 loc) • 1.89 kB
JavaScript
;var d=Object.create;var n=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var m=(t,a)=>{for(var e in a)n(t,e,{get:a[e],enumerable:!0})},l=(t,a,e,r)=>{if(a&&typeof a=="object"||typeof a=="function")for(let i of h(a))!y.call(t,i)&&i!==e&&n(t,i,{get:()=>a[i],enumerable:!(r=w(a,i))||r.enumerable});return t};var v=(t,a,e)=>(e=t!=null?d(u(t)):{},l(a||!t||!t.__esModule?n(e,"default",{value:t,enumerable:!0}):e,t)),f=t=>l(n({},"__esModule",{value:!0}),t);var g={};m(g,{AllDownloader:()=>s,parse:()=>k});module.exports=f(g);var p=require("uuid"),c=v(require("crypto-js"),1),s=class t{activationKey="";apiToken="";constructor(){}static async createInstance(){let a=new t;return await a.initialize(),a}async initialize(){let a=await this.generateApiKey();if(!a)throw new Error("Failed to initialize All Downloader library.");this.apiToken=a.api_token,this.activationKey=a.activation_key}async generateApiKey(){try{let e=await(await fetch("https://snapdownloader.com/api/v6/licenses/trial",{body:new URLSearchParams({uuid:c.default.MD5((0,p.v7)()).toString(c.default.enc.Hex),tk:"F8XQUvsAtxcR8BKfA7wotRBmm",os:"win"}),method:"POST"})).json();if(!e.success)throw new Error(e.data);return e.data.data}catch(a){return console.error(a),null}}async parse(a){if(!this.isValidUrl(a))throw new Error("Invalid URL");try{let r=await(await fetch("https://snapdownloader.com/api/v6/video-info",{body:new URLSearchParams({link:a,tk:"jkxHUcfFb7NAAdbUDWR8Zh7aM",ak:this.activationKey,apk:this.apiToken}),method:"POST"})).json();if(!r.success)throw new Error(r.data);return r.data}catch(e){return console.error(e),null}}isValidUrl(a){try{return new URL(a),!0}catch{return!1}}},o;async function k(t){return o||(o=await s.createInstance()),o.parse(t)}0&&(module.exports={AllDownloader,parse});