Repository navigation
v2.1.0
@debriefer/browser — Browser auth, sessions, and login handlers (NEW features)
Phase 2 additions:
- Config loader: Environment variable-based credentials and CAPTCHA solver configuration
- Session manager: Cookie persistence to disk with TTL, 0o600 file permissions, 0o700 directory permissions
- Base login handler: Abstract class with CAPTCHA detection/solving and session verification
- NYTimes login handler: Two-step email→password flow with DataDome CAPTCHA handling
- Washington Post login handler: Two-step login with flexible selectors
createBrowserDefaults()factory: Combines fetchPage + login + session management
Phase 1 (from v2.0.2):
- Browser stealth with fingerprint-injector
- CAPTCHA detection (reCAPTCHA v2/v3, hCaptcha, PerimeterX, DataDome)
- CAPTCHA solving (2Captcha, CapSolver)
- Archive fallbacks (archive.org, archive.is)
createBrowserFetchPage()factory
Usage
import { createBrowserDefaults } from "@debriefer/browser"
const browser = createBrowserDefaults({
captchaSolver: { provider: "2captcha", apiKey: "..." },
credentials: { "nytimes.com": { email: "...", password: "..." } },
})
const google = googleSearch({ fetchPage: browser.fetchPage })
await browser.login("nytimes.com")