obx / README.md
vivekkushalch
Initial commit for HuggingFace Spaces
eba9fc2
|
Raw
History Blame Contribute Delete
2.07 kB
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