Назад к блогу
Идентичность

Переключение бренда браузера: Chrome, Edge, Brave и другие

Узнайте, как BotBrowser переключается между идентификациями Chrome, Edge, Brave, Opera и WebView с полной согласованностью сигналов.

Что контролирует BotBrowser

BotBrowser обрабатывает переключение бренда на уровне движка браузера. При выборе бренда все связанные сигналы обновляются согласованно:

  • User-Agent и Client Hints: полная строка UA, Sec-CH-UA, Sec-CH-UA-Full-Version-List и Sec-CH-UA-Platform отражают выбранный бренд.
  • Порядок токенов бренда: у каждого браузера определенный порядок токенов. BotBrowser сохраняет правильный порядок для каждого бренда.
  • API Navigator: navigator.userAgentData.brands и navigator.userAgent возвращают значения, согласованные с выбранным брендом.
  • Поверхность функций: поведение, специфичное для бренда, согласовывается с выбранной идентификацией.

Поддерживаемые бренды

БрендЗначение флагаПримечания
ChromechromeСтандартные сигналы Chromium
EdgeedgeСигналы Microsoft Edge
BravebraveСпецифичные сигналы Brave
OperaoperaТокены бренда Opera
WebViewwebviewИдентификация Android WebView

Использование через CLI

Переключение бренда браузера флагом --bot-config-browser-brand:

# Запуск как Microsoft Edge
chrome --bot-profile="/path/to/profile.enc" \
       --bot-config-browser-brand=edge

# Запуск как Brave
chrome --bot-profile="/path/to/profile.enc" \
       --bot-config-browser-brand=brave

# Запуск как Opera
chrome --bot-profile="/path/to/profile.enc" \
       --bot-config-browser-brand=opera

Пример Puppeteer

const puppeteer = require('puppeteer-core');

(async () => {
  const browser = await puppeteer.launch({
    executablePath: '/path/to/botbrowser/chrome',
    args: [
      '--bot-profile=/path/to/profile.enc',
      '--bot-config-browser-brand=edge',
      '--bot-config-timezone=America/New_York',
      '--bot-config-locale=en-US',
    ],
    headless: true,
    defaultViewport: null,
  });

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

  const brands = await page.evaluate(() =>
    navigator.userAgentData.brands.map(b => b.brand)
  );
  console.log('Reported brands:', brands);
  await browser.close();
})();

Сочетание бренда с прокси и локалью

Для полноценной идентификации объедините переключение бренда с настройками прокси и локали:

chrome --bot-profile="/path/to/profile.enc" \
       --bot-config-browser-brand=edge \
       --proxy-server=socks5://user:pass@proxy:1080 \
       --bot-config-timezone=Europe/Berlin \
       --bot-config-locale=de-DE \
       --bot-config-languages=de-DE,de,en

Проверка согласованности бренда

После запуска с переопределением бренда проверьте эти сигналы:

  1. Строка User-Agent содержит правильное имя браузера
  2. Заголовок Sec-CH-UA перечисляет правильные токены бренда в правильном порядке
  3. navigator.userAgentData.brands совпадает с Client Hints на уровне HTTP

Начало работы

  1. Скачайте BotBrowser с GitHub
  2. Выберите профиль фингерпринта с помощью --bot-profile
  3. Добавьте --bot-config-browser-brand=edge (или другой бренд) к флагам запуска
  4. Проверьте с помощью инструментов фингерпринтинга, что все сигналы бренда согласованы
#browser-brand#chrome#edge#brave#identity