🛡️ BrowserMulti — Stealth Chromium Core
High-performance Chromium core with native C++ patches for Playwright and CDP automation.
Not a patched config. Not a JavaScript injection. BrowserMulti applies fingerprint-related changes directly at Chromium C++ source level across Blink and V8. Validate behavior in your own authorized automation and testing environments.
🚀 Key Highlights
- Native C++ engine patching: Changes
navigator.webdriver, plugin/mime-type defaults, User-Agent branding, Client Hints, and selected V8 Inspector behavior at source level. - Playwright and CDP integration: Supports Playwright persistent contexts and Chrome DevTools Protocol workflows. Runtime behavior depends on Playwright version, launch flags, profile, and host policy.
- Static non-component distribution:
is_component_build = falseproduces a static Chromium layout centered onchrome.dll, with Windows assembly manifest152.0.7977.54.manifest. - Network compatibility: Uses Chromium's native SOCKS5, HTTP/HTTPS proxy, proxy-authentication, and TLS networking stack.
- Automated upstream pipeline: PowerShell pipeline detects Stable releases, fetches a single tag, syncs dependencies, applies separate Chromium/V8 patches, regenerates GN files, builds, benchmarks, and packages.
📊 Benchmark Results — v152.0.7977.54
Results from the extracted binary using the project benchmark suite:
| Detection or network test | Result | Detail |
|---|---|---|
| Google reCAPTCHA v3 | PASS | Score: 0.9 |
| Cloudflare Turnstile | PASS | Resolved; token generated |
| Sannysoft Detection Suite | PASS | WebDriver missing, Chrome present, Plugins=5 |
| TLS fingerprint | PASS | JA4: t13d1517h2_8daaf6152771_cb7bf5808d99; HTTP/2 |
| DeviceAndBrowserInfo | PASS | isBot=false |
Total: 5/5 benchmark checks passed.
Direct command-line smoke testing on this Windows host remains sensitive to sandbox token and ACL behavior. The Playwright benchmark passed against the extracted binary; see handoff.md for full validation details and limitations.
🛠️ Playwright Python Integration
Point executable_path at the BrowserMulti binary:
import asyncio
from playwright.async_api import async_playwright
async def main():
async with async_playwright() as p:
context = await p.chromium.launch_persistent_context(
user_data_dir="./profiles/profile_01",
executable_path=(
"D:/dichchrome/dist/"
"browsermulti-152.0.7977.54-win64/chrome.exe"
),
headless=False,
args=[
"--no-first-run",
"--no-default-browser-check",
"--disable-blink-features=AutomationControlled",
"--proxy-bypass-list=<-loopback>",
],
)
page = context.pages[0] if context.pages else await context.new_page()
await page.goto("https://antcpt.com/score_detector/")
await asyncio.sleep(10)
await context.close()
if __name__ == "__main__":
asyncio.run(main())
Use only against systems and sites where you have authorization. Do not use BrowserMulti to bypass access controls, fraud controls, or third-party protections without permission.
🔄 Automated Sync and Build
powershell -ExecutionPolicy Bypass -File ./auto_sync_and_build.ps1
The pipeline can reset the Chromium source tree with git checkout . and git clean -df, sync dependencies, and run a long build. Back up local source changes and confirm disk space before execution. The script uses:
- Version-aware Stable version selection.
- Single-tag shallow fetch.
gclient.batdependency sync.- Independent Chromium-root and V8 patch application.
- GN regeneration before Ninja.
- Strict runtime packaging with manifest/XML files.
🧩 Repository Layout
| Path | Purpose |
|---|---|
BrowserMulti_chromium_v154.patch |
Chromium-root Blink, branding, UA, plugin, and search patches |
BrowserMulti_v8_v154.patch |
V8 Inspector patch |
auto_sync_and_build.ps1 |
Stable sync, patch, build, benchmark, and package pipeline |
auto_benchmark.js |
Playwright benchmark suite |
handoff.md |
Architecture notes, failure history, validation status, and operational lessons |
current_version.txt |
Last recorded Stable version |
📦 Release Artifact
Current local artifact:
D:\dichchrome\dist\browsermulti-152.0.7977.54-win64.zip
- Size:
252,757,503 bytes(241.05 MB). - Build: Static x64,
is_component_build = false. - Manifest:
152.0.7977.54.manifest.
Create a GitHub release at:
https://github.com/DungDT293/antidetech-browsermulti/releases/new
- Tag:
v152.0.7977.54 - Title:
BrowserMulti v152.0.7977.54 - Static Release - Description:
Static non-component Chromium build with native Blink/V8 patches; benchmark suite 5/5 PASS. - Asset:
browsermulti-152.0.7977.54-win64.zip
🏷️ Suggested Repository Metadata
Description: High-performance Chromium core with native V8/Blink C++ patches for authorized Playwright and CDP testing.
Topics: chromium, playwright, cdp, blink, v8, chromium-build, cpp, browser-automation
📄 License
This project contains Chromium-derived source and patches. Review Chromium's license and notices in the source tree before redistribution. Project-specific scripts and documentation are MIT-licensed unless stated otherwise.
Metadata
Release files for browsermulti 152.0.7977.54
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| browsermulti-152.0.7977.54.tar.gz | 6.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| browsermulti-152.0.7977.54-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.8 kB
Release files / browsermulti-152.0.7977.54.tar.gz
| Download URL | browsermulti-152.0.7977.54.tar.gz |
|---|---|
| Size | 6.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
39dd0b993ec17f52dd5ea7654b04c3415295cc878204e4388e20c3a114fecac3
|
|
BLAKE2b-256 checksum How to use checksums |
f51f64fa0bac8c0adeaf7a8e6c180ef80afef9886b274c186559c710bce764d3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.6
|
Release files / browsermulti-152.0.7977.54-py3-none-any.whl
| Download URL | browsermulti-152.0.7977.54-py3-none-any.whl |
|---|---|
| Size | 6.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c19bd860c41ecc47022b76fbb057b1f9a75687ac69108a9abb7c7b5b3ec24de1
|
|
BLAKE2b-256 checksum How to use checksums |
a0bf54b2dd98118209bb467d04535d0fcd47db249b467c5cdbff61903074ee60
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.6
|