You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- UDP-over-SOCKS5 tunnel (ENT Tier3) for QUIC/STUN so ICE presets are only needed when UDP is unavailable
42
-
- Optional ICE control via `--bot-webrtc-ice` (ENT Tier1) when the proxy lacks UDP support
42
+
- Optional ICE control via [`--bot-webrtc-ice`](CLI_FLAGS.md#behavior--protection-toggles) (ENT Tier1) when the proxy lacks UDP support
43
43
- Chromium-level implementation: tunneling lives inside the network stack, no external proxy-chain hijacking
44
44
45
45
> Note: Many privacy-oriented browsers disable QUIC or skip UDP entirely. BotBrowser implements UDP-over-SOCKS5 directly inside Chromium's network stack so QUIC/STUN stay proxied and consistent with TCP traffic.
46
46
47
47
For proxy configuration syntax and examples, see [CLI Flags: Enhanced Proxy Configuration](CLI_FLAGS.md#enhanced-proxy-configuration).
48
48
49
+
<aid="port-protection"></a>
50
+
### Port Protection (PRO)
51
+
52
+
Protect local service ports (VNC, RDP, development servers, etc.) from being scanned by remote pages. Prevents detection of which services are running on localhost.
53
+
54
+
Covers 30 commonly-probed ports across:
55
+
- IPv4 loopback (`127.0.0.0/8`)
56
+
- IPv6 loopback (`::1`)
57
+
-`localhost` hostname
58
+
59
+
Enable via CLI (`--bot-port-protection`) or profile JSON (`configs.portProtection`). See [CLI Flags](CLI_FLAGS.md#--bot-port-protection-pro) for details.
Switch proxy servers for a specific BrowserContext at runtime without restarting the context. Use the CDP command `BotBrowser.setBrowserContextProxy` to change proxies on the fly. Supports multiple switches per context, with automatic timezone and language adaptation after each switch.
**Supported protocols:**`socks5://`, `socks5h://`, `http://`, `https://`, all with embedded authentication (`user:pass@host:port`).
88
+
89
+
**Optional parameter:**`proxyIp` provides the proxy's exit IP to skip automatic IP detection, resulting in faster geo-based timezone and language adaptation.
- MediaStream API protection across execution contexts
106
148
- RTCPeerConnection behavior standardization
107
149
- Network topology protection through controlled signal patterns
108
-
- ICE server presets and custom lists via `--bot-webrtc-ice` (ENT Tier1) to standardize STUN and TURN endpoints observed by page JavaScript
109
-
- Combined with UDP-over-SOCKS5 (ENT Tier3) for Chromium-level QUIC and STUN tunneling
150
+
- ICE server presets and custom lists via [`--bot-webrtc-ice`](CLI_FLAGS.md#behavior--protection-toggles) (ENT Tier1) to standardize STUN and TURN endpoints observed by page JavaScript
151
+
- Combined with [UDP-over-SOCKS5](CLI_FLAGS.md#udp-over-socks5-ent-tier3) (ENT Tier3) for Chromium-level QUIC and STUN tunneling
110
152
111
153
<aid="chrome-behavior-emulation"></a>
112
154
### Chrome Behavior Emulation
@@ -216,14 +258,14 @@ Comprehensive hardware emulation and fingerprint management.
- Simulate high-FPS macOS behavior on Ubuntu hosts (Ubuntu requires ENT Tier1)
218
260
- Authentic vsync and frame timing patterns
219
-
- Runtime timing scaling via `--bot-time-scale` to compress `performance.now()` deltas
261
+
- Runtime timing scaling via [`--bot-time-scale`](CLI_FLAGS.md#behavior--protection-toggles) to compress `performance.now()` deltas
220
262
221
263
### Performance Fingerprint Controls
222
264
223
265
- Realistic memory allocation patterns and garbage collection timing
224
266
- IndexedDB, localStorage, and Cache API response timing
225
267
- JavaScript execution timing and WebAssembly performance simulation
226
-
- Deterministic noise seeds via `--bot-noise-seed` (ENT Tier2) to stabilize noise distributions across sessions
268
+
- Deterministic noise seeds via [`--bot-noise-seed`](CLI_FLAGS.md#behavior--protection-toggles) (ENT Tier2) to stabilize noise distributions across sessions
227
269
228
270
### Extended Media Types & WebCodecs APIs
229
271
@@ -334,7 +376,7 @@ Comprehensive hardware emulation and fingerprint management.
Execute JavaScript with privileged `chrome.debugger` access, with no framework dependencies.
340
382
@@ -374,6 +416,30 @@ Assign independent fingerprint bundles per BrowserContext without spawning new b
374
416
375
417
---
376
418
419
+
<aid="cdp-quick-reference"></a>
420
+
## CDP Quick Reference
421
+
422
+
All commands live under the `BotBrowser` CDP domain. Send them through a CDP session (`page.createCDPSession()` or `browser.target().createCDPSession()` depending on the command scope).
|`SetBrowserContextFlags`| page | ENT Tier3 | Assign independent fingerprint flags to a BrowserContext |[Per-Context Fingerprint](PER_CONTEXT_FINGERPRINT.md)|
427
+
|`SetBrowserContextProxy`| page | ENT Tier2 | Switch proxy for a BrowserContext at runtime |[Dynamic Proxy Switching](#dynamic-proxy-switching)|
428
+
|`ClearBrowserContextProxy`| page | ENT Tier2 | Remove proxy override from a BrowserContext |[Dynamic Proxy Switching](#dynamic-proxy-switching)|
429
+
|`SetCustomHeaders`| browser | PRO | Replace all custom HTTP request headers |[CLI Flags](CLI_FLAGS.md#--bot-custom-headers-pro)|
430
+
|`GetCustomHeaders`| browser | PRO | Retrieve current custom headers |[CLI Flags](CLI_FLAGS.md#--bot-custom-headers-pro)|
431
+
|`AddCustomHeader`| browser | PRO | Add or update a single custom header |[CLI Flags](CLI_FLAGS.md#--bot-custom-headers-pro)|
432
+
|`RemoveCustomHeader`| browser | PRO | Remove a single custom header |[CLI Flags](CLI_FLAGS.md#--bot-custom-headers-pro)|
433
+
|`ClearCustomHeaders`| browser | PRO | Remove all custom headers |[CLI Flags](CLI_FLAGS.md#--bot-custom-headers-pro)|
434
+
|`StartMirrorController`| browser | ENT Tier3 | Start this instance as a Mirror controller |[Mirror](tools/mirror/)|
435
+
|`StartMirrorClient`| browser | ENT Tier3 | Connect this instance as a Mirror client |[Mirror](tools/mirror/)|
436
+
|`StopMirror`| browser | ENT Tier3 | Stop Mirror controller or client role |[Mirror](tools/mirror/)|
437
+
|`GetMirrorStatus`| browser | ENT Tier3 | Query current Mirror connection status |[Mirror](tools/mirror/)|
438
+
439
+
> **Scope**: `browser` = send to browser-level CDP session; `page` = send to page-level CDP session.
440
+
441
+
---
442
+
377
443
## Related Documentation
378
444
379
445
-**[CLI Flags Reference](CLI_FLAGS.md)** — Complete command-line options and usage examples
Copy file name to clipboardExpand all lines: CHANGELOG.md
+13Lines changed: 13 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,19 @@
3
3
> **Research scope:** Entries in this changelog describe features evaluated in authorized labs and defensive benchmarking programs. Follow the [Legal Disclaimer](DISCLAIMER.md) and [Responsible Use Guidelines](RESPONSIBLE_USE.md). We work with security vendors to investigate any misuse, so report concerns to [support@botbrowser.io](mailto:support@botbrowser.io).
4
4
5
5
6
+
## [2026-02-18]
7
+
### Major
8
+
-**Chromium Core → 145.0.7632.76**: Updated to Chrome 145 stable. This ensures Web Platform consistency, rendering accuracy, and security patches stay aligned with upstream Chrome.
9
+
10
+
### New
11
+
-**[Per-Context Proxy Switching](ADVANCED_FEATURES.md#dynamic-proxy-switching) (ENT Tier2)**: Dynamically switch proxy servers per BrowserContext at runtime without restarting contexts via CDP `BotBrowser.setBrowserContextProxy()`. Supports SOCKS5, SOCKS5h, HTTP, HTTPS protocols with authentication. Automatically adapts timezone and language based on proxy location.
12
+
13
+
-**[Port Protection](ADVANCED_FEATURES.md#port-protection) (PRO)**: Protect local service ports (VNC, RDP, development servers, etc.) from being scanned by remote pages. Covers 30 commonly-probed ports across IPv4 (`127.0.0.0/8`), IPv6 (`::1`), and `localhost`. Enable via `--bot-port-protection` or profile JSON (`configs.portProtection`).
14
+
15
+
### Improvements
16
+
-**CSS Media Feature Consistency**: CSS media queries now authentically reflect the profile's display characteristics, ensuring consistency between CSS-level and JavaScript-level reporting.
17
+
18
+
6
19
## [2026-02-11]
7
20
### Major
8
21
-**Chromium Core → 145.0.7632.46**: Updated the engine to Chrome 145 stable (145.0.7632.46). This keeps Web Platform behavior, rendering consistency, and security patches aligned with upstream Chrome.
0 commit comments