返回博客
身份

多账户浏览器隔离:运行独立身份

了解如何使用 BotBrowser 运行具有独立指纹、代理和会话的多个隔离浏览器身份。

BotBrowser 的按上下文隔离

BotBrowser 提供真正的按上下文隔离。每个浏览器上下文可以拥有自己的:

  • 指纹配置:不同的 Canvas、WebGL、音频和 navigator 信号
  • 代理:不同的 IP 地址和网络路径
  • 时区:匹配代理的地理位置
  • 区域和语言:与地理身份一致
  • Cookie 和存储:按上下文完全隔离

Playwright 多上下文设置

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

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

// 上下文 1:美国身份
const context1 = await browser.newContext({
  proxy: { server: 'socks5://us-proxy:1080' },
  locale: 'en-US',
  timezoneId: 'America/New_York',
});

// 上下文 2:英国身份
const context2 = await browser.newContext({
  proxy: { server: 'socks5://uk-proxy:1080' },
  locale: 'en-GB',
  timezoneId: 'Europe/London',
});

const page1 = await context1.newPage();
const page2 = await context2.newPage();

基于 CLI 的多配置

使用不同指纹配置的独立浏览器实例:

# 实例 1:美国身份
chrome --bot-profile="/profiles/us-profile.enc" \
       --proxy-server="socks5://us-proxy:1080" \
       --bot-config-timezone="America/New_York" \
       --bot-config-locale="en-US" \
       --user-data-dir="/tmp/session-1"

# 实例 2:英国身份
chrome --bot-profile="/profiles/uk-profile.enc" \
       --proxy-server="socks5://uk-proxy:1080" \
       --bot-config-timezone="Europe/London" \
       --bot-config-locale="en-GB" \
       --user-data-dir="/tmp/session-2"

隔离的内容

指纹信号。 每个上下文报告不同的 Canvas 渲染、WebGL 供应商和渲染器、音频处理、navigator 属性、屏幕尺寸和字体可用性值。

网络身份。 每个上下文通过不同的代理路由,具有匹配的时区和区域设置。

存储和 Cookie。 Cookie、localStorage、sessionStorage 和 IndexedDB 在上下文之间完全隔离。

最佳实践

将代理地理位置与身份匹配

始终将时区、区域和语言与代理的地理位置对齐:

--proxy-server="socks5://jp-proxy:1080" \
--bot-config-timezone="Asia/Tokyo" \
--bot-config-locale="ja-JP" \
--bot-config-languages="ja,en"

为不同账户使用不同配置

每个账户应有不同的指纹配置以保持隔离。

分离用户数据目录

每个实例需要自己的 --user-data-dir 以防止配置冲突。

确定性噪声种子

为每个账户使用不同的 --bot-noise-seed 值,获得一致但唯一的指纹噪声。

验证

设置多个上下文后,验证:

  1. 每个上下文显示不同的 IP 地址
  2. Canvas 哈希在上下文之间不同
  3. WebGL 渲染器字符串与每个上下文的配置匹配
  4. 每个上下文的时区和区域设置正确
  5. 上下文之间没有 cookie 或存储泄漏

开始使用

  1. GitHub 下载 BotBrowser
  2. 准备多个指纹配置
  3. 为每个身份设置代理
  4. 每个实例使用单独的 --user-data-dir
#multi-account#isolation#per-context#identity#privacy