Skip to content

The open-source Zendriver alternative

Zendriver is the community fork of nodriver: fast, async, CDP-only, with an open contribution process and Docker support. Like nodriver it drives a stock Chrome, so the fingerprint is still your machine's. Clearcote changes that fingerprint in the engine, and Zendriver can drive it.

What is Zendriver?

Zendriver is a fork of nodriver started to merge pull requests that had stalled upstream, add static typing and linting, and open the project to contributions. It is async-first, talks the Chrome DevTools Protocol directly with no Selenium or WebDriver, and has a companion Docker setup for running a GPU-accelerated, non-headless Chrome on Linux. It is AGPL-3.0, has about 1,450 GitHub stars and around 270,000 PyPI downloads a month, and released 0.17 in late September 2026, a large release that brought in the features nodriver had added since the fork.

Zendriver inherits nodriver's design: it removes the WebDriver surface entirely, but the Chrome it controls is unmodified. Canvas, WebGL, fonts and hardware come from the host. Since 0.17 each browser context can use its own proxy, but there is no way to give a session a different device fingerprint. The AGPL-3.0 licence is strong network copyleft, which matters if you run it as part of a hosted service.

Clearcote vs Zendriver

FeatureClearcoteZendriver
Approach Engine-level C++ patches Direct CDP client on a stock Chrome
Fingerprint identity Coherent persona from a seed Your host's real values
WebDriver surface None: driven over CDP None: driven over CDP
Docker Official image with a CDP endpoint Companion image for GPU-accelerated Chrome (Linux)
TLS / network ClientHello follows the persona's Chrome version Whatever the local Chrome sends
Interface Playwright & Puppeteer, plus a raw CDP endpoint Its own async Python API
License Open build BSD-3 AGPL-3.0 (network copyleft)
Cost Open build free; latest build free with GitHub; Pro $49/mo Free & open

Comparison compiled November 2026. Zendriver is open source (agpl-3.0); details change — check its project for the latest.

Measured: 12 tools on the same 10 sites

We ran the open-source browsers-benchmark harness 5 times, finishing on 27 October 2026. Each tool ran on its own US residential IP, in a different order each run. A pass means the harness's own check for that site found the page itself, not a block or challenge page. Clearcote measured on a Windows desktop (latest build); other tools on a Linux server.

Share of page loads that reached the real page, per tool, headed and headless
ToolHeadedHeadless
Clearcote0.63.2 · r5278%39/5080%40/50
Camoufox0.5.8 · v156.0.1-beta.3672%36/5080%40/50
Invisible Playwright0.43.0 · Firefox76%38/5078%39/50
CloakBrowser0.6.474%37/5064%32/50
SeleniumBase (CDP mode)4.49.0 · Chrome74%37/50—
nodriver0.50.6 · Chrome74%37/5040%20/50
Zendriver0.17.1 · Chrome64%32/5060%30/50
tf-playwright-stealth (Firefox)1.2.058%29/5062%31/50
tf-playwright-stealth (Chromium)1.2.056%28/5050%25/50
Playwright (Chromium)1.62.056%28/5030%15/50
Playwright (Firefox)1.62.054%27/5054%27/50
Patchright1.64.3 · Chrome24%12/5026%13/50

Sites: a search results page, a community forum, a software company's site, a luxury retailer, a marketplace product page, a ticketing site, a fashion retailer, a travel booking site, an airline, a social network. This is a snapshot from one network and one week: results move with every release, every proxy and the sites themselves, and no tool loaded every site every time. Raw results (JSON).

Why teams pick Clearcote

Changes what the browser reports

Zendriver controls Chrome cleanly, but the Chrome is stock. Clearcote sets canvas, WebGL, fonts, screen and hardware in the engine, as one consistent persona.

Many identities from one host

Every seed is its own machine, so parallel sessions don't share the fingerprint of the server they run on.

Permissive licence

AGPL-3.0 has obligations for network services. Clearcote's open build is BSD-3, which doesn't.

Works with Zendriver

Zendriver's browser_executable_path accepts any Chromium binary, including Clearcote.

When Zendriver might be the better pick

  • You like the async nodriver-style API and the host's own fingerprint is acceptable for your targets.
  • AGPL-3.0 is fine for how you use it.
  • Or run Zendriver on Clearcote: pass the binary as browser_executable_path and the fingerprint arguments as browser_args.

FAQ

Zendriver vs nodriver: what's the difference?

Zendriver is a fork of nodriver that merged pending fixes, added linting and typing, opened the issue tracker and added Docker support. The core approach, a direct CDP client for a stock Chrome, is the same.

Does Zendriver change the browser fingerprint?

No. It removes the WebDriver layer, but canvas, WebGL, fonts, screen and hardware come from the Chrome it launches and the machine it runs on.

Can Zendriver drive Clearcote?

Yes. Set browser_executable_path to the Clearcote binary (the SDK's download() returns its path) and pass --fingerprint in browser_args.

How deep it goes

More than twice the patches of any fork we compared.

Patches compiled into Chromium, by approach. Script-based tools don't change the engine at all.

Stealth plugins

e.g. puppeteer-extra-plugin-stealth

0

Patched drivers

e.g. undetected-chromedriver, nodriver

0

Other Chromium forks

free and paid builds

35–87

Clearcote Pro

r57, Chromium 156

240

Published patch counts, October 2026. The range covers other forks' free and paid builds; Clearcote's is the Pro build.

Test it

365 checks, free, on your own browser

The fingerprint test every Clearcote build is held to. Run it on whatever you use today and compare.

Run the test
Read it

The open build's patches are public

The free open build is BSD-3, reproducible from source and needs no account. The Pro build adds private patches on top.

Open on GitHub
Watch it ship

57 engine releases, 7 Chromium majors

Every patch is carried to each new Chromium. The latest build gets new majors the day they ship.

See the releases

Related reading

CompareClearcote vs nodrivernodriver is the successor to undetected-chromedriver: fast, async, no Selenium, straight CDP. But it still drives a stock Chrome, so the fingerprint is your machine's. Clearcote keeps the CDP-first ergonomics and changes the fingerprint and TLS in the engine.Q&AWhat is CDP detection?The Chrome DevTools Protocol drives automation but leaves side-effects — Runtime.enable, injected init scripts, main-world execution — that a page can observe. Spotting those is CDP detection.DocsDeployment — Docker & CDP endpointRun Clearcote as a stealth CDP endpoint: the official Docker image, serve(), and attaching Playwright, Puppeteer or browser-use over CDP with no code change.CompareClearcote vs CamoufoxCamoufox is a well-built open-source anti-detect browser, on Firefox. Clearcote takes the same engine-level approach to Chromium, so your automation presents the browser about 66% of the web actually uses instead of one used by about 3%.CompareClearcote vs CloakBrowserCloakBrowser is a capable engine-level stealth Chromium with a large following, but the patched binary is closed source. Clearcote is engine-level too, and ships an open build whose every patch you can read and rebuild.CompareClearcote vs undetected-chromedriverundetected-chromedriver is still downloaded about 2.5 million times a month, but its last release was in February 2024. It hides the Selenium/ChromeDriver seam on a stock Chrome and never touches the fingerprint or the network layer. Clearcote changes both in the engine.

Try the open-source Chromium alternative

Free and open source, a drop-in for Playwright & Puppeteer, coherent down to the TLS handshake.

Free for one browser: GitHub, a card check or a company Google account. Never charged.