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.availHeightscreen.colorDepthyscreen.pixelDepthwindow.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
- Descarga BotBrowser desde GitHub
- Carga un perfil de huella digital con
--bot-profile - Configura
defaultViewport: nullen tu framework de automatizacion - Verifica con CreepJS o BrowserLeaks