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