Integration guide · public reference

GodBrowser — Integration Guide

GodBrowser is a patched Chromium 147 anti-fingerprint browser. It ships per-profile, deterministic, internally-coherent device fingerprints across 5 OSes (Windows / macOS / Linux / iOS / Android) and 5 browser engines (Chrome / Safari / Firefox / Samsung Internet / Edge), and silently passes the major protection stacks (PerimeterX, DataDome, Cloudflare, Akamai, and more). It also auto-solves captchas in-browser. You integrate with it exactly like Chrome — launch it with flags, or drive it over the standard Chrome DevTools Protocol (CDP).

AI / agent integrating programmatically? Fetch the machine-readable version: https://godbrowser.io/llms.txt (concise) · https://godbrowser.io/llms-full.txt (full param dump).

Chromium 1475 OS × 5 browsers 121/139 params verified 13/16 captcha widget types proven on real sites.

Quick start

Get the build (access-controlled)

# GodBrowser binaries are access-gated; request access for the install one-liner + signed builds.
The integration info on this page is public; the binaries are not publicly distributed. Once you have the build, the usage below applies as-is.

Run a persona at a URL (wrapper)

./tools/run_godbrowser.sh --bot-os=macos --bot-browser=chrome https://example.com
The wrapper sets sane defaults (mock-keychain, captcha-on-if-key-present, etc.) and forwards any --bot-* flag.

Run the raw binary directly

/Applications/GodBrowser.app/Contents/MacOS/GodBrowser --bot-os=windows --bot-browser=firefox https://example.com
Every --bot-* flag works on the raw binary too; the wrapper is optional convenience.

Deterministic persona (reproducible fingerprint)

GodBrowser --bot-profile=<seed-string> https://example.com
A given seed always yields the identical coherent persona (UA, fonts, canvas, audio, WebGL, locale, timezone…).

Automate over CDP (the integration path)

GodBrowser --remote-debugging-port=9222 --remote-allow-origins=* --bot-profile=s7 https://example.com
Connect Puppeteer/Playwright/any CDP client to ws://127.0.0.1:9222 (the --remote-allow-origins=* is required for programmatic DevTools-WS clients). isTrusted input + the FP spoofing are native (not CDP-injected), so they survive automation.

Personas (fingerprint selection)

Captcha auto-solve

Captcha auto-solve is built in. Provide a solving-service key via an env var (or --bot-captcha-key-file=<path>) and it auto-solves reCAPTCHA-v2 + auto-clicks Cloudflare-managed Turnstile checkboxes with no host sidecar. The wrapper turns it on automatically when a key is present (read from .env). Opt out with GB_CAPTCHA_OFF=1 or --bot-captcha-auto=off. The key is read browser-process-only and never reaches the renderer, page, command line, or logs.

Proxy & geo-coherent egress

For geo-coherent egress, set GODBROWSER_PROXY_SEED=<proxy-template-url> in the environment and pick a country with --bot-proxy-seed-country=<ISO2> (the wrapper alias is --proxy-country=XX). The persona locale + timezone + Accept-Language are made coherent with the chosen exit country automatically. A static upstream proxy is --bot-proxy=<url> (no seed→locale resolution).

Automation & integration

Full parameter reference (139 switches)

Every --bot-* / --bm-* switch and the key environment variables. Grouped by family.

environment variables

--bot-captcha-key-fileSolving-service key for in-browser auto-solve (browser-process-only; or supply via .env).
GB_CAPTCHA_OFF=1Disable captcha auto-solve.
GODBROWSER_PROXY_SEEDProxy-pool / template URL that drives seed→locale→egress resolution.
GB_BIN(wrapper) path to a specific GodBrowser binary.
Each switch below carries a status from our live switch-coverage harness (run against this exact build): verified = tested working standalone; needs dep = works once you supply the noted external dependency (e.g. a captcha-solver key or proxy); flags that are declared-but-not-wired are listed separately at the bottom so you don’t rely on them.

Verified — tested working (121)

bot (42)

