metadata
title: Obscura Browser
emoji: 🌐
colorFrom: purple
colorTo: blue
sdk: docker
app_port: 7860
pinned: false
Obscura Browser - Headless CDP Server
A headless browser engine running on HuggingFace Spaces, accessible via Chrome DevTools Protocol (CDP) for remote browser automation.
Features
- Stealth Mode: Anti-fingerprinting, TLS spoofing, and tracker blocking enabled by default
- CDP Compatible: Works with Puppeteer and Playwright
- Lightweight: ~30MB memory footprint, instant startup
- V8 JavaScript: Full JavaScript execution via V8 engine
Connection
Puppeteer
import puppeteer from 'puppeteer-core';
const browser = await puppeteer.connect({
browserWSEndpoint: 'wss://Xocen-obx.hf.space/devtools/browser'
});
const page = await browser.newPage();
await page.goto('https://example.com');
console.log(await page.title());
await browser.disconnect();
Playwright
import { chromium } from 'playwright-core';
const browser = await chromium.connectOverCDP({
endpointURL: 'wss://Xocen-obx.hf.space'
});
const context = browser.contexts()[0];
const page = await context.newPage();
await page.goto('https://example.com');
console.log(await page.title());
await browser.close();
API Reference
The CDP server supports standard Chrome DevTools Protocol domains:
- Target: createTarget, closeTarget, attachToTarget
- Page: navigate, getFrameTree, lifecycleEvents
- Runtime: evaluate, callFunctionOn, getProperties
- DOM: getDocument, querySelector, querySelectorAll
- Network: enable, setCookies, getCookies, setExtraHTTPHeaders
- Fetch: enable, continueRequest, fulfillRequest, failRequest
- Input: dispatchMouseEvent, dispatchKeyEvent
Environment Variables
| Variable | Default | Description |
|---|---|---|
OBSCURA_NAV_TIMEOUT_MS |
30000 | Navigation timeout in milliseconds |
OBSCURA_TIMEZONE |
Europe/Berlin | Browser timezone |
OBSCURA_PROXY |
None | HTTP/SOCKS5 proxy URL |
License
Apache 2.0