--- 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 ```javascript 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 ```javascript 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