| | const fetch = require('node-fetch'); |
| | const axios = require('axios') |
| | const FormData = require('form-data'); |
| | const { fromBuffer } = require('file-type'); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | const pomf = async (buffer) => { |
| | const { ext, mime } = (await fromBuffer(buffer)) || {}; |
| | const form = new FormData(); |
| | form.append("files[]", buffer, { filename: `tmp.${ext}`, contentType: mime }); |
| | try { |
| | const { data } = await axios.post("https://pomf.lain.la/upload.php", form, { |
| | headers: form.getHeaders(), |
| | }); |
| | console.log(data); |
| | return data.files[0].url |
| | } catch (error) { |
| | throw error; |
| | } |
| | }; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | const fileIO = async (buffer) => { |
| | const { ext } = await fromBuffer(buffer) || {}; |
| | const form = new FormData(); |
| | form.append('file', buffer, `tmp.${ext}`); |
| | const res = await fetch('https://file.io/?expires=1d', { |
| | method: 'POST', |
| | body: form |
| | }); |
| | const json = await res.json(); |
| | if (!json.success) throw json; |
| | return json.link; |
| | }; |
| |
|
| | |
| | |
| | |
| | |
| | const api = async (buffer) => { |
| | let { ext } = await fromBuffer(buffer); |
| | let bodyForm = new FormData(); |
| | bodyForm.append("file", buffer, "file." + ext); |
| | let res = await fetch("https://8030.us.kg/api/upload.php", { |
| | method: "post", |
| | body: bodyForm, |
| | }); |
| | let data = await res.json(); |
| | let resultUrl = data.result ? data.result.url : ''; |
| | return resultUrl; |
| | } |
| |
|
| |
|
| | |
| | |
| | |
| | |
| | const api2 = async (buffer) => { |
| | let { ext } = await fromBuffer(buffer); |
| | let bodyForm = new FormData(); |
| | bodyForm.append("file", buffer, "file." + ext); |
| | let res = await fetch("https://file.btch.rf.gd/api/upload.php", { |
| | method: "post", |
| | body: bodyForm, |
| | }); |
| | let data = await res.json(); |
| | let resultUrl = data.result ? data.result.url : ''; |
| | return resultUrl; |
| | } |
| |
|
| | module.exports = async function (inp) { |
| | let err = false; |
| | for (const upload of [pomf, api, api2, fileIO]) { |
| | try { |
| | return await upload(inp); |
| | } catch (e) { |
| | err = e; |
| | } |
| | } |
| | if (err) throw err; |
| | }; |
| |
|