Whole Antidetect Catalog Donut Browser

Catalogue · State

Unmaintained antidetect tools other lists still recommend

NRND · 12

Not Recommended for New Designs, in the sense the component catalogues use it: it works, it is not where you should start, and something in this register replaces it or has outlived it.


The rule that sets it, second edition: pushed 365–1095 days before the field check — or pushed more than 180 days ago while an entry in this registry declares it superseded and that successor is ACTIVE.

Not Recommended for New Designs, borrowed from the component catalogues. The second clause is the one that catches undetected-chromedriver and the original curl-impersonate: both work, and neither is where you should start. All thresholds and the endpoints they read

Across sections: 01 1 · 02 7 · 03 1 · 07 1 · 10 2

LicenceNO LICENCE DECLARED
Pushed2025-04-25
Release—
Stars850
StateNRND
Silent476 d

Undetectable Fingerprint Browser

NRND[NRND]

Chromium build spoofing Canvas, WebGL and user agent, published as a Multilogin alternative.

No licence declared

Source

Evidence

Why NRND: pushed_at = 2025-04-25 — 476 days, inside the 365–1095 day NRND band.

FieldValue at this printing
pushed_at2025-04-25
archivedfalse
latest_release—
license.spdx_idnull (none declared)
stargazers_count850
http_status200
fetched_at2026-08-14T09:12:00Z
rubric_edition2nd, in force

Endpoint: GET https://api.github.com/repos/itbrowser-net/undetectable-fingerprint-browser

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

No licence file means no grant of rights, whatever the README implies. Read the state mark and the licence field together before you build on it. — ED.

See also · superseded by · alternatives

LicenceMIT
Pushed2024-07-18
Release—
Stars7.4k
StateNRND
Silent757 d

puppeteer-extra

NRND[NRND]

The classic plugin framework; puppeteer-extra-plugin-stealth lives in this monorepo and is what most tutorials still reach for.

Source

Evidence

Why NRND: pushed_at = 2024-07-18 — 757 days, inside the 365–1095 day NRND band.

FieldValue at this printing
pushed_at2024-07-18
archivedfalse
latest_release—
license.spdx_idMIT
stargazers_count7400
http_status200
fetched_at2026-08-14T09:12:00Z
rubric_edition2nd, in force

Endpoint: GET https://api.github.com/repos/berstend/puppeteer-extra

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

Still the most-copied answer on the internet and two years without a push. That gap is the single best argument for this catalogue existing. — ED.

See also · superseded by · alternatives

LicenceNO LICENCE DECLARED
Pushed2025-05-09
Release—
Stars1.4k
StateNRND
Silent462 d

rebrowser-patches

NRND[NRND]

Patches Puppeteer and Playwright for the Runtime.enable CDP leak; the writeup that came with it is still worth reading.

No licence declared

Source

Evidence

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

FieldValue at this printing
pushed_at2025-05-09
archivedfalse
latest_release—
license.spdx_idnull (none declared)
stargazers_count1400
http_status200
fetched_at2026-08-14T09:12:00Z
rubric_edition2nd, in force

Endpoint: GET https://api.github.com/repos/rebrowser/rebrowser-patches

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

See also · superseded by · alternatives

LicenceGPL-3.0
Pushed2025-07-05
Release—
Stars12.8k
StateNRND
Silent405 d

undetected-chromedriver

NRND[NRND]

Patched Selenium ChromeDriver. Twelve thousand stars of momentum behind a project whose author has moved to a successor.

Source

Evidence

Why NRND: pushed_at = 2025-07-05 — 405 days, inside the 365–1095 day NRND band.

FieldValue at this printing
pushed_at2025-07-05
archivedfalse
latest_release—
license.spdx_idGPL-3.0
stargazers_count12800
http_status200
fetched_at2026-08-14T09:12:00Z
rubric_edition2nd, in force

Endpoint: GET https://api.github.com/repos/ultrafunkamsterdam/undetected-chromedriver

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

See also · superseded by · alternatives

LicenceMIT
Pushed2024-07-29
Release—
Stars981
StateNRND
Silent746 d

playwright_stealth (original)

NRND[NRND]

