import cheerio from 'cheerio' import cookie from 'cookie' import fetch from 'node-fetch' import FormData from 'form-data' async function post(url, formdata = {}, cookies) { let encode = encodeURIComponent; let body = Object.keys(formdata) .map((key) => { let vals = formdata[key]; let isArray = Array.isArray(vals); let keys = encode(key + (isArray ? "[]" : "")); if (!isArray) vals = [vals]; let out = []; for (let valq of vals) out.push(keys + "=" + encode(valq)); return out.join("&"); }) .join("&"); return await fetch(`${url}?${body}`, { method: "GET", headers: { Accept: "*/*", "Accept-Language": "en-US,en;q=0.9", "User-Agent": "GoogleBot", Cookie: cookies, }, }); } async function textpro(url, text) { if (!/^https:\/\/textpro\.me\/.+\.html$/.test(url)) throw new Error("Url Salah!!"); const geturl = await fetch(url, { method: "GET", headers: { "User-Agent": "GoogleBot", }, }); const caritoken = await geturl.text(); let hasilcookie = geturl.headers .get("set-cookie") .split(",") .map((v) => cookie.parse(v)) .reduce((a, c) => { return { ...a, ...c }; }, {}); hasilcookie = { __cfduid: hasilcookie.__cfduid, PHPSESSID: hasilcookie.PHPSESSID, }; hasilcookie = Object.entries(hasilcookie) .map(([name, value]) => cookie.serialize(name, value)) .join("; "); const $ = cheerio.load(caritoken); const token = $('input[name="token"]').attr("value"); const form = new FormData(); if (typeof text === "string") text = [text]; for (let texts of text) form.append("text[]", texts); form.append("submit", "Go"); form.append("token", token); form.append("build_server", "https://textpro.me"); form.append("build_server_id", 1); const geturl2 = await fetch(url, { method: "POST", headers: { Accept: "*/*", "Accept-Language": "en-US,en;q=0.9", "User-Agent": "GoogleBot", Cookie: hasilcookie, ...form.getHeaders(), }, body: form.getBuffer(), }); const caritoken2 = await geturl2.text(); const token2 = /