Skip to main content

chromix (Python)

Drive the Chromix stealth Chromium engine with a CloakBrowser-compatible API — function names, keyword arguments, return types (Playwright Browser / BrowserContext) and CLOAKBROWSER_* env-var names all match the cloakbrowser wrapper, so existing CloakBrowser scripts run on Chromix by changing only the import:

- from cloakbrowser import launch
+ from chromix import launch
from chromix import launch

browser = launch(proxy="http://user:pass@proxy:8080", geoip=True, humanize=True)
page = browser.new_page()
page.goto("https://example.com")
browser.close()

Install

pip install chromix playwright

The distribution and import package are both named chromix. To install the SDK directly from a repository checkout instead, run:

pip install ./sdk/python playwright

On first launch the stealth Chromium binary is downloaded from this repo's GitHub Release, SHA256-verified, and cached under ~/.cache/chromix. Point CLOAKBROWSER_BINARY_PATH at a local build (e.g. your own chrome.exe) to skip the download.

API

Function Description
launch(**opts) Returns a Playwright Browser
launch_async(**opts) Async variant
launch_context(**opts) Returns a BrowserContext (viewport/locale/color_scheme pre-set)
launch_context_async(**opts) Async variant
launch_persistent_context(user_data_dir, **opts) Persistent profile
launch_persistent_context_async(user_data_dir, **opts) Async variant
build_args / get_default_stealth_args Arg assembly (32-bit random seed + platform claim)
maybe_resolve_geoip(geoip, proxy, tz, locale, args) Egress IP → (tz, locale, exit_ip)
ensure_binary / clear_cache / binary_info / check_for_update Binary management
HumanConfig / resolve_human_config Behavioral-layer config (default / careful presets)
ProxySettings Playwright-shaped proxy TypedDict

Options (headless, proxy, args, stealth_args, timezone, locale, geoip, humanize, human_preset, human_config, extension_paths, license_key, browser_version, release_channel, user_agent, viewport, color_scheme) match CloakBrowser name-for-name; **kwargs passes through to playwright.chromium.launch() / browser.new_context().

Env vars

  • CLOAKBROWSER_BINARY_PATH — use a local chrome binary instead of downloading
  • CLOAKBROWSER_VERSION / CLOAKBROWSER_RELEASE_CHANNEL — pin a version/channel
  • CLOAKBROWSER_GEOIP_TIMEOUT_SECONDS — geoip lookup timeout
  • CLOAKBROWSER_WIDEVINE_CDM — explicit Widevine CDM dir (DRM); CLOAKBROWSER_WIDEVINE=0 disables DRM
  • CHROMIX_CACHE_DIR / CHROMIX_DOWNLOAD_HOST — cache location / release host override

High-risk engine ports are available only through explicit browser args:

browser = launch(args=[
    "--fingerprint-devtools-runtime-suppression",
    "--fingerprint-canvas-bridge=127.0.0.1:9228",
    "--fingerprint-canvas-bridge-unsafe",
    "--fingerprint-webrtc-fake-srflx=203.0.113.20",
    "--fingerprint-webrtc-fake-srflx-allow-udp",
])

Runtime suppression can break console/binding-based automation. Canvas Bridge removes the sandbox from bridge renderer processes and forwards canvas/WebGL operations to the configured endpoint. Fake srflx does not enable non-proxied UDP unless the separate allow-udp flag is supplied.

CLI

python -m chromix install      # pre-download the binary
python -m chromix info         # binary / cache info
python -m chromix widevine     # fetch the Widevine CDM (Linux x64)
python -m chromix clear-cache

Intentional differences from CloakBrowser

  1. license_key is accepted and ignored (one open tier).
  2. geoip queries ip-api.com over HTTP instead of a local GeoLite2 database; explicit timezone= / locale= always win.
  3. No cloakbrowser/puppeteer subpath — use the Playwright surface.
  4. Widevine is enabled automatically when a CDM is present (installed Chrome, CLOAKBROWSER_WIDEVINE_CDM, or python -m chromix widevine).

License

The Python SDK is available under the BSD 3-Clause License. See LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chromix-152.0.7977.82.tar.gz (23.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chromix-152.0.7977.82-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

File details

Details for the file chromix-152.0.7977.82.tar.gz.

File metadata

  • Download URL: chromix-152.0.7977.82.tar.gz
  • Upload date:
  • Size: 23.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.5

File hashes

Hashes for chromix-152.0.7977.82.tar.gz
Algorithm Hash digest
SHA256 cee9bfe55d37f73b4ca22fee0ad91c3c44e41c0b352eafe272ff0773389b599c
MD5 88929468a87de309d7610dc07cbcf39e
BLAKE2b-256 479fad3f1dc7e67ffb3a640695b95e7be4c7092c208658538b8afb52aa9432d2

See more details on using hashes here.

File details

Details for the file chromix-152.0.7977.82-py3-none-any.whl.

File metadata

File hashes

Hashes for chromix-152.0.7977.82-py3-none-any.whl
Algorithm Hash digest
SHA256 3d4fffbcf1246eb478de7e8f3bb33d28ad4d2a23a233c700ff2b73fb23428049
MD5 1a633b07b9621a8a639021c50194b1ec
BLAKE2b-256 6957e0cdba46f088263263b9836954149ced71d947761c17e91fe0f5d25c255a

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

152.0.7977.82 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page