The original Python port. Four times the stars of the maintained fork and two years without a push.

Source

Evidence

Why NRND: pushed_at = 2024-07-29 — 746 days, inside the 365–1095 day NRND band.

FieldValue at this printing
pushed_at2024-07-29
archivedfalse
latest_release—
license.spdx_idMIT
stargazers_count981
http_status200
fetched_at2026-08-14T09:12:00Z
rubric_edition2nd, in force

Endpoint: GET https://api.github.com/repos/AtuboDad/playwright_stealth

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

See also · superseded by · alternatives

LicenceNOASSERTION
Pushed2025-04-25
Release—
Stars861
StateNRND
Silent476 d

Selenium-Driverless

NRND[NRND]

Selenium-shaped automation without chromedriver, driving CDP directly.

Source

Evidence

Why NRND: pushed_at = 2025-04-25 — 476 days, inside the 365–1095 day NRND band.

FieldValue at this printing
pushed_at2025-04-25
archivedfalse
latest_release—
license.spdx_idNOASSERTION
stargazers_count861
http_status200
fetched_at2026-08-14T09:12:00Z
rubric_edition2nd, in force

Endpoint: GET https://api.github.com/repos/ttlns/Selenium-Driverless

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

See also · superseded by · alternatives

LicenceMIT
Pushed2024-07-15
Release—
Stars92
StateNRND
Silent760 d

hazetunnel

NRND[NRND]

MITM proxy that injects payloads into passing traffic to mask its non-organic origin.

Source

Evidence

Why NRND: pushed_at = 2024-07-15 — 760 days, inside the 365–1095 day NRND band.

FieldValue at this printing
pushed_at2024-07-15
archivedfalse
latest_release—
license.spdx_idMIT
stargazers_count92
http_status200
fetched_at2026-08-14T09:12:00Z
rubric_edition2nd, in force

Endpoint: GET https://api.github.com/repos/daijro/hazetunnel

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

LicenceMIT
Pushed2024-11-28
Release—
Stars503
StateNRND
Silent624 d

HumanCursor

NRND[NRND]

Human cursor simulation for Selenium and Playwright.

Source

Evidence

Why NRND: pushed_at = 2024-11-28 — 624 days, inside the 365–1095 day NRND band.

FieldValue at this printing
pushed_at2024-11-28
archivedfalse
latest_release—
license.spdx_idMIT
stargazers_count503
http_status200
fetched_at2026-08-14T09:12:00Z
rubric_edition2nd, in force

Endpoint: GET https://api.github.com/repos/riflosnake/HumanCursor

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

See also · superseded by · alternatives

LicenceMIT
Pushed2024-12-03
Release—
Stars288
StateNRND
Silent619 d

Brotector

NRND[NRND]

Open-source anti-bot for webdrivers. Self-host it to test your own evasions against something you can read.

Source

Evidence

Why NRND: pushed_at = 2024-12-03 — 619 days, inside the 365–1095 day NRND band.

FieldValue at this printing
pushed_at2024-12-03
archivedfalse
latest_release—
license.spdx_idMIT
stargazers_count288
http_status200
fetched_at2026-08-14T09:12:00Z
rubric_edition2nd, in force

Endpoint: GET https://api.github.com/repos/ttlns/brotector

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

LicenceMIT
Pushed2024-07-18
Release—
Stars6.8k
StateNRND
Silent757 d

curl-impersonate (lwthiker)

NRND[NRND]

The original. Two and a half times the stars of the maintained fork, and two years without a push.

Source

Evidence

Why NRND: pushed_at = 2024-07-18 — 757 days, inside the 365–1095 day NRND band.

FieldValue at this printing
pushed_at2024-07-18
archivedfalse
latest_release—
license.spdx_idMIT
stargazers_count6800
http_status200
fetched_at2026-08-14T09:12:00Z
rubric_edition2nd, in force

Endpoint: GET https://api.github.com/repos/lwthiker/curl-impersonate

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

The most common single mistake in this whole field: installing the repository with the most stars. Check the push date first — that is all this catalogue is for. — ED.

See also · superseded by · alternatives

LicenceNO LICENCE DECLARED
Pushed2024-08-25
Release—
Stars53
StateNRND
Silent719 d

