What Is Rebrowser? β Definition and How It Works
Learn what Rebrowser patches in Puppeteer and Playwright, why the Runtime.enable leak matters, and how patched drivers compare to patched browsers.
Rebrowser is a set of patches for Puppeteer and Playwright that removes automation traces from the libraries themselves, distributed as drop-in package replacements. It works on the driver side of the connection rather than on the browser build.
1. The Leak It Is Built Around
Automation libraries need a handle on a page's JavaScript execution context so they can evaluate expressions. Both Puppeteer and Playwright get one by enabling the CDP Runtime domain.
That has a side effect a page can observe. With the Runtime domain enabled, the browser's behaviour around errors and console interaction changes in ways a script can provoke and measure. It is not a property that can be redefined, so the usual stealth technique of overwriting navigator.webdriver does nothing about it.
Rebrowser's central patch obtains an execution context without issuing that command, closing the check outright rather than masking its symptoms.
2. Driver Patches Versus Browser Patches
Two approaches solve overlapping problems from opposite ends.
| Patched driver | Patched browser | |
|---|---|---|
| Changes | The automation library | The browser binary |
| Examples | Rebrowser, Patchright | Camoufox, patched-Chromium builds |
| Removes | Library-specific evidence | Fingerprint-level evidence |
| Update burden | Track library releases | Track upstream browser releases |
| Fingerprint control | None | Central feature |
They are complementary, not alternatives. A patched driver stops the site learning that a debugger-grade client is attached; a patched browser stops it reading a fingerprint that says server hardware. Neither substitutes for the other.
3. Adoption Cost
Because the patches ship as replacement packages with the original APIs, adoption is a dependency change. Selectors, waits, and page objects are untouched, which is the main argument for this approach over migrating to a different automation library.
The ongoing cost is version tracking: a patch set follows upstream releases, so pinning versions and testing before upgrades matters more than with the unpatched package.
4. What It Leaves Open
Rebrowser does not manage fingerprints, does not supply proxies, and does not pace requests. A patched Puppeteer connecting from a flagged datacenter range, reporting a headless-looking fingerprint, and fetching pages on a fixed interval is still straightforward to identify β the library evidence was never the binding constraint in that setup.
5. Summary
Rebrowser patches Puppeteer and Playwright to remove the libraries' own detectable behaviour, most notably the CDP Runtime domain side effect that property spoofing cannot hide. It installs as a drop-in dependency and pairs naturally with a fingerprint-controlling browser and a considered proxy strategy, neither of which it provides.