File size: 1,132 Bytes
ab05623
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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);
        }
    });
};