switchwhat it does
--bot-always-activeForce document.hidden=false / visibilityState=visible / userActivation.
launch-clean + wired
--bot-audio-noise-seedOverride the audio noise seed.
launch-clean + wired
--bot-auto-print-seedapplied browser
--bot-block-resourcesFine-grained resource block list (images, media, fonts, ...).
applied browser-side via fingerprint_profile/launch (renderer-forward not required)
--bot-bookmarksPre-seed the BookmarkModel at startup.
applied browser-side via fingerprint_profile/launch (renderer-forward not required)
--bot-browserBrowser-kind override — drives UA-CH brands, EME stub, vendor strings.
launch-clean + wired; tier-2 PASS: bot-browser=safari->navigator~"Safari":Y
--bot-browser-versionlaunch
--bot-cookiesPre-seed the CookieManager at startup.
applied browser-side via fingerprint_profile/launch (renderer-forward not required)
--bot-custom-headersInject custom HTTP request headers on navigation + subresources.
launch-clean + wired
--bot-direct-resourcesapplied browser
--bot-enable-webrtclaunch
--bot-fp-telemetrylaunch
--bot-fpsrAF cadence control (n / profile / real).
launch-clean + wired
--bot-humanizelaunch
--bot-inject-random-historyPre-populate HistoryService + spoof history.length.
launch-clean + wired
--bot-internal-auto-defaultlaunch
--bot-mobile-force-touchlaunch
--bot-network-info-overridelaunch
--bot-noise-seedOverride the canvas noise seed.
launch-clean + wired
--bot-noise-seed-modePer-eTLD+1 noise seed mixing (profile / per-etld).
launch-clean + wired
--bot-noop-preludelaunch
--bot-osPick the OS family the profile spoofs (windows / macos / linux / android / ios).
launch-clean + wired; tier-2 PASS: bot-os=windows->navigator~"Windows":Y; bot-os=ios->navigator~"iPhone|iPad":Y
--bot-pageload-jitterSynthetic NavigationTiming jitter.
launch-clean + wired
--bot-port-protectionlaunch
--bot-prelude-uptolaunch
--bot-profileDeterministic per-seed fingerprint. Same seed = same identity, anywhere.
launch-clean + wired; tier-2 PASS: deterministic: same-seed UA ==
--bot-profile-dirRandom-pick mode: rotate through a directory of profile seeds.
applied browser-side via fingerprint_profile/launch (renderer-forward not required)
--bot-proxy-bypass-rgxlaunch
--bot-redis-key-prefixapplied browser
--bot-redis-uriCross-machine session sync — restore cookies + storage per seed.
applied browser-side via fingerprint_profile/launch (renderer-forward not required)
--bot-resource-modelite/full resource blocker — drop non-essential requests pre-network.
applied browser-side via fingerprint_profile/launch (renderer-forward not required)
--bot-scriptlaunch
--bot-self-testapplied browser
--bot-session-visibility-cadencelaunch
--bot-stack-seedlaunch
--bot-time-scaleFractional time scaler for timing surfaces.
launch-clean + wired
--bot-time-seedlaunch
--bot-titlelaunch
--bot-tls-mimiclaunch
--bot-utlsapplied browser
--bot-webrtc-icelaunch
--bot-webrtc-noise-seedOverride the WebRTC noise seed.
launch-clean + wired

bot-config (24)

switchwhat it does
--bot-config-architecturelaunch
--bot-config-bitnesslaunch
--bot-config-browser-brandlaunch
--bot-config-color-schemelaunch
--bot-config-disable-device-scale-factorlaunch
--bot-config-fontslaunch
--bot-config-keyboardlaunch
--bot-config-languagesnavigator.languages AND the Accept-Language header.
launch-clean + wired; tier-2 PASS: bot-config-languages=fr-FR,fr->navigator~"fr":Y
--bot-config-localenavigator.language, Intl.locale, ICU default.
launch-clean + wired; tier-2 PASS: bot-config-locale=de-DE->navigator~"de":Y
--bot-config-locationlaunch
--bot-config-media-deviceslaunch
--bot-config-media-typeslaunch
--bot-config-mobilelaunch
--bot-config-modellaunch
--bot-config-no-tz-warningapplied browser
--bot-config-orientationlaunch
--bot-config-platformlaunch
--bot-config-platform-versionlaunch
--bot-config-speech-voiceslaunch
--bot-config-stack-sizelaunch
--bot-config-timezoneICU + V8 isolate timezone.
launch-clean + wired; tier-2 PASS: bot-config-timezone=Asia/Tokyo->Intl~"Tokyo":Y
--bot-config-ua-full-versionlaunch
--bot-config-webglShort-circuit WebGL context creation when set to disabled.
launch-clean + wired
--bot-config-webgpuShort-circuit WebGPU when set to disabled.
launch-clean + wired

bot-config-noise (10)

