Назад к блогу
Развертывание

Защита от обнаружения автоматизации в BotBrowser

Как BotBrowser предотвращает раскрытие сигналов фреймворков автоматизации, устраняя необходимость в stealth-плагинах.

Обзор

При запуске Chromium через Playwright или Puppeteer браузер раскрывает сигналы автоматизации. BotBrowser предотвращает раскрытие этих сигналов, обрабатывая их на уровне движка до выполнения любого кода страницы. Stealth-плагины и JavaScript-патчи не нужны.

Как BotBrowser справляется с этим

BotBrowser модифицирует сам движок браузера. Сигналы автоматизации контролируются на уровне C++ до создания любого JavaScript-контекста. Это означает, что navigator.webdriver возвращает false нативно, а headless-режим производит ту же поверхность API, что и режим с интерфейсом.

Простая настройка Playwright

const { chromium } = require('playwright-core');

(async () => {
  const browser = await chromium.launch({
    executablePath: '/path/to/botbrowser/chrome',
    args: [
      '--bot-profile=/path/to/profile.enc',
    ],
    headless: true,
  });

  const context = await browser.newContext();
  const page = await context.newPage();
  await page.goto('https://example.com');
  await browser.close();
})();

Продакшен-конфигурация

const browser = await chromium.launch({
  executablePath: '/path/to/botbrowser/chrome',
  args: [
    '--bot-profile=/path/to/profile.enc',
    '--proxy-server=socks5://user:pass@proxy:1080',
    '--bot-config-timezone=America/New_York',
    '--bot-config-locale=en-US',
    '--bot-config-languages=en-US,en',
    '--bot-disable-console-message',
    '--bot-disable-debugger',
  ],
  headless: true,
});

Ключевые флаги: --bot-disable-debugger предотвращает приостановку выполнения страницами через операторы debugger. --bot-disable-console-message подавляет вывод в консоль.

Лучшие практики

Используйте playwright-core, а не playwright. Полный пакет включает собственный Chromium.

Установите defaultViewport: null. Сохраняет размеры экрана из профиля.

Сопоставляйте локацию прокси с профилем. Сочетайте профиль фингерпринта с географически соответствующим прокси.

Ротируйте профили между сессиями. Используйте --bot-profile-dir для случайного выбора из каталога профилей.

Что можно убрать

С BotBrowser вам больше не нужны stealth-библиотеки, пользовательские JavaScript-патчи, middleware для подмены user-agent и библиотеки-обертки "undetected" браузера. BotBrowser обрабатывает базовые сигналы на уровне движка.

Следующие шаги

#automation#detection#webdriver#deployment#privacy