module.exports = async function (page, url) { return new Promise(async (resolve, reject) => { const timeout = setTimeout(() => reject(new Error("Timeout Cloudflare Bypass")), 30000); try { await page.goto(url, { waitUntil: "domcontentloaded" }); let clearanceCookie = null; const checkInterval = setInterval(async () => { const cookies = await page.cookies(); const cf = cookies.find(c => c.name === 'cf_clearance'); if (cf) { clearanceCookie = cf.value; clearInterval(checkInterval); clearTimeout(timeout); const userAgent = await page.evaluate(() => navigator.userAgent); resolve({ cookie: clearanceCookie, userAgent: userAgent, cookies_full: cookies }); } }, 1000); } catch (e) { clearTimeout(timeout); reject(e); } }); };