Releases: clark-labs-inc/clark-browser
clark-browser chromium-v148.0.7778.96 stealth2
Summary
Linux x64 binary release for clark-browser chromium-v148.0.7778.96-stealth2.
This release makes the Python auto-download path point at the new stealth2 binary and ships the next round of browser-level fingerprint coherence fixes.
Included
- Auto-download release tag updated to
chromium-v148.0.7778.96-stealth2so fresh installs fetch this build. - Linux platform/font defaults are now coherent instead of mixing a Windows profile with a tiny Linux font surface.
Notification.permissionnow returnsdefaultdirectly whilepermissions.query({name: "notifications"})returnsprompt.- Network Information values (
effectiveType,rtt,downlink,saveData) are seed/profile-derived, including datacenter/mobile-style profiles. - Added opt-in proxy-coherent WebRTC policy controls for HTTP proxy users.
- Added WebGPU adapter-info coherence when WebGPU is available, and made headless WebGPU absence part of the profile rather than accidental drift.
- Added launch hygiene warnings for risky DevTools/CDP/automation flags and an
InteractionPacerhelper for less bursty automation.
Verification
- Local
python3 -m pytest tests/test_imports.py: 32 passed. - Local syntax/checks:
py_compile,bash -n, andgit diff --checkpassed during release prep. - Built on AWS
c7i.8xlargewith the Linux Docker build pipeline. - In-container smoke against the freshly built
headless_shell: passed. - Extracted release tarball smoke against
dist/clark-browser-linux-x64.tar.gz: passed.
Artifact
clark-browser-linux-x64.tar.gz- SHA-256:
df7a3333ddf75634977a3d93ecc0c6795db81c8f4f43d5a57e81afb92f85e27b
Note: the live detector table in the repo is still the stealth1 snapshot unless separately rerun; this release is verified by source tests, c7 build, in-container smoke, and extracted-tarball smoke.
clark-browser chromium-v148.0.7778.96 stealth1
What's new
This is a stealth refresh of the Clark browser Linux binary for the Chromium 148.0.7778.96 line.
- Makes
Notification.permissionand the permissions query surface report a prompt/default-compatible state under Clark fingerprint mode, fixing the sannysoftHEADCHR_PERMISSIONSfailure. - Seeds coherent desktop screen metrics, including
screen.width,screen.height,avail*,outer*, DPR, and 24-bit color depth. - Adds a platform-aware WebGL GPU fallback with Chrome-like WebGL version/shading strings and a Chrome-ish extension allowlist.
- Enables Clark runtime noise defaults for client rects, canvas
measureText, and canvas image data. - Hardens the Linux and E2B smoke suites for UA-CH, WebGL, sannysoft, audio, and canvas seed-differential behavior.
- Fixes background Linux build container launch ordering.
Binary
Asset: clark-browser-linux-x64.tar.gz
SHA256:
902934003d3183dc13fd254ef14d9286a8b47396414e9f851801479c3b3fb4a9
Verification
- Local Python syntax checks and import tests passed.
- Patch dry-runs passed against the Chromium source snapshot for notification, screen, and WebGL patches.
- AWS
c7i.4xlargeLinux build completed and in-container smoke passed. - Actual E2B Ubuntu 24.04 sandbox with
agent-browser 0.27.0passedtests/integration_smoke.py --webgl, including UA/UA-CH, WebGL NVIDIA ANGLE fallback, sannysoft HEADCHR checks, notification permissions, audio seed differential, and canvas seed differential.
Live detector sweep (2026-05-20)
Run environment: E2B Ubuntu 24.04 sandbox, agent-browser 0.27.0, released Linux binary downloaded from this GitHub release and SHA256-verified.
| Target | Result | Evidence |
|---|---|---|
| Baseline JS/CDP probe | PASS | navigator.webdriver=false, plugins.length=5, platform=Win32, coherent 1440x900 screen, WebGL Google Inc. (NVIDIA) / ANGLE (...) Direct3D11; permissions query returned prompt. |
Cloudflare challenge smoke (nowsecure.nl) |
PASS | Loaded target without visible challenge/block text. |
| SannySoft | PASS | WebDriver missing, Chrome present, HEADCHR UA/permissions/plugins/iframe all ok. |
| Antoine Vastel headless test | FAIL | Explicit verdict: You are Chrome headless. |
| BrowserLeaks Client Hints | PASS | Windows + Google Chrome UA-CH, no HeadlessChrome. |
| BrowserLeaks WebGL | PASS | Google/NVIDIA ANGLE, WebGL/WebGL2 enabled, no SwiftShader/llvmpipe text. |
| Incolumitas, Pixelscan, BotD demo, CreepJS | OBSERVED | Loaded and captured; no stable passive verdict for several pages. CreepJS still shows a Headless panel. |
Full table and raw captured JSON are published in the repo:
docs/bot-detection-results.md.
Antoine Vastel follow-up
The original live detector sweep marked Antoine Vastel's headless test as failed. Follow-up investigation isolated this to the HTTP Accept-Language header rather than a JS-only browser surface.
Targeted E2B + agent-browser rerun using the same released binary:
| Launch variant | Antoine result |
|---|---|
Without --accept-lang |
You are Chrome headless |
With --accept-lang=en-US,en |
You are not Chrome headless |
clarkbrowser.get_default_stealth_args() and the smoke tests now include --accept-lang=en-US,en; the public results table has been updated with the follow-up evidence.
clark-browser chromium-v148.0.7778.96
Linux x64 build with coherent UA Client Hints / navigator.userAgentData fingerprinting. Includes headless_shell, chrome compatibility launcher, headless resource packs, and runtime helper libraries. Built on AWS c7i.8xlarge with host-memory Docker runner. In-container build-output smoke and extracted-tarball smoke both passed. SHA-256: d58fe7380092d4a382ccbf75b85d0288caafb4ab79972984c6865858a196abf8.
clark-browser v148.0.7778.96-stealth0
ungoogled-chromium 148.0.7778.96 + clark stealth patches. Linux x86_64 + macOS arm64.