Obscura
SkillWeb & browsingStealth headless browser with CDP server for anti-fingerprint browsing, parallel scraping, and low-memory CDP automation. This skill should be used when stealth browsing, anti-detection scraping, headless CDP automation with fingerprint protection, or tracker-free page fetching is needed. Triggers on 'stealth browse', 'anti-fingerprint', 'obscura', 'stealth CDP', 'undetectable scraping', 'headless stealth', 'tracker-free browsing'.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Obscura skill
What this skill tells your AI
The instructions your AI receives, as published by tdimino/claude-code-minoan in skills/integration-automation/obscura/SKILL.md and read by ahel’s review.
Rust headless browser with built-in anti-fingerprinting and CDP server. Fills the gap between Lightpanda (CDP, no stealth) and Scrapling (stealth, no CDP). Binary at ~/tools/obscura/obscura.
When to Use
| Scenario | Tool |
|---|---|
| Clean single-page markdown | Firecrawl |
| Cloudflare Turnstile bypass | Scrapling |
| Lightpanda / Scrapling | |
| Twitter/X | Jina |
Interactive @ref automation | agent-browser |
| Stealth CDP automation | Obscura |
| Batch stealth scraping | Obscura |
| Low-RAM headless (30MB) | Obscura |
Usage
Fetch a page with stealth:
obscura fetch --stealth --quiet https://example.com --eval "document.title"
Parallel batch scrape:
obscura scrape URL1 URL2 URL3 --concurrency 25 --format json
Start CDP server (port 9224 to avoid Chrome conflict on 9222):
obscura serve --port 9224 --stealth
Chain through Proxelar for defense-in-depth — --proxy is a global flag, goes before the subcommand:
obscura --proxy http://127.0.0.1:8080 serve --port 9224 --stealth
obscura --proxy http://127.0.0.1:8080 fetch --stealth https://example.com
Connect Puppeteer: browserWSEndpoint: "ws://127.0.0.1:9224/devtools/browser"
Connect Playwright: endpointURL: "ws://127.0.0.1:9224"
CDP domain coverage: see references/cdp-coverage.md. Includes non-standard LP.getMarkdown for DOM-to-Markdown.
Gotchas
- Port 9224 is convention, not default. The binary defaults to 9222 (Chrome's port). Always pass
--port 9224. --stealthis off by default. Pass it explicitly for anti-fingerprinting and tracker blocking.--proxyis a global flag. Place it beforefetch/serve/scrape, not after.--quietsuppresses the banner. Use it when piping output.- WebSocket path differs from Lightpanda. Obscura:
/devtools/browser. Lightpanda: bare endpoint. - Ad-hoc signed binary, no notarization. SHA-256 recorded at
~/tools/obscura/obscura.sha256. Verify on update.
Helper Scripts
| Script | Purpose |
|---|---|
scripts/obscura_serve.sh | Start CDP server on 9224 with cleanup trap, PID file, optional --with-proxelar |
Signals
- GitHub stars
- 41
- Forks
- 4
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
obscura- Source
- github.com/tdimino/claude-code-minoan