|
|
var __importDefault = (this && this.__importDefault) || function (mod) { |
|
|
return (mod && mod.__esModule) ? mod : { "default": mod } |
|
|
} |
|
|
Object.defineProperty(exports, "__esModule", { value: true }) |
|
|
|
|
|
const axios = require("axios") |
|
|
const cheerio = require("cheerio") |
|
|
const { resolve } = require("path") |
|
|
const util = require("util") |
|
|
let BodyForm = require('form-data') |
|
|
let { fromBuffer } = require('file-type') |
|
|
|
|
|
let fs = require('fs') |
|
|
const child_process = require('child_process') |
|
|
const ffmpeg = require('fluent-ffmpeg') |
|
|
|
|
|
const {unlink } = require ('fs').promises |
|
|
|
|
|
|
|
|
exports.sleep = async (ms) => { |
|
|
return new Promise(resolve => setTimeout(resolve, ms)); |
|
|
} |
|
|
exports.fetchJson = async (url, options) => { |
|
|
try { |
|
|
options ? options : {} |
|
|
const res = await axios({ |
|
|
method: 'GET', |
|
|
url: url, |
|
|
headers: { |
|
|
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36' |
|
|
}, |
|
|
...options |
|
|
}) |
|
|
return res.data |
|
|
} catch (err) { |
|
|
return err |
|
|
} |
|
|
} |
|
|
exports.fetchBuffer = async (url, options) => { |
|
|
try { |
|
|
options ? options : {} |
|
|
const res = await axios({ |
|
|
method: "GET", |
|
|
url, |
|
|
headers: { |
|
|
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36", |
|
|
'DNT': 1, |
|
|
'Upgrade-Insecure-Request': 1 |
|
|
}, |
|
|
...options, |
|
|
responseType: 'arraybuffer' |
|
|
}) |
|
|
return res.data |
|
|
} catch (err) { |
|
|
return err |
|
|
} |
|
|
} |
|
|
exports.webp2mp4File=async(path) =>{ |
|
|
return new Promise((resolve, reject) => { |
|
|
const form = new BodyForm() |
|
|
form.append('new-image-url', '') |
|
|
form.append('new-image', fs.createReadStream(path)) |
|
|
axios({ |
|
|
method: 'post', |
|
|
url: 'https://s6.ezgif.com/webp-to-mp4', |
|
|
data: form, |
|
|
headers: { |
|
|
'Content-Type': `multipart/form-data; boundary=${form._boundary}` |
|
|
} |
|
|
}).then(({ data }) => { |
|
|
const bodyFormThen = new BodyForm() |
|
|
const $ = cheerio.load(data) |
|
|
const file = $('input[name="file"]').attr('value') |
|
|
bodyFormThen.append('file', file) |
|
|
bodyFormThen.append('convert', "Convert WebP to MP4!") |
|
|
axios({ |
|
|
method: 'post', |
|
|
url: 'https://ezgif.com/webp-to-mp4/' + file, |
|
|
data: bodyFormThen, |
|
|
headers: { |
|
|
'Content-Type': `multipart/form-data; boundary=${bodyFormThen._boundary}` |
|
|
} |
|
|
}).then(({ data }) => { |
|
|
const $ = cheerio.load(data) |
|
|
const result = 'https:' + $('div#output > p.outfile > video > source').attr('src') |
|
|
resolve({ |
|
|
status: true, |
|
|
message: "Created By Eternity", |
|
|
result: result |
|
|
}) |
|
|
}).catch(reject) |
|
|
}).catch(reject) |
|
|
}) |
|
|
} |
|
|
|
|
|
exports.fetchUrl = async (url, options) => { |
|
|
try { |
|
|
options ? options : {} |
|
|
const res = await axios({ |
|
|
method: 'GET', |
|
|
url: url, |
|
|
headers: { |
|
|
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36' |
|
|
}, |
|
|
...options |
|
|
}) |
|
|
return res.data |
|
|
} catch (err) { |
|
|
return err |
|
|
} |
|
|
} |
|
|
|
|
|
exports.WAVersion = async () => { |
|
|
let get = await exports.fetchUrl("https://web.whatsapp.com/check-update?version=1&platform=web") |
|
|
let version = [get.currentVersion.replace(/[.]/g, ", ")] |
|
|
return version |
|
|
} |
|
|
|
|
|
exports.getRandom = (ext) => { |
|
|
return `${Math.floor(Math.random() * 10000)}${ext}` |
|
|
} |
|
|
|
|
|
exports.isUrl = (url) => { |
|
|
return url.match(new RegExp(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/, 'gi')) |
|
|
} |
|
|
|
|
|
exports.isNumber = (number) => { |
|
|
const int = parseInt(number) |
|
|
return typeof int === 'number' && !isNaN(int) |
|
|
} |
|
|
exports.TelegraPh= (Path) =>{ |
|
|
return new Promise (async (resolve, reject) => { |
|
|
if (!fs.existsSync(Path)) return reject(new Error("File not Found")) |
|
|
try { |
|
|
const form = new BodyForm(); |
|
|
form.append("file", fs.createReadStream(Path)) |
|
|
const data = await axios({ |
|
|
url: "https://telegra.ph/upload", |
|
|
method: "POST", |
|
|
headers: { |
|
|
...form.getHeaders() |
|
|
}, |
|
|
data: form |
|
|
}) |
|
|
return resolve("https://telegra.ph" + data.data[0].src) |
|
|
} catch (err) { |
|
|
return reject(new Error(String(err))) |
|
|
} |
|
|
}) |
|
|
} |
|
|
const sleepy = async (ms) => { |
|
|
return new Promise(resolve => setTimeout(resolve, ms)); |
|
|
} |
|
|
exports.buffergif = async (image) => { |
|
|
|
|
|
const filename = `${Math.random().toString(36)}` |
|
|
await fs.writeFileSync(`./XeonMedia/trash/${filename}.gif`, image) |
|
|
child_process.exec( |
|
|
`ffmpeg -i ./XeonMedia/trash/${filename}.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" ./XeonMedia/trash/${filename}.mp4` |
|
|
) |
|
|
await sleepy(4000) |
|
|
|
|
|
var buffer5 = await fs.readFileSync(`./XeonMedia/trash/${filename}.mp4`) |
|
|
Promise.all([unlink(`./XeonMedia/video/${filename}.mp4`), unlink(`./XeonMedia/gif/${filename}.gif`)]) |
|
|
return buffer5 |
|
|
} |