A high-performance WebSocket proxy for the Chrome DevTools Protocol (CDP), backed by CloakBrowser — a patched Chromium distribution with C++-level fingerprint spoofing for canvas, WebGL, audio, navigator signals, and automation detection.
This project is a derivative of sockpuppetbrowser and serves as the browser back-end for the changedetection.io project when anti-detection browser capabilities are needed.
Connect to ws://127.0.0.1:3000 as your CDP browser URL and the proxy will spin up a fresh, isolated CloakBrowser instance for that request. When the connection closes the browser is killed and cleaned up automatically.
This is not a fork of CloakBrowser — it is a CDP proxy wrapper that installs and uses the cloakbrowser pip package. All browser fingerprinting capabilities come directly from CloakBrowser's patched Chromium binary.
navigator.webdriver = false — automation flag suppressedHeadlessChrome removed from User-Agent — headless mode undetectableFINGERPRINT_SEED for reproducibility or leave blank for a random seed per sessionFINGERPRINT_PLATFORM=windows|macos|linuxBLOCK_WEBRTC=true)patchright backend (enabled by default)docker compose up
Connect Playwright, Puppeteer, or any CDP client to ws://localhost:3000.
| Variable | Default | Description |
|---|---|---|
MAX_CONCURRENT_CHROME_PROCESSES | 10 | Maximum simultaneous browser instances |
MIN_AVAILABLE_MEMORY_MB | 500 | Reject new connections below this free RAM threshold |
DROP_EXCESS_CONNECTIONS | False | True = queue excess connections; False = reject immediately |
FINGERPRINT_SEED | (empty) | Integer seed for deterministic fingerprint; empty = random per session |
FINGERPRINT_PLATFORM | windows | Spoofed OS platform: windows, macos, or linux |
EXTRA_FINGERPRINT_ARGS | (empty) | Additional --fingerprint-* flags passed to the binary |
BLOCK_WEBRTC | true | Disable the WebRTC stack entirely to prevent IP leaks |
WEBRTC_IP_HANDLING_POLICY | disable_non_proxied_udp | WebRTC policy used when BLOCK_WEBRTC=false |
CLOAKBROWSER_BACKEND | patchright | patchright for extra CDP suppression; playwright for standard |
CHROME_HEADFUL | false | Run with a virtual display (Xvfb) instead of headless |
SCREEN_WIDTH / SCREEN_HEIGHT | (unset) | Browser viewport size |
LOG_LEVEL | DEBUG | TRACE, DEBUG, INFO, SUCCESS, WARNING, ERROR, CRITICAL |
ALLOW_CDP_LOG | no | Set to yes to enable CDP protocol file logging (use ?log-cdp=/path in URL) |
STARTUP_DELAY | 0 | Seconds to wait before accepting connections |
Each cloakbrowser pip release ships a specific patched Chromium build. To pin a version, set the build argument in docker-compose.yml:
build:
args:
CLOAKBROWSER_PIP_VERSION: "0.3.18"
Leave blank to use the latest available version.
This project contains components under multiple licenses.
Apache License 2.0. Derived from sockpuppetbrowser.
MIT License — Copyright (c) 2026 CloakHQ.
Permission is granted to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the software, provided the copyright notice is included.
Proprietary — CloakBrowser Binary License v1.0 (February 2026) — Copyright (c) 2026 CloakHQ. All rights reserved.
Key terms (see BINARY-LICENSE.md for full text):
cloakbrowser.dev. You may not redistribute, resell, or bundle the binary for third-party distribution without a separate OEM/SaaS licence (contact cloakhq@pm.me).The patched Chromium binary is based on the Chromium project, which is licensed under the BSD 3-Clause License and incorporates numerous third-party components with their own licenses. See the Chromium project for full details.
This project is licensed under the Apache License 2.0, which already provides a full warranty disclaimer and limitation of liability (Sections 7 and 8). The additional terms below are not duplicated by that license.
You are solely responsible for ensuring that your use of this software complies with all applicable laws, regulations, and the terms of service of any website, platform, or service you interact with.
By using this software you agree to indemnify, defend, and hold harmless the authors, contributors, and copyright holders of this project from and against any and all claims, damages, losses, liabilities, costs, and expenses (including reasonable attorneys' fees) arising out of or related to your use or misuse of this software, your violation of any applicable law or regulation, your violation of any third-party rights or terms of service, or any breach of the CloakBrowser Binary License terms resulting from your use.
Note: CloakBrowser's Binary License independently requires you to indemnify CloakHQ under the same circumstances. Both obligations apply when you use this project.
The authors do not condone and expressly prohibit the use of this software for:
5 commits
Python
94.0%
Dockerfile
5.1%
A high-performance WebSocket proxy for the Chrome DevTools Protocol (CDP), backed by CloakBrowser — a patched Chromium distribution with C++-level fingerprint spoofing for canvas, WebGL, audio, navigator signals, and automation detection.
This project is a derivative of sockpuppetbrowser and serves as the browser back-end for the changedetection.io project when anti-detection browser capabilities are needed.
Connect to ws://127.0.0.1:3000 as your CDP browser URL and the proxy will spin up a fresh, isolated CloakBrowser instance for that request. When the connection closes the browser is killed and cleaned up automatically.
This is not a fork of CloakBrowser — it is a CDP proxy wrapper that installs and uses the cloakbrowser pip package. All browser fingerprinting capabilities come directly from CloakBrowser's patched Chromium binary.
navigator.webdriver = false — automation flag suppressedHeadlessChrome removed from User-Agent — headless mode undetectableFINGERPRINT_SEED for reproducibility or leave blank for a random seed per sessionFINGERPRINT_PLATFORM=windows|macos|linuxBLOCK_WEBRTC=true)patchright backend (enabled by default)docker compose up
Connect Playwright, Puppeteer, or any CDP client to ws://localhost:3000.
| Variable | Default | Description |
|---|---|---|
MAX_CONCURRENT_CHROME_PROCESSES | 10 | Maximum simultaneous browser instances |
MIN_AVAILABLE_MEMORY_MB | 500 | Reject new connections below this free RAM threshold |
DROP_EXCESS_CONNECTIONS | False | True = queue excess connections; False = reject immediately |
FINGERPRINT_SEED | (empty) | Integer seed for deterministic fingerprint; empty = random per session |
FINGERPRINT_PLATFORM | windows | Spoofed OS platform: windows, macos, or linux |
EXTRA_FINGERPRINT_ARGS | (empty) | Additional --fingerprint-* flags passed to the binary |
BLOCK_WEBRTC | true | Disable the WebRTC stack entirely to prevent IP leaks |
WEBRTC_IP_HANDLING_POLICY | disable_non_proxied_udp | WebRTC policy used when BLOCK_WEBRTC=false |
CLOAKBROWSER_BACKEND | patchright | patchright for extra CDP suppression; playwright for standard |
CHROME_HEADFUL | false | Run with a virtual display (Xvfb) instead of headless |
SCREEN_WIDTH / SCREEN_HEIGHT | (unset) | Browser viewport size |
LOG_LEVEL | DEBUG | TRACE, DEBUG, INFO, SUCCESS, WARNING, ERROR, CRITICAL |
ALLOW_CDP_LOG | no | Set to yes to enable CDP protocol file logging (use ?log-cdp=/path in URL) |
STARTUP_DELAY | 0 | Seconds to wait before accepting connections |
Each cloakbrowser pip release ships a specific patched Chromium build. To pin a version, set the build argument in docker-compose.yml:
build:
args:
CLOAKBROWSER_PIP_VERSION: "0.3.18"
Leave blank to use the latest available version.
This project contains components under multiple licenses.
Apache License 2.0. Derived from sockpuppetbrowser.
MIT License — Copyright (c) 2026 CloakHQ.
Permission is granted to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the software, provided the copyright notice is included.
Proprietary — CloakBrowser Binary License v1.0 (February 2026) — Copyright (c) 2026 CloakHQ. All rights reserved.
Key terms (see BINARY-LICENSE.md for full text):
cloakbrowser.dev. You may not redistribute, resell, or bundle the binary for third-party distribution without a separate OEM/SaaS licence (contact cloakhq@pm.me).The patched Chromium binary is based on the Chromium project, which is licensed under the BSD 3-Clause License and incorporates numerous third-party components with their own licenses. See the Chromium project for full details.
This project is licensed under the Apache License 2.0, which already provides a full warranty disclaimer and limitation of liability (Sections 7 and 8). The additional terms below are not duplicated by that license.
You are solely responsible for ensuring that your use of this software complies with all applicable laws, regulations, and the terms of service of any website, platform, or service you interact with.
By using this software you agree to indemnify, defend, and hold harmless the authors, contributors, and copyright holders of this project from and against any and all claims, damages, losses, liabilities, costs, and expenses (including reasonable attorneys' fees) arising out of or related to your use or misuse of this software, your violation of any applicable law or regulation, your violation of any third-party rights or terms of service, or any breach of the CloakBrowser Binary License terms resulting from your use.
Note: CloakBrowser's Binary License independently requires you to indemnify CloakHQ under the same circumstances. Both obligations apply when you use this project.
The authors do not condone and expressly prohibit the use of this software for:
5 commits
Python
94.0%
Dockerfile
5.1%