Whole Antidetect Catalog Donut Browser

Catalogue · Section 02 · Entry

rebrowser-patches

NRND

rebrowser-patches is a JavaScript project catalogued in section 02 of this register. Patches Puppeteer and Playwright for the Runtime.enable CDP leak; the writeup that came with it is still worth reading. It reads NRND — not recommended for new designs. It very probably still works; the register's position is that it is not where you should start, and the clause that produced that is printed further down this page.

https://github.com/rebrowser/rebrowser-patches


The fields this state was derived from

FieldValue at this printing
pushed_at 2025-05-09
archived false
latest_release —
license.spdx_id null (none declared)
stargazers_count 1400
http_status 200
fetched_at 2026-08-14T09:12:00Z
endpoint GET https://api.github.com/repos/rebrowser/rebrowser-patches
rubric_edition 2nd, in force since 2026-08-14
unauthenticated · 60 req/hr

A live read does not change what is printed above it. The site records that you ran it; what GitHub returned is not kept. The printed state moves only when the register is swept and a new printing is issued. raw JSON

Why it reads NRND

pushed_at = 2025-05-09 — 462 days, inside the 365–1095 day NRND band.

Not Recommended for New Designs. Works; do not start here.

Under the superseded first edition

SEMI NRND
pushed_at = 2025-05-09 — 462 days, inside the 180–1095 day SEMI band.

The rubric in force · The superseded first edition · Errata leaf


What rebrowser-patches actually does

Patches Puppeteer and Playwright for the same CDP execution-context leak, and shipped with a written explanation of the mechanism that remains one of the clearer public accounts of why driven browsers are detectable at the protocol layer.

What rebrowser-patches's maintenance signals mean

pushed_at reads 2025-05-09 — 462 days, or just over a year, before the field check, which places it inside the 365-to-1095-day band the rubric calls NRND.

NRND is borrowed intact from the electronic component catalogues, where it means Not Recommended for New Designs, and it is the most useful state in this register precisely because it is not a synonym for broken. The part is still in the catalogue. You can still buy it. If you are designing something new, do not design it in. Applied here: what this project does, it very likely still does. Starting a new build on it means inheriting a maintenance gap you did not create and cannot close.

No release was captured for this entry, which this register records as unknown rather than as none. The distinction matters more than it looks: a project with no tags and a project whose tags the sweep failed to read produce the same blank cell, and printing them as the same fact would be the register asserting something it has not measured.

Where rebrowser-patches sits in this catalogue

rebrowser-patches is filed in section 02, automation stealth plugins, patches & cdp-leak fixes, whose scope is this: Patches and plugins for Puppeteer, Playwright and Selenium, plus the proxies and cursor libraries that sit beside them. An entry sits in exactly one section here. Where a project could defensibly go in two, it is placed where a reader would look for it first rather than where it fits most tidily, and that is an editorial decision rather than a measured one.

Filed beside it in the same section: Patchright (Node) (ACTIVE), Patchright (Python) (ACTIVE), CDP-Patches (ARCHIVED). Comparing an entry against its own section-mates is more informative than comparing it against the catalogue as a whole, because everything in a section is answering roughly the same question and the differences left over are the ones that matter.

Its licence field is empty, and this register treats that as a finding rather than a gap — see every entry here that declares no licence. Source you can read is not source you have been granted the right to use, modify or redistribute, and an absent licence file means exactly that absence and nothing friendlier. It is also grouped with everything else the rubric marks NRND.

This register records that Patchright (Node) supersedes rebrowser-patches. Supersession here is declared, never inferred: it is printed only where a project or its author says so, because "newer" and "replaces" are not the same relation and treating them as one is how a list starts recommending rewrites nobody asked for.

The rebrowser-patches relations page sets every declared edge side by side on licence, push date, release cadence and derived state.

What to settle before you adopt rebrowser-patches

The writeup has aged better than the code: read it for the mechanism, then check whether the patch set still applies to the driver version you use. It declares no licence, so reuse in a product is a question to answer first.


See also

Relation Entry State Last push
superseded by Patchright (Node) ACTIVE 2026-08-05

Full comparison of rebrowser-patches and its alternatives


Questions readers ask about rebrowser-patches

Answered from this entry's own fields, at the field check printed above and at no other instant.

Is rebrowser-patches still maintained?

At the 2026-08-14 field check this register read pushed_at as 2025-05-09 and the archive flag as false, and the rubric in force turned those into NRND. Not Recommended for New Designs. Works; do not start here. The clause that fired is printed on this page, so you can check the arithmetic rather than take the word.

What replaced rebrowser-patches?

Patchright (Node), and only because that succession is declared rather than guessed. This register never infers that one project replaces another from dates alone. The comparison table prints both on the same fields.

What licence is rebrowser-patches under?

None is declared. That is a finding, not a formatting problem: without a licence file there is no grant to use, modify or redistribute the code, however openly it is published. Every entry here in the same position is listed together for that reason.

Why did the state recorded for rebrowser-patches change?

Because the rules changed, not because the world did. The same field data reads SEMI under the superseded first edition and NRND under the edition in force. Both derivations are printed on this page, and the entry appears on this printing's errata leaf with the superseded value struck rather than deleted.


Everything in section 02 is a patch applied to somebody else's automation stack, which means every one of them inherits that stack's release cadence and breaks on its own schedule. Donut Browser starts from the other end: the fingerprint handling is in the browser it ships rather than in a layer bolted onto a driver, and the local REST API and MCP server mean automation talks to it directly instead of through a patched client library.

Download Donut Browser

curl -fsSL https://donutbrowser.com/install.sh | sh

macOS (DMG, Homebrew cask donut), Windows (installer and portable), Linux (deb, rpm, AppImage, with APT and RPM repositories at repo.donutbrowser.com), and a Nix flake. Desktop only — there is no mobile build target. Ten shipped languages. Source, AGPL-3.0 · its own entry, judged by the same rubric · the keepers' disclosure.