Назад к блогу
Отпечатки

Защита свойств Navigator в BotBrowser: согласованная идентичность браузера

Как BotBrowser контролирует свойства navigator, User-Agent, Client Hints и аппаратные значения для поддержания согласованной идентичности браузера между сессиями.

Риск для конфиденциальности

Объект navigator раскрывает аппаратные данные, информацию об ОС, версию браузера и языковые предпочтения каждому скрипту на странице. Эти свойства могут быть объединены в сигнал отслеживания. BotBrowser дает полный контроль над всеми значениями navigator из единого профиля отпечатка.

Контроль Navigator на основе профиля

Каждый профиль BotBrowser определяет полный, внутренне согласованный набор свойств navigator. Загрузка профиля применяет все значения до выполнения любого кода страницы:

chrome --bot-profile="/path/to/profile.enc" \
       --user-data-dir="$(mktemp -d)"

Это контролирует navigator.userAgent, navigator.platform, navigator.hardwareConcurrency, navigator.deviceMemory, navigator.languages и все соответствующие HTTP-заголовки из единого источника.

Настройка бренда браузера

Переключите всю идентичность бренда браузера одним флагом:

chrome --bot-profile="/path/to/profile.enc" \
       --bot-config-browser-brand=edge

Это обновляет строку User-Agent, navigator.userAgentData.brands, заголовки Sec-CH-UA и свойства, специфичные для поставщика, одновременно.

Контроль языка

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

chrome --bot-profile="/path/to/profile.enc" \
       --bot-config-languages="fr-FR,fr,en-US,en"

Это обновляет navigator.language, navigator.languages и HTTP-заголовок Accept-Language.

Согласованность Client Hints

BotBrowser контролирует User-Agent Client Hints на уровне движка. JavaScript API (navigator.userAgentData.getHighEntropyValues()) и HTTP-заголовки (Sec-CH-UA, Sec-CH-UA-Platform) возвращают значения, соответствующие загруженному профилю.

Проверка

После запуска BotBrowser с профилем проверьте согласованность:

console.log('UA:', navigator.userAgent);
console.log('Platform:', navigator.platform);
console.log('Cores:', navigator.hardwareConcurrency);
console.log('Memory:', navigator.deviceMemory);
console.log('Languages:', navigator.languages);

const ua = await navigator.userAgentData.getHighEntropyValues([
  'platform', 'fullVersionList'
]);
console.log('CH Platform:', ua.platform);
console.log('CH Versions:', ua.fullVersionList);

Все значения должны соответствовать загруженному профилю.

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

  1. Скачайте BotBrowser с GitHub
  2. Загрузите профиль отпечатка с --bot-profile
  3. Используйте --bot-config-browser-brand для управления идентичностью браузера
  4. Проверьте с помощью CreepJS или DevTools браузера
#navigator#fingerprinting#privacy#user-agent#client-hints