How cloakhq/cloakbrowser-manager works
CloakBrowser Manager is a self-hosted browser-profile manager: users organize isolated browser identities, configure per-profile fingerprint, network, locale, and compatibility options, then launch, view, and automate those sessions. The React UI calls a FastAPI service; the service coordinates profile persistence and browser lifecycle, with Linux sessions additionally served through KasmVNC and the web viewer. Settings and status expose licensing and runtime information. README-documented capabilities are included where their implementation is not shown; edges are limited to wiring supported by the sampled source.
Main entry points: App.tsx Dashboard · main.py REST and WebSockets · api.ts API client · ProfileViewer.tsx Session viewer
Components 16
Manager UI
- Dashboard
frontend/src/App.tsx - Profile editor
frontend/src/components/ProfileForm.tsx - Session viewer
frontend/src/components/ProfileViewer.tsx - Profile state
frontend/src/hooks/useProfiles.ts - API client
frontend/src/lib/api.ts
Backend service
- REST and WebSockets
backend/main.py - Manager settings
backend/settings_store.py
Profile lifecycle
- Profile persistence
backend/database.py - Profile database
Browser runtime
- Browser lifecycle
backend/browser_manager.py - Runtime detection
backend/runtime.py - VNC lifecycle
backend/vnc_manager.py
Other components
- User
- CloakBrowser engine
- KasmVNC server
- Playwright / Puppeteer
Connections 19
- User → Dashboard: uses
- Dashboard → Profile state: manages profiles
- Dashboard → Profile editor: edits profile
- Dashboard → Session viewer: views session
- Dashboard → API client: requests status
- Profile state → API client: requests profile actions
- Profile editor → API client: tests proxy
- API client → REST and WebSockets: HTTP / WebSocket
- Session viewer → API client: syncs clipboard
- REST and WebSockets → Profile persistence: reads and writes
- Profile persistence → Profile database: persists profiles
- REST and WebSockets → Browser lifecycle: launches and stops
- Browser lifecycle → Runtime detection: resolves runtime
- Browser lifecycle → CloakBrowser engine: launches browser
- Browser lifecycle → VNC lifecycle: starts display
- VNC lifecycle → KasmVNC server: starts Xvnc
- Session viewer → REST and WebSockets: opens VNC session
- Session viewer → Playwright / Puppeteer: offers CDP endpoint
- REST and WebSockets → Manager settings: loads settings