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

Защита отпечатков WebGL: контроль идентичности GPU с BotBrowser

Как BotBrowser контролирует идентичность GPU WebGL и параметры через защиту отпечатков на основе профилей.

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

WebGL раскрывает подробную информацию о GPU, включая производителя, рендерер, поддерживаемые расширения и аппаратные ограничения. Эта информация формирует отличительный отпечаток для отслеживания между сайтами.

Как BotBrowser контролирует идентичность WebGL

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

Идентичность GPU на основе профилей

При загрузке профиля отпечатка параметры WebGL автоматически соответствуют целевому GPU:

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

Явная конфигурация WebGL

Для точного контроля используйте явную конфигурацию WebGL:

chrome --bot-profile="/path/to/profile.enc" \
       --bot-config-webgl='{"vendor":"Google Inc.","renderer":"ANGLE (NVIDIA GeForce GTX 1660 SUPER)"}'

Кроссплатформенный контроль GPU

Запустите профиль с NVIDIA GPU на машине с AMD или Intel. BotBrowser обеспечивает отчет WebGL об идентичности GPU профиля.

Проверка

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

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

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

const page = await (await browser.newContext()).newPage();
const webgl = await page.evaluate(() => {
  const canvas = document.createElement('canvas');
  const gl = canvas.getContext('webgl');
  const ext = gl.getExtension('WEBGL_debug_renderer_info');
  return {
    vendor: gl.getParameter(ext.UNMASKED_VENDOR_WEBGL),
    renderer: gl.getParameter(ext.UNMASKED_RENDERER_WEBGL),
  };
});
console.log('WebGL:', webgl);
await browser.close();

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

  1. Скачайте BotBrowser с GitHub
  2. Загрузите профиль отпечатка с --bot-profile
  3. Используйте --bot-config-webgl для явной конфигурации GPU
  4. Проверьте идентичность WebGL скриптом выше
#webgl#gpu#fingerprinting#privacy#hardware