MCPcopy Index your code
hub / github.com/botswin/BotBrowser

github.com/botswin/BotBrowser @150.0.7871.24

Chat with this repo
repository ↗ · DeepWiki ↗ · release 150.0.7871.24 ↗ · + Follow
615 symbols 1,485 edges 107 files 35 documented · 6%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

BotBrowser logo BotBrowser

Advanced Privacy Browser Core with Unified Fingerprint Defense 🚀

Identical privacy posture on any OS • Cross-platform & WebView simulation • Fingerprint protection validated across 31+ tracking scenarios

Latest Release Commit Activity Issues GitHub Forks GitHub Stars Website

BotBrowser GUI - Your Command Center


What Is BotBrowser?

BotBrowser is a privacy-first browser core designed to protect users from browser fingerprinting, a technique recognized as a privacy threat by W3C, major browser vendors, privacy regulators, and academic research (see references). It keeps fingerprint signals uniform across every platform, preventing tracking systems from collecting and correlating data to identify users. Run the same profile on Windows, macOS, or Linux and the fingerprint posture stays identical each time.

All engineering focuses on privacy research, cross-platform tracking-resistance validation, and maintaining protected environments for authorized defensive benchmarking. Review the project Legal Disclaimer and Responsible Use Guidelines before using the software.


Why BotBrowser

What makes BotBrowser different: Cross-platform privacy browser core with unified fingerprint technology that prevents tracking data collection and device linkage.

High-Fidelity, Always-Current Profiles including Android WebView and WebKit-family profile consistency, built on the latest stable Chromium so fingerprints stay aligned with current browser behavior and reduce stale-engine correlation risk Network Stack Parity with Full-Proxy QUIC/STUN (UDP over SOCKS5) delivers Chromium-level tunneling so geo metadata does not leak and privacy labs maintain clean transport parity
Advanced Programmatic Control offers Playwright/Puppeteer integration with CDP leak blocking so privacy tooling leaves no telemetry residue Distributed Privacy Consistency lets you verify privacy protection across multiple browser instances simultaneously with Mirror, synchronizing input and validating privacy posture in parallel
Per-Context Fingerprint enables independent fingerprint bundles per BrowserContext without spawning new processes, with millisecond-level switching and reduced memory overhead Zero-Overhead Performance adds no measurable latency: Speedometer 3.0 within <1% of stock Chrome, zero fingerprint API overhead across macOS/Linux/Windows, 29% memory savings at scale with Per-Context Fingerprint, and a Trimmed Build (ENT Tier3) delivering 62% lower wall time and 85% faster per-context spin-up on Linux x64

Cross-Platform Fingerprint Protection

  • Single profile, every host OS: identical UA, screen metrics, touch surfaces, fonts, and device APIs on Windows, macOS, Linux (ENT Tier1), Android (PRO), WebView (ENT Tier3), and WebKit-family profile bundles (ENT Tier4) for consistent browser identity across environments.
  • Built-in configuration handles touch simulation, device metrics, and locale/timezone detection from the proxy IP while still allowing CLI overrides when privacy experiments require them.
  • Quick demos: ▶️ CreepJS Android▶️ Iphey▶️ Pixelscan

Getting Started

Quick Start

Step 1: Download - Latest release for your OS - Demo profile (any .enc file)

Step 2: Launch - GUI: Use BotBrowserLauncher for one-click profile selection and multi-instance management - CLI (use absolute paths): cmd chrome.exe --bot-profile="C:\absolute\path\to\profile.enc" --user-data-dir="%TEMP%\botprofile_%RANDOM%" - macOS/Linux commands follow the same pattern; see INSTALLATION.md for full instructions.

Step 3: Verify - Visit CreepJS or your preferred tracking observatory to confirm identical privacy posture. - Timezone/locale/language auto-derive from your proxy/IP; override via CLI only when needed.

Complete Installation Guide →

Minimal Playwright Example

const browser = await chromium.launch({
  headless: true,
  executablePath: BOTBROWSER_EXEC_PATH,
  args: [`--bot-profile=${BOT_PROFILE_PATH}`,
  '--proxy-server=socks5://usr:pwd@127.0.0.1:8989']  // or: http://usr:pwd@127.0.0.1:8989
});
const page = await browser.newPage();
await page.addInitScript(() => { delete window.__playwright__binding__; delete window.__pwInitScripts; });
await page.goto('https://abrahamjuliot.github.io/creepjs/');

Notes: - Use --user-data-dir with a unique temporary folder to avoid conflicts with running Chromium instances - Prefer --proxy-server or per-context proxies (ENT Tier1); auto timezone/locale detection applies in both cases - Avoid framework-specific proxy/auth options (e.g., page.authenticate()), which disable BotBrowser's geo-detection and may leak location information

Examples: PlaywrightPuppeteer

More options: - Framework-less approach: --bot-script + CDP (privileged context, earlier hook, fewer artifacts) - Docker: docker/README.md - Full flags: CLI_FLAGS.md

Builds

BotBrowser ships in two builds. Both share the same fingerprint protection model, the same profile format, the same CLI flag surface, and the same CDP commands.

