指纹
BotBrowser 性能计时保护:一致的硬件信号
BotBrowser 如何控制性能计时、硬件并发数和设备内存,保持一致的指纹信号。
隐私风险
JavaScript 执行速度和硬件报告 API(如 navigator.hardwareConcurrency 和 navigator.deviceMemory)因设备而异。这些差异可以作为追踪信号。BotBrowser 通过指纹配置文件控制所有性能相关值。
基于配置文件的硬件控制
加载配置文件会在任何页面代码运行之前应用一致的硬件值:
chrome --bot-profile="/path/to/profile.enc" \
--user-data-dir="$(mktemp -d)"
navigator.hardwareConcurrency 和 navigator.deviceMemory 报告配置文件中的值,而不是宿主机器的实际硬件。
性能计时缩放
BotBrowser 可以调整计时特征以匹配配置文件的目标硬件:
chrome --bot-profile="/path/to/profile.enc" \
--bot-time-scale=1.2
--bot-time-scale 标志缩放性能计时信号,使 JavaScript 基准测试产生与配置设备类型一致的结果。
确定性配置
将计时控制与其他确定性标志结合以实现完全一致性:
chrome --bot-profile="/path/to/profile.enc" \
--bot-time-scale=1.0 \
--bot-noise-seed=42 \
--bot-stack-seed=profile \
--user-data-dir="$(mktemp -d)"
帧率一致性
requestAnimationFrame 计时与配置文件的显示配置对齐,保持帧率行为与报告的硬件一致。
验证
加载配置文件后:
console.log('Cores:', navigator.hardwareConcurrency);
console.log('Memory:', navigator.deviceMemory);
const start = performance.now();
for (let i = 0; i < 100000; i++) Math.sqrt(i);
console.log('Timing:', performance.now() - start);
硬件值应与配置文件匹配。
开始使用
- 从 GitHub 下载 BotBrowser
- 使用
--bot-profile加载配置文件 - 使用
--bot-time-scale控制计时特征 - 在指纹检测网站验证硬件值
#performance#timing#fingerprinting#privacy#cpu