Spaces:
Paused
Paused
File size: 3,252 Bytes
8de10f9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
import axios from 'axios';
import FormData from 'form-data';
import fetch from 'node-fetch';
import fs from 'fs';
import * as cheerio from 'cheerio';
import mime from 'mime';
export const TelegraPh = async (path) => {
return new Promise(async (resolve, reject) => {
if (!fs.existsSync(path)) return reject(new Error("File not Found"));
try {
const form = new FormData();
form.append("file", fs.createReadStream(path));
const { data } = await axios({
url: "https://telegra.ph/upload",
method: "POST",
headers: {
...form.getHeaders()
},
data: form
});
resolve("https://telegra.ph" + data[0].src);
} catch (err) {
reject(new Error(String(err)));
}
});
};
export const UploadFileUgu = async (input) => {
return new Promise(async (resolve, reject) => {
try {
const form = new FormData();
form.append("files[]", fs.createReadStream(input));
const { data } = await axios({
url: "https://uguu.se/upload.php",
method: "POST",
headers: {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36",
...form.getHeaders()
},
data: form
});
resolve(data.files[0]);
} catch (err) {
reject(err);
}
});
};
export const webp2mp4File = async (path) => {
return new Promise(async (resolve, reject) => {
try {
const form = new FormData();
form.append('new-image-url', '');
form.append('new-image', fs.createReadStream(path));
const { data: step1Data } = await axios({
method: 'post',
url: 'https://s6.ezgif.com/webp-to-mp4',
data: form,
headers: {
'Content-Type': `multipart/form-data; boundary=${form._boundary}`
}
});
const $ = cheerio.load(step1Data);
const file = $('input[name="file"]').attr('value');
const formThen = new FormData();
formThen.append('file', file);
formThen.append('convert', "Convert WebP to MP4!");
const { data: step2Data } = await axios({
method: 'post',
url: `https://ezgif.com/webp-to-mp4/${file}`,
data: formThen,
headers: {
'Content-Type': `multipart/form-data; boundary=${formThen._boundary}`
}
});
const $2 = cheerio.load(step2Data);
const result = 'https:' + $2('div#output > p.outfile > video > source').attr('src');
resolve({
status: true,
message: "Created By Ethix-MD",
result: result
});
} catch (err) {
reject(err);
}
});
};
export const floNime = async (path, options = {}) => {
const ext = mime.getType(path);
if (!ext) throw new Error('Unknown file type');
const form = new FormData();
form.append('file', fs.createReadStream(path), `tmp.${ext}`);
const response = await fetch('https://flonime.my.id/upload', {
method: 'POST',
body: form
});
const json = await response.json();
return json;
};
export default { TelegraPh, UploadFileUgu, webp2mp4File, floNime };
|