Installation

  1. Python
  2. Node
  3. Configuration
  4. Platform support

ChromiumFish ships as two packages that share one private browser build. Both use Playwright and download the binary on first use. The SDK itself has no fingerprinting logic; it fetches, verifies, and caches the build, then launches it through Playwright.

Python

pip install chromiumfish

Playwright is pulled in as a dependency. You do not need playwright install; ChromiumFish brings its own browser.

Optionally pre-fetch the browser build (it also happens automatically on first launch):

chromiumfish fetch

This downloads and caches the build under ~/.cache/chromiumfish/<version>/.

Node

npm install chromiumfish playwright-core

playwright-core is a peer dependency. Then optionally pre-fetch the build:

npx chromiumfish fetch

Configuration

Environment variable Purpose
CHROMIUMFISH_VERSION Pin a specific browser build version.
CHROMIUMFISH_CACHE_DIR Override the cache location (default ~/.cache/chromiumfish/<version>/).
CHROMIUMFISH_GEOIP_VERSION Pin the ip2tz database version (e.g. 2026.06) or latest.
CHROMIUMFISH_GEOIP_TTL How often to re-check the latest ip2tz pointer.

Using timezone="auto" downloads a small ip2tz database on first use, so that call needs network access. The DB caches after the first download.

Platform support

Platform Status
Linux x64 Supported (SwiftShader, headless-friendly)
macOS arm64 (Apple Silicon) Supported
Windows x64 Coming soon

Linux builds run on GPU-less hosts via SwiftShader, which is ideal for cloud/VPS automation.


Back to top

An independent fork of Chromium. Not affiliated with or endorsed by Google.

This site uses Just the Docs, a documentation theme for Jekyll.