Zeeshanahmad4/awesome_list_of_anti_detect_browsers_apps

NRND[NRND]

Commercial-browser listicle, unmaintained since 2024.

No licence declared

Source

Evidence

Why NRND: pushed_at = 2024-08-25 — 719 days, inside the 365–1095 day NRND band.

FieldValue at this printing
pushed_at2024-08-25
archivedfalse
latest_release—
license.spdx_idnull (none declared)
stargazers_count53
http_status200
fetched_at2026-08-14T09:12:00Z
rubric_edition2nd, in force

Endpoint: GET https://api.github.com/repos/Zeeshanahmad4/awesome_list_of_anti_detect_browsers_apps

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

LicenceNO LICENCE DECLARED
Pushed2024-02-10
Release—
Stars0
StateNRND
Silent916 d

antidetect/list

NRND[NRND]

The obvious org name, claimed and abandoned. Zero stars, no push since February 2024.

No licence declared

Source

Evidence

Why NRND: pushed_at = 2024-02-10 — 916 days, inside the 365–1095 day NRND band.

FieldValue at this printing
pushed_at2024-02-10
archivedfalse
latest_release—
license.spdx_idnull (none declared)
stargazers_count0
http_status200
fetched_at2026-08-14T09:12:00Z
rubric_edition2nd, in force

Endpoint: GET https://api.github.com/repos/antidetect/list

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


Where NRND comes from, and why it is the right word

Not Recommended for New Designs is borrowed intact from the electronic component catalogues, where it sits between Active and Obsolete and means something very specific: the part is still in the catalogue, you can still buy it, it still meets its specification, and if you are designing something new you should not design it in. No other vocabulary in this field carries that distinction, which is why a list with only maintained and unmaintained produces bad advice in both directions.

Applied to software, it is the honest answer for the largest and most misleading group in this whole subject: projects with real momentum behind them whose authors have moved on. They still install. They still work on the browser version they were written for. Every tutorial written in the last three years still names them first.

The two clauses that put an entry here

The first is age: a liveness field between 365 and 1095 days before the field check. The second is succession: a project quiet for more than 180 days while another entry in this register declares it superseded and that successor itself reads ACTIVE. Both are printed in full in the rubric, and the second is the interesting one, because it is the only place this register uses a relation rather than a date to set a state.

Succession is declared, never inferred. This register does not conclude that one tool replaces another because it is newer or busier. Somebody has to say so — usually the author, in the successor's own README — and where nobody has, an old project simply ages through the date clause instead.


Questions about the NRND mark

Answered from the rule printed above, and from the fields it reads.

What does NRND mean?

Not Recommended for New Designs. It is a component-catalogue term, and it means the thing still works and is still available but is not where a new build should start. It is not a synonym for broken, and this register uses it precisely because broken and unmaintained are different findings.

Can I still use a tool marked NRND?

Very probably, and many people do. What you are accepting is a maintenance gap you did not create and cannot close: no fixes for the next browser change, no answers to advisories, and a growing distance between what the project was written against and what you are running it on.

Why do other anti-detect lists still recommend these?

Because they carry no check date. A list assembled once and republished has no mechanism for noticing that a project stopped, and the projects in this band are exactly the ones with enough accumulated visibility to keep being copied forward. That gap is the reason this register prints a timestamp against every field.


Every row on this page is a project someone once chose, and the state beside it is the part that was invisible at the moment of choosing. Donut Browser is filed in section 01 under the same rule, with the same fields printed against it and no exemption of any kind: an open-source anti-detect browser under AGPL-3.0, with engine-level fingerprint spoofing through the Wayfern Chromium fork rather than injected JavaScript, a local REST API and MCP server on your own machine, self-hostable sync, and a pre-launch gate that refuses to start a profile when the proxy's exit geography contradicts the profile's fingerprint. If it stops shipping, this rubric marks it without anyone's permission.

Download Donut Browser

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

macOS · Windows · Linux · Nix. Desktop only. Source, AGPL-3.0 · Its entry · The rubric · The keepers' disclosure

Other states: ACTIVE · SEMI · WITHDRAWN · ARCHIVED · DEAD