Volver al Blog
Huella digital

Proteccion de pantalla y ventana en BotBrowser: Identidad de pantalla consistente

Como BotBrowser controla las dimensiones de pantalla, ratio de pixeles y propiedades de ventana para senales de huella digital de pantalla consistentes.

El riesgo de privacidad

Las propiedades de pantalla como resolucion, profundidad de color, ratio de pixeles y dimensiones de ventana estan disponibles para cualquier script sin permisos. Estos valores pueden contribuir a una senal de rastreo. BotBrowser controla todas las propiedades de pantalla a nivel de motor a traves del perfil de huella digital.

Configuracion de pantalla basada en perfil

Cada perfil contiene un conjunto completo de propiedades de pantalla. Cargar un perfil las aplica de forma consistente:

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

Las media queries CSS, propiedades JavaScript screen y restricciones de dimensiones de ventana coinciden con el perfil.

Configuracion de framework de automatizacion

Al usar Playwright o Puppeteer, desactiva el viewport predeterminado para que las dimensiones del perfil tengan efecto.

Puppeteer:

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

Playwright:

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

const context = await browser.newContext({
  viewport: null
});

Sin defaultViewport: null (Puppeteer) o viewport: null (Playwright), el framework sobreescribe las dimensiones de pantalla del perfil.

Lo que controla el perfil

Los perfiles de BotBrowser gestionan todos los valores de pantalla:

  • screen.width, screen.height, screen.availWidth, screen.availHeight
  • screen.colorDepth y screen.pixelDepth
  • window.devicePixelRatio
  • Dimensiones internas/externas y posicion de ventana
  • Resultados de media queries CSS para dimensiones del dispositivo

Verificacion

Despues de cargar un perfil:

console.log('Screen:', screen.width, 'x', screen.height);
console.log('Available:', screen.availWidth, 'x', screen.availHeight);
console.log('Pixel Ratio:', window.devicePixelRatio);
console.log('Viewport:', window.innerWidth, 'x', window.innerHeight);
console.log('Color Depth:', screen.colorDepth);

Todos los valores deben coincidir con el perfil cargado.

Primeros pasos

  1. Descarga BotBrowser desde GitHub
  2. Carga un perfil de huella digital con --bot-profile
  3. Configura defaultViewport: null en tu framework de automatizacion
  4. Verifica con CreepJS o BrowserLeaks
#screen#window#fingerprinting#privacy#viewport