switchwhat it does
--bot-config-noise-audio-contextlaunch
--bot-config-noise-canvaslaunch
--bot-config-noise-client-rectslaunch
--bot-config-noise-scale-audio-contextlaunch
--bot-config-noise-scale-canvaslaunch
--bot-config-noise-scale-client-rectslaunch
--bot-config-noise-scale-text-rectslaunch
--bot-config-noise-scale-webgl-imagelaunch
--bot-config-noise-text-rectslaunch
--bot-config-noise-webgl-imagelaunch

bot-disable (43)

switchwhat it does
--bot-disable-audio-spooflaunch
--bot-disable-battery-spooflaunch
--bot-disable-behavioral-jitterlaunch
--bot-disable-click-gaussianlaunch
--bot-disable-codec-spooflaunch
--bot-disable-console-messagelaunch
--bot-disable-debuggerStrip the DevTools-attach signal.
launch-clean + wired
--bot-disable-devmem-spooflaunch
--bot-disable-document-hidden-spooflaunch
--bot-disable-etld-noiseapplied browser
--bot-disable-fonts-spooflaunch
--bot-disable-host-gpu-matchlaunch
--bot-disable-hwconcur-spooflaunch
--bot-disable-iife-preludelaunch
--bot-disable-ime-compositionlaunch
--bot-disable-languages-spooflaunch
--bot-disable-matchmedia-spoofapplied browser
--bot-disable-media-devices-spooflaunch
--bot-disable-mouse-curvaturelaunch
--bot-disable-native-cloaklaunch
--bot-disable-netinfo-spooflaunch
--bot-disable-permissions-spooflaunch
--bot-disable-plugins-spooflaunch
--bot-disable-pointer-jitterapplied browser
--bot-disable-screen-spooflaunch
--bot-disable-screenxy-farblelaunch
--bot-disable-stack-spooflaunch
--bot-disable-storage-spooflaunch
--bot-disable-symbol-markerlaunch
--bot-disable-timezone-spooflaunch
--bot-disable-ua-spooflaunch
--bot-disable-uach-http-spooflaunch
--bot-disable-uach-spooflaunch
--bot-disable-voice-canonicallaunch
--bot-disable-webauthn-spooflaunch
--bot-disable-webgl-vendor-spooflaunch
--bot-disable-webgpu-quantizelaunch
--bot-disable-webrtcRemove RTCPeerConnection + getUserMedia entirely.
launch-clean + wired
--bot-disable-webrtc-ice-spooflaunch
--bot-disable-webrtc-sdp-spooflaunch
--bot-disable-wheel-inertialaunch
--bot-disable-widevine-stublaunch
--bot-disable-window-chrome-spooflaunch

other (2)

switchwhat it does
--no-bot-autoapplied browser
--title-id-prefixapplied browser

Needs an external dependency (17)

These work once the noted dependency is configured (captcha service key, proxy pool, or BusyMate). The "what it does" note states the dep.

switchwhat it does
--bm-auth-fileapplied browser
--bm-capture-allCapture every request/response pair, not just decrypted app traffic.
applied browser-side via fingerprint_profile/launch (renderer-forward not required); external-infra (Busymate / solver) — dormant unless configured; Tier-2 needs the external dep
--bm-clientapplied browser
--bm-device-nameBusyMate capture on-switch + dormancy gate. No flag = stock behavior.
applied browser-side via fingerprint_profile/launch (renderer-forward not required); external-infra (Busymate / solver) — dormant unless configured; Tier-2 needs the external dep
--bm-disableapplied browser
--bm-ingest-urlapplied browser
--bm-self-testapplied browser
--bot-captcha-autoapplied browser
--bot-captcha-key-fileapplied browser
--bot-captcha-providerapplied browser
--bot-captcha-proxyapplied browser
--bot-captcha-timeoutapplied browser
--bot-captcha-typesapplied browser
--bot-egress-countriesneeds live egress to fully verify (Tier
--bot-proxy-seedDeterministic per-profile proxy from an MPP / solver pool URL.
applied browser-side via fingerprint_profile/launch (renderer-forward not required); needs live egress to fully verify (Tier-2)
--bot-proxy-seed-countryISO-2 country filter for proxy-seed selection.
applied browser-side via fingerprint_profile/launch (renderer-forward not required); needs live egress to fully verify (Tier-2)
--bot-proxy-seed-refreshapplied browser

Not yet wired (1)

Declared in the binary but not functional yet — do not rely on: --bot-disable-audio-sample-rate-spoof.

Getting the build

This page (the integration info + params) is public. The GodBrowser binaries are access-controlled and not publicly distributed — request access to receive the install one-liner and the signed macOS / Linux / Windows builds. Everything above works once you have the build.