Skip to Content
Deployment & OperationsMirror Distributed

Mirror: Distributed Privacy Consistency

Run distributed browser sessions with synchronized actions and consistent fingerprint protection across multiple nodes.

Mirror is used for multi-node browser automation, cross-machine fingerprint consistency checks, and distributed validation workflows.


Prerequisites

  • BotBrowser ENT Tier3 subscription.
  • Two or more machines (physical or virtual) with BotBrowser installed.
  • Network connectivity between the controller and all client nodes.
  • A profile file (.enc for production) available on each node.

Quick Start

1. Start the controller

On the machine that will control the session:

chromium-browser \ --bot-profile="/path/to/profile.enc" \ --bot-mirror-controller-endpoint=0.0.0.0:9333 \ --proxy-server=socks5://user:pass@proxy.example.com:1080

2. Start a client

On each machine that should mirror the controller’s actions:

chromium-browser \ --bot-profile="/path/to/profile.enc" \ --bot-mirror-client-endpoint=controller-ip:9333 \ --proxy-server=socks5://user:pass@proxy.example.com:1080

3. Interact with the controller

Navigate, click, and interact with the controller instance. All actions are replicated to every connected client in real time.


How It Works

Mirror provides remote browser control for distributed setups where multiple BotBrowser instances must maintain identical behavior:

  1. Controller instance. One BotBrowser instance acts as the controller. It captures user interactions (navigation, clicks, keyboard input, scrolling) and broadcasts them to all connected clients.

  2. Client instances. Each client receives the controller’s actions and replays them locally. Clients use the same profile, so fingerprint output is identical across all nodes.

  3. Fingerprint consistency. Because every node loads the same profile and receives the same sequence of actions, all instances produce consistent fingerprint output. This is useful for verifying that privacy protection works identically across different platforms and networks.

  4. Cross-platform verification. Run the controller on Windows, with clients on macOS and Ubuntu. Mirror confirms that the fingerprint protection produces consistent results regardless of the host operating system.


Common Scenarios

Team collaboration

Multiple team members can observe and interact with a shared browser session. The controller drives navigation while clients follow along in real time:

# Team lead (controller) chromium-browser \ --bot-profile="/path/to/profile.enc" \ --bot-mirror-controller-endpoint=0.0.0.0:9333 # Team member 1 (client) chromium-browser \ --bot-profile="/path/to/profile.enc" \ --bot-mirror-client-endpoint=lead-machine:9333 # Team member 2 (client) chromium-browser \ --bot-profile="/path/to/profile.enc" \ --bot-mirror-client-endpoint=lead-machine:9333

Cross-platform consistency verification

Verify that a profile produces identical fingerprints on different operating systems:

# Controller on Windows chrome.exe --bot-profile="C:\profiles\profile.enc" --bot-mirror-controller-endpoint=0.0.0.0:9333 # Client on macOS /Applications/Chromium.app/Contents/MacOS/Chromium --bot-profile="/profiles/profile.enc" --bot-mirror-client-endpoint=windows-machine:9333 # Client on Ubuntu chromium-browser --bot-profile="/profiles/profile.enc" --bot-mirror-client-endpoint=windows-machine:9333

Navigate to a fingerprint testing site on the controller. All clients display the same page with identical fingerprint values.

CDP-based Mirror control

Start and stop Mirror at runtime using Chrome DevTools Protocol:

// Puppeteer: start as controller via CDP const cdpSession = await browser.target().createCDPSession(); await cdpSession.send("BotBrowser.startMirrorController", { bindHost: "0.0.0.0", port: 9333, });

Distributed testing across networks

Run clients on different networks to verify that proxy-based geo-lookup produces consistent results when combined with the same profile:

# Controller with US proxy chromium-browser \ --bot-profile="/path/to/profile.enc" \ --bot-mirror-controller-endpoint=0.0.0.0:9333 \ --proxy-server=socks5://user:pass@us-proxy.example.com:1080 # Client with same US proxy on a different network chromium-browser \ --bot-profile="/path/to/profile.enc" \ --bot-mirror-client-endpoint=controller-host:9333 \ --proxy-server=socks5://user:pass@us-proxy.example.com:1080

Troubleshooting / FAQ

ProblemSolution
Client cannot connect to controllerVerify the controller’s IP and port are reachable. Check firewall rules allow traffic on the Mirror port (default 9333).
Actions not replaying on clientEnsure both controller and client use the same profile version. Mismatched profiles may cause inconsistent behavior.
High latency in action replayMirror works best on low-latency networks. For high-latency connections, actions may appear delayed on clients.
Mirror endpoint already in useAnother process is using the port. Choose a different port or stop the existing process.
Feature not availableMirror requires ENT Tier3 subscription. Verify your license tier.

Next Steps


Related documentation: Per-Context Fingerprint | Playwright Guide


Legal Disclaimer & Terms of Use Responsible Use Guidelines . BotBrowser is for authorized fingerprint protection and privacy research only.