| title: Cfull | |
| emoji: ๐ | |
| colorFrom: purple | |
| colorTo: blue | |
| sdk: docker | |
| app_port: 7860 | |
| pinned: false | |
| # Cfull | |
| Runs [browserless](https://github.com/browserless/browserless) โ the open-source headless browser for AI agents and web scraping โ on Hugging Face Spaces. | |
| A transparent TCP proxy on port 7860 handles HF health checks (`/`, `/health`) and forwards WebSocket + CDP traffic to browserless on port 9222. | |
| ## Usage | |
| Connect with Puppeteer: | |
| ```js | |
| import puppeteer from 'puppeteer-core'; | |
| const browser = await puppeteer.connect({ | |
| browserWSEndpoint: 'wss://xocen-cfull.hf.space/devtools/browser', | |
| }); | |
| const page = await browser.newPage(); | |
| await page.goto('https://example.com'); | |
| console.log(await page.title()); | |
| await browser.disconnect(); | |
| ``` | |
| Or with Playwright: | |
| ```js | |
| import { chromium } from 'playwright-core'; | |
| const browser = await chromium.connectOverCDP({ | |
| endpointURL: 'wss://xocen-cfull.hf.space', | |
| }); | |
| const page = await browser.newContext().then(ctx => ctx.newPage()); | |
| await page.goto('https://example.com'); | |
| console.log(await page.title()); | |
| await browser.close(); | |
| ``` | |
| ## CDP Endpoint | |
| `wss://xocen-cfull.hf.space/devtools/browser` | |
| ## Source | |
| - [browserless repo](https://github.com/browserless/browserless) | |
| - [Docker Hub](https://hub.docker.com/r/browserless/browserless) | |