Standard Build Trimmed Build (ENT Tier3)
Distribution Public releases Enterprise channel only
Built for Long-running and interactive sessions Short-session, high-concurrency automation
Browser feature surface Full Tuned for short-session workloads
Fingerprint protection Same Same
Per-Context Fingerprint Same Same
Profile compatibility Same Same

Linux x64 benchmark (400 official samples, 1..20 contexts × 10 repeats × 2 builds): Trimmed Build cuts wall time by 62%, per-context creation by 85%, first navigation by 38%, CPU peak by 68%, PSS peak by 31% versus Standard, with 100% success rate and 0 residual processes for both builds.

Trimmed Build is the right choice when context spin-up dominates total wall time, when CPU peak per context limits density, or when shared memory is the binding constraint. Standard Build remains the right choice for interactive workflows and scenarios that exercise the full browser feature surface.

Product overview, engineering design, FAQ: TRIMMED_BUILD.md. Full performance table: BENCHMARK.md#trimmed-build. Access: Enterprise or Pricing.

Feature Reference

Configuration priority: CLI flags (highest) > Profile configs > defaults. Timezone, locale, and language auto-derive from your proxy IP.

Network & Proxy

Feature Reference Guide
Proxy with embedded credentials (HTTP/SOCKS5/SOCKS5H) Proxy Configuration Guide
Regex-based proxy routing rules --proxy-bypass-rgx Guide
Per-context proxy with auto geo-detection Per-Context Fingerprint Guide
Dynamic proxy switching at runtime Dynamic Proxy Switching Guide
UDP over SOCKS5 (QUIC/STUN tunneling) UDP over SOCKS5 Guide
PAC-like request callback (ENT Tier3) PAC-Like Request Callback Guide
Local DNS solver --bot-local-dns Guide
Port protection for local services --bot-port-protection Guide
WebRTC leak protection (SDP/ICE control) WebRTC Leak Protection Guide

Fingerprint & Rendering

Feature Reference Guide
Canvas / WebGL / WebGPU deterministic noise Multi-Layer Noise Canvas · WebGL
AudioContext noise calibration Multi-Layer Noise Guide
Text metrics & ClientRects noise Multi-Layer Noise Guide
Deterministic noise seeds (reproducible per-tenant) --bot-noise-seed Guide
Performance timing protection (27 browser operations) Performance Timing Protection Guide
Video FPS control for media workloads --bot-video-fps Guide
Stack depth fingerprint control (main/Worker/WASM) Stack Depth Control Guide
Network information privacy (rtt/downlink/effectiveType) Network Info Privacy Guide
CPU core scaling protection CPU Core Scaling Guide
Cross-platform font engine (Win/Mac/Android) Font Engine Guide
GPU simulation on headless servers Headless Compatibility Guide

Identity & Platform

Feature Reference Guide
Cross-platform profile portability (Win / Mac / Linux) Advanced Features Guide
Browser brand switching (Chrome/Edge/Brave/Opera) Profile Overrides Guide
Custom User-Agent with full userAgentData control Profile Overrides Guide
Client Hints alignment (DPR, device-memory, UA-CH) Browser & OS Guide
Android WebView emulation [Profile Overrides](CLI_FLAGS.md#profile-confi

Extension points exported contracts — how you extend this code

DirectoryEntry (Interface)
(no doc)
launcher/src/neutralino/neutralino.d.ts
FileReaderOptions (Interface)
(no doc)
launcher/src/neutralino/neutralino.d.ts
DirectoryReaderOptions (Interface)
(no doc)
launcher/src/neutralino/neutralino.d.ts
OpenedFile (Interface)
(no doc)
launcher/src/neutralino/neutralino.d.ts
Stats (Interface)
(no doc)
launcher/src/neutralino/neutralino.d.ts

Core symbols most depended-on inside this repo

run
called by 78
launcher/src/app/shared/shell.service.ts
click
called by 77
launcher/src/app/simple-cdp.ts
esc
called by 69
botbrowser-control/src/renderer/js/app.js
sleep
called by 68
tests/tests/utils.ts
close
called by 66
launcher/src/app/simple-cdp.ts
val
called by 38
botbrowser-control/src/renderer/js/app.js
shQuote
called by 31
launcher/src/app/shared/browser-launcher.service.ts
parse
called by 29
launcher/src/app/shared/proxy-parser.service.ts

Shape

Method 266
Function 226
Interface 65
Class 50
Enum 8

Languages

TypeScript96%
Python2%
Java1%
C#1%

Modules by API surface

botbrowser-control/src/renderer/js/app.js72 symbols
launcher/src/neutralino/neutralino.d.ts47 symbols
launcher/src/app/edit-browser-profile.component.ts45 symbols
launcher/src/app/shared/kernel.service.ts43 symbols
launcher/src/app/app.component.ts40 symbols
botbrowser-control/src/main/main.js26 symbols
launcher/src/app/proxy-management/proxy-management.component.ts21 symbols
launcher/src/app/kernel-management/kernel-management.component.ts18 symbols
launcher/src/app/shared/browser-launcher.service.ts17 symbols
launcher/src/app/data/browser-profile.ts15 symbols
launcher/src/app/simple-cdp.ts14 symbols
launcher/src/app/shared/browser-profile.service.ts13 symbols

For agents

$ claude mcp add BotBrowser \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact