Задать вопрос
RomanDillerNsk
@RomanDillerNsk
JavaScript

Как изменить реальный IP или как защититься от WebRtc?

Коллеги, доброго времени суток, может кто сталкивался с такой задачей, пишу бота, логика проста, зашел на страницу, авторизовался в ЛК и пошел гулять по сайту. Использую NODEJS + PUPPETEER. По сути все просто и не возникает проблем серфинга, но есть момент.

Я конечно использую прокси, но не могу защититься от webrtc, иными словами на тут я вижу реальный IP. Задача его изменить на любой из списка. Кто то может сталкивался с задачей, голову сломал. буду благодарен любым советам, только по делу конечно.

Вот кусок года, собственно:

const puppeteer = require('puppeteer');

async function run() {

    // const domain = `https://4it.me/`;
    const domain = `https://browserleaks.com/webrtc`;

    const pageOptions = { waitUntil: ['networkidle0','domcontentloaded'] };
    const userAgent = `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134`;
    const rulles = [
        'geolocation',
        'notifications',
        'camera',
        'microphone',
        'background-sync'
    ];
    const proxyUrl = `http://2.2.2.2:3000`;
    const username = 'someusername';
    const password = 'someusernamepassword';

    let options = {
        ignoreHTTPSErrors: true,
        headless: false,
        args: [
            `--no-sandbox`,
            '--start-maximized',
            `--disable-setuid-sandbox`,
            '--disable-infobars',
            `--proxy-server=${proxyUrl}`,
            `--host-resolver-rules=MAP ${domain} 2.2.2.2`,
        ],
        defaultViewport: {
            width: 1871,
            height: 949
        }
    };

    try {

        const browser = await puppeteer.launch(options);
        const page = await browser.newPage();
        const context = browser.defaultBrowserContext();

        await context.overridePermissions(domain, rulles);
        await page.setUserAgent(userAgent);
        await page.authenticate({ username, password });

        await page.goto(domain);

    } catch (e) {

        console.log(e);

    }
}

run();


По коду я дума не возникнет вопросов.
  • Вопрос задан
  • 720 просмотров
Подписаться 3 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
RomanDillerNsk
@RomanDillerNsk Автор вопроса
JavaScript
flekst, да смотрел я это дело, работает, данное расширение скрывает отпечаток.

Я немного перефразирую вопрос, как можно изменить отпечаток браузера? Стоит задача сделать запуск клиента (браузера) с кастомным отпечатком. Вот в этом и проблема.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы