whatisgithub

What is chromiumfish?

arman-bd/chromiumfish — explained in plain English

Analysis updated 2026-05-18

55RustAudience · developerComplexity · 3/5LicenseSetup · easy

In one sentence

A Chromium fork with a Playwright drop-in SDK that presents a consistent, engine-level browser identity for automated sessions.

Mindmap

mindmap
  root((ChromiumFish))
    What it does
      Stealth Chromium fork
      Engine level spoofing
      Persona seeds
    Tech stack
      Rust
      C plus plus
      Playwright
    Use cases
      Automated browsing
      Consistent identity
      GPU fingerprint bridge
    Audience
      Developers
      Scraper builders

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Run automated browser scripts that present a consistent, engine-level browser identity.

USE CASE 2

Reuse the same persona seed to keep an identity stable across multiple sessions.

USE CASE 3

Route canvas and WebGL calls through an optional Windows bridge for real-GPU fingerprint results.

USE CASE 4

Drop the browser into an existing Playwright script as a near drop-in replacement.

What is it built with?

RustC++PlaywrightPythonNode.js

How does it compare?

arman-bd/chromiumfishnzyuko/rustyvncdoggy8088/leak-hunter
Stars555457
LanguageRustRustRust
Setup difficultyeasyhardeasy
Complexity3/54/53/5
Audiencedeveloperresearcherops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

The Canvas and WebGL bridge for real-GPU results requires a separate Windows machine, prebuilt binaries cover macOS and Linux only.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

So what is it?

ChromiumFish is a fork of the Chromium browser (the open-source base for Google Chrome) that modifies the browser's internals to present a consistent, plausible browser identity rather than the default signals that automated browser sessions typically emit. The project is aimed at people who run web scrapers or automated tests and encounter bot-detection systems that reject standard headless Chromium sessions. The key difference from other similar projects is where the identity spoofing happens. Many stealth browser tools work by injecting JavaScript into pages to overwrite values like the user-agent string or canvas fingerprint. ChromiumFish instead applies its changes directly to the C++ source code of Chromium, so there are no JavaScript patches for detection scripts to find. Properties like user-agent, client hints, fonts, audio context, screen dimensions, and WebRTC behavior are all modified at the engine level. The browser also suppresses the standard automation markers that CDP (Chrome DevTools Protocol) normally exposes. The persona system works through a seed string you provide. Give it the same seed and you get the same coherent identity each time (useful for sessions that need continuity). Give it a different seed and you get a fresh, unlinkable identity. The identity values are internally consistent, so things like CPU core count and reported memory size are correlated the way a real machine would be. Canvas and WebGL fingerprinting present a separate challenge on headless Linux servers, since the software renderer (SwiftShader) gives away that no real GPU is present. ChromiumFish addresses this through an optional bridge service that routes canvas and WebGL calls to a Windows machine with a real GPU, returning results from actual hardware. The bridge is a separate optional component, not bundled in the main binary. The Python and Node packages install in one line (pip install chromiumfish or npm install chromiumfish), download the prebuilt browser binary on first use, and expose an interface that works as a drop-in replacement for standard Playwright. Prebuilt binaries are available for macOS and Linux. The project is MIT licensed.

Copy-paste prompts

Prompt 1
Help me install chromiumfish for Python and run a basic Playwright script with it.
Prompt 2
Explain how ChromiumFish's persona seed keeps identity values internally consistent.
Prompt 3
Walk me through setting up the optional Windows canvas and WebGL bridge.
Prompt 4
Show me the difference between ChromiumFish's approach and JavaScript-based stealth browsers.

Frequently asked questions

What is chromiumfish?

A Chromium fork with a Playwright drop-in SDK that presents a consistent, engine-level browser identity for automated sessions.

What language is chromiumfish written in?

Mainly Rust. The stack also includes Rust, C++, Playwright.

What license does chromiumfish use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is chromiumfish to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is chromiumfish for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.