WebReaper.Stealth.CloakBrowser
10.2.0
dotnet add package WebReaper.Stealth.CloakBrowser --version 10.2.0
NuGet\Install-Package WebReaper.Stealth.CloakBrowser -Version 10.2.0
<PackageReference Include="WebReaper.Stealth.CloakBrowser" Version="10.2.0" />
<PackageVersion Include="WebReaper.Stealth.CloakBrowser" Version="10.2.0" />
<PackageReference Include="WebReaper.Stealth.CloakBrowser" />
paket add WebReaper.Stealth.CloakBrowser --version 10.2.0
#r "nuget: WebReaper.Stealth.CloakBrowser, 10.2.0"
#:package [email protected]
#addin nuget:?package=WebReaper.Stealth.CloakBrowser&version=10.2.0
#tool nuget:?package=WebReaper.Stealth.CloakBrowser&version=10.2.0
WebReaper.Stealth.CloakBrowser
CloakBrowser stealth Chromium fork backend for WebReaper. One-liner .WithCloakBrowser() that finds (or downloads from upstream) the CloakBrowser binary, launches it with the fork's recommended flags, and wires its CDP endpoint into WebReaper.Cdp.
The first concrete satellite of the ADR-0054 stealth-backend pattern.
What CloakBrowser solves
C++ source-level fingerprint patches make the browser indistinguishable from a real user's. Designed for sites that block automation:
| Challenge | Outcome |
|---|---|
| Cloudflare Turnstile, reCAPTCHA v3, FingerprintJS, BrowserScan | Silent pass; challenge never appears |
| reCAPTCHA v2 image grid, hCaptcha (interactive puzzles) | Not handled by stealth; needs a separate captcha-solving service |
| DataDome on aggressive sites | Partial; vendor recommends headed mode + residential proxies (use WithProxy(...)) |
Install
dotnet add package WebReaper.Stealth.CloakBrowser
# WebReaper.Cdp is pulled transitively
Quick start
using WebReaper.Builders;
using WebReaper.Stealth.CloakBrowser;
var engine = await ScraperEngineBuilder
.CrawlWithBrowser("https://protected-site.example/catalog")
.Follow("a.product-link")
.Extract(productSchema)
.WithCloakBrowser() // one-liner: find/download/launch/wire
.WriteToMongoDb(connStr, "scrapes", "products")
.BuildAsync();
await engine.RunAsync();
License acknowledgment
CloakBrowser's binary license: free to use, no redistribution. This satellite:
- Does NOT bundle the binary in the NuGet package (cannot redistribute).
- DOES download it from CloakHQ's own GitHub releases on first use (same legal model as
playwright install,winget,brew install --cask). - Logs a license-acknowledgment line on first install (via the wired
ILogger); CLI surface (per ADR-0055) gets a Y/n prompt.
See BINARY-LICENSE.md for the binding terms; by using this satellite you accept them.
How it composes
.WithCloakBrowser()
│
├── CloakBrowserInstaller.EnsureInstalledAsync() → finds/downloads to ~/.webreaper/stealth/cloakbrowser/
├── CloakBrowserLauncher.LaunchAsync(path) → uses CdpLaunchHelpers; spawns with stealth flags
└── builder.WithCdpPageLoader(endpoint.CdpUrl) → connects WebReaper.Cdp to the running browser
Composes naturally with WithProxy(...) (residential proxies for the hardest sites) and the LLM action resolver from WebReaper.AI (.WithLlmActionResolver(...); semantic clicks like "dismiss popup" work through stealth).
SemVer
10.0.0 (initial release). See ADR-0054 for the design.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.8)
- WebReaper (>= 10.2.0)
- WebReaper.Cdp (>= 10.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
10.0.0: initial release. First concrete satellite of the ADR-0054 stealth-backend pattern. WithCloakBrowser() one-liner; detects pre-installed CloakBrowser binary or downloads from upstream (legal model = `playwright install`), launches with the fork's recommended flags, wires CDP into WebReaper.Cdp. CloakBrowser solves invisible bot-checks (Cloudflare, reCAPTCHA v3, FingerprintJS) via C++ source-level fingerprint patches. License-acknowledgment logger one-liner on first install; CLI surface (ADR-0055) gets a Y/n prompt. Requires WebReaper 10.0.0 + WebReaper.Cdp 10.0.0.