Загрузка...

Bypass cloudflare with Puppeteer.js

Thread in Node.js created by caedes Sep 5, 2023. (bumped May 21, 2025) 872 views

  1. caedes
    caedes Topic starter Sep 5, 2023 Faded 201 Dec 2, 2019
    Рад видеть людей в этом мертвом разделе под названием Node.js:smile_drinking:
    Как бы я этот puppeteer не вертел, но все равно капчу это обойти не мог, потому что надо было сделать именно автоматизацию, а не простой GET запрос для парсинга.
    Puppeteer-extra со stealth плагином тут не подходит, потому что использует жс инъекции и cloudflare все равно детектит.
    Так что сегодня мы обойдем эту хуйню в пару строк кода:fuckyea:

    В форме ZooTools надо ввести свой Email и нажать кнопку для подтверждения. После чего появляется Cloudflare капча, которую обычный puppeteer не обходит
    [IMG]

    Для обхода мы будем использовать очень интересную библиотеку https://github.com/CheshireCaat/puppeteer-with-fingerprints
    Сама либа основана на BAS https://fingerprints.bablosoft.com
    Либа, как написано, еще в бете, но для своих мелких проектов для обхода этой хуйни отлично подойдет

    Устанавливаем puppeteer, надеюсь все знакомы с тем, как создать нод жс проект:smile_drinking:
    npm i puppeteer-with-fingerprints
    npm i puppeteer


    JS

    const { plugin } = require('puppeteer-with-fingerprints');
    run()
    async function run(){
    const fingerprint = await plugin.fetch('', {
    tags: ['Microsoft Windows', 'Chrome'],
    });

    plugin.useFingerprint(fingerprint);

    const browser = await plugin.launch({headless: true});
    const page = await browser.newPage();
    await page.goto('https://form.zootools.co/go/bLFJhrGfkOoEQgt3I3LR');

    await page.type('div.sc-f883c6f6-0.iWNfih > div:nth-child(2) > div > div > label > input', 'lkljsdbflkasdbfsadhlbfhjdbfjksdabfjaasdkshd@gmail.com', {delay: 20})
    await page.click('div.sc-f883c6f6-0.iWNfih > div.sc-3276b432-3.edOQUg > button')
    await page.waitForNavigation()
    }
    После запуска либа подгрузит свои зависимости. Запуск занимает немного больше времени
    Запускаем и....
    [IMG]

    Если хотим все же использовать плагины из puppeteer-extra, то можем подключить вот таким способом
    JS
    const puppeteer = require('puppeteer-extra');
    const RecaptchaPlugin = require('puppeteer-extra-plugin-recaptcha');
    const { createPlugin } = require('puppeteer-with-fingerprints');

    puppeteer.use(RecaptchaPlugin({ provider: { id: "2captcha", token: "xxxxxxxxx" } }));

    const plugin = createPlugin({ launch: (options) => puppeteer.launch(options) });
    let fingerprint = await plugin.fetch('XXXXXXXXXXX', { tags: ['Android'] });
    plugin.useFingerprint(fingerprint);

    ...Код
    Всем спасибо, всем :pepelogout:
     
  2. el9in
    el9in Sep 5, 2023 lolz.live/threads/7387449 — USDT TRC без комиссии
    Не знаю, но у меня puppeteer-extra вполне обходит.
     
    1. caedes Topic starter
      el9in, антибот при простом входе на сайт мб обойдет. Но капчу у меня обходить не хотел, да и эта либа получше stealth плагина будет
  3. mortenforever
    хорошо для тех кто не умеет гуглить)
     
  4. fazliddin_inactive4585019
    cloudscraper топчик
     
Loading...
Top