Replace the agentic browser fleet's Chromium engine with CloakBrowser - #290
Closed
minhtrinh-imbue wants to merge 3 commits into
Closed
Replace the agentic browser fleet's Chromium engine with CloakBrowser#290minhtrinh-imbue wants to merge 3 commits into
minhtrinh-imbue wants to merge 3 commits into
Conversation
The fleet now launches CloakBrowser (a from-source C++/Blink/V8 stealth- patched Chromium fork) instead of Playwright's own managed Chromium -- session.py points browser_use at a fixed /opt/cloakbrowser/chrome instead of playwright.chromium.executable_path. deferred_install.sh installs it on first boot: apt-only playwright install-deps for shared libs, then a pinned, SHA256-verified per-arch (Linux x64/arm64) CloakBrowser release, unpacked to /opt/cloakbrowser/. Playwright's own managed-Chromium download is dropped entirely -- any agent's own direct Playwright calls also use CloakBrowser now (pass executable_path explicitly; see the updated CLAUDE.md guidance), so there's one Chromium binary in the image, not two. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…replace it Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…gine # Conflicts: # libs/bootstrap/README.md
4 tasks
Contributor
Author
|
Superseded — switching to a native arm64 build of Fortress (tiliondev/fortress#28 + https://github.com/MT-GoCode/fortress/releases/tag/linux-arm64-151.0.7908.0), stronger stealth engine with no free-tier version staleness. CloakBrowser was the fallback while Fortress had no arm64 build; that's resolved now. No work lost, just not the direction going forward. |
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
libs/browser) now drives CloakBrowser -- a from-source C++ (Blink/V8) stealth-patched Chromium fork -- instead of Playwright's own managed Chromium.session.py'sLiveBrowser.startnow pointsbrowser_use.BrowserSession(executable_path=...)at a fixed/opt/cloakbrowser/chromeinstead ofplaywright.chromium.executable_path.scripts/deferred_install.shno longer downloads Playwright's Chromium at all:playwright install-deps chromiumstill runs (apt shared libs only), then a pinned, SHA256-verified, per-arch (Linux x64/arm64) CloakBrowser release is curl'd + unpacked to/opt/cloakbrowser/. Two done-markers now (done.playwright_deps,done.cloakbrowser) instead of one.from playwright.sync_api import sync_playwright) also need to passexecutable_path="/opt/cloakbrowser/chrome"explicitly now, since Playwright's own browser-cache autodiscovery only finds builds it downloaded itself.CLAUDE.md's browser-automation guidance is updated accordingly (this branch predates theAGENTS.mdsplit in flight onadd-codex, so the edit landed inCLAUDE.mddirectly, matching currentmain).Why CloakBrowser and not Fortress
Considered
tiliondev/fortressfirst (same class of tool -- C++-engine-level stealth patches, not JS/CDP-layer). Ruled it out: it ships no Linux arm64 build (native binaries are Linux x64 + Windows x64 only; their own roadmap listslinux/arm64as unshipped), which would break the desktop/Lima path on Apple Silicon. CloakBrowser publishes realcloakbrowser-linux-arm64.tar.gzrelease assets (verified directly against their GitHub releases API) and a genuinely multi-arch Docker image (amd64+arm64, verified via Docker Hub's API), covering both the desktop (arm64) and cloud (amd64) paths with one engine. Tradeoff: CloakBrowser's free tier trails their paid tier by ~1-2 Chromium majors (~6-10 weeks); accepted per discussion.Test plan
libs/browser/browser_test.py-- full suite passes (64/64), includingtest_deferred_install_ready_gates_on_markerlibs/browser/test_browser_integration.py::test_http_new_browser_blocked_until_chromium_installed-- passesbash -n scripts/deferred_install.sh-- valid syntaxmain, dependencies fully syncedchromium-v146.0.7680.177.4, linux-arm64) to confirm the real binary path (chrome, unbranded, flat archive) rather than assuming itdeferred_install.shend-to-end (curl/tar/sha256 in a real gVisor/Lima container), and a real fleet browser launch against the CloakBrowser binary🤖 Generated with Claude Code