Skip to content

Commit ddb8d59

Browse files
committed
docs: clog 144.0.7559.111, Android WebView, proxy-bypass-rgx, custom-headers docs
1 parent 41656c2 commit ddb8d59

4 files changed

Lines changed: 95 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,32 @@
33
> **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).
44
55

6+
## [2026-02-06]
7+
### Major
8+
- **Chromium Core → 144.0.7559.111**: Updated the engine to Chrome 144 stable (144.0.7559.111). This keeps Web Platform behavior, rendering consistency, and security patches aligned with upstream Chrome.
9+
10+
- **Android WebView Simulation**: Complete Android WebView fingerprint support with authentic behavior. Properly handles WebView-specific disabled features, permission differences, and Privacy Sandbox restrictions. Enables accurate WebView identity when using `--user-agent` with WebView user-agent strings.
11+
12+
### New
13+
- **Regex Proxy Rules (PRO)**: Added `--proxy-bypass-rgx` flag to define URL patterns via regular expressions for proxy routing control. Supports RE2 syntax with `|` for multiple patterns and works in conjunction with `--proxy-bypass-list`.
14+
15+
- **Custom HTTP Headers (PRO)**: Added `--bot-custom-headers` flag to inject custom HTTP request headers into all outgoing requests. Configure via CLI (`--bot-custom-headers='{"X-Custom":"value"}'`), profile JSON (`configs.customHeaders`), or CDP (`BotBrowser.setCustomHeaders`).
16+
17+
### Improvements
18+
- **Window/Screen Size CLI Formats**: Extended `--bot-config-window` and `--bot-config-screen` to support WxH format (e.g., `1920x1080`) and full JSON configuration, in addition to existing `real` and `profile` options.
19+
20+
### Fixes
21+
- **Per-Context Fingerprint on Windows (ENT Tier3)**: Fixed per-context fingerprints not applying correctly on Windows.
22+
23+
- **Per-Context HTTP Headers (ENT Tier3)**: HTTP request headers (`User-Agent`, `sec-ch-ua-*`) now correctly reflect per-context fingerprint settings, matching the JavaScript API values.
24+
25+
- **Performance Memory API Consistency**: `performance.memory` values now show natural fluctuations consistent with real browser behavior.
26+
27+
- **Docker Font Consistency**: Font fingerprints now remain consistent regardless of host system font availability in containerized environments.
28+
29+
- **Windows Profile Extension Loading**: Fixed `--bot-script` extensions failing to load when using Windows fingerprint profiles on Linux/macOS hosts.
30+
31+
632
## [2026-01-31]
733
### Major
834
- **Chromium Core → 145.0.7632.26**: Updated the engine to Chrome 145 early release (145.0.7632.26) to stay ahead with the latest Chrome development. This maintains Web Platform parity, rendering consistency, and security patches with upstream.

CLI_FLAGS.md

Lines changed: 54 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,25 @@ This skips per-page IP lookups and speeds up navigation.
108108
- Per-context proxy (ENT Tier1): set different proxies via `createBrowserContext({ proxy })`; BotBrowser auto-derives geo info in both cases
109109
- Avoid: framework-specific options like `page.authenticate()` that disable BotBrowser's geo-detection, which may leak location information
110110

111+
### `--proxy-bypass-rgx` (PRO)
112+
Define URL patterns via regular expressions for proxy routing control.
113+
114+
```bash
115+
# Regex pattern with | for multiple domains
116+
--proxy-bypass-rgx="\.google\.com$|\.github\.com$"
117+
118+
# Combined with standard bypass list
119+
--proxy-server=socks5://127.0.0.1:1080 \
120+
--proxy-bypass-list="localhost,127.0.0.1" \
121+
--proxy-bypass-rgx="\.internal\.company\.com$"
122+
```
123+
124+
**Features:**
125+
- Uses RE2 regex syntax
126+
- Use `|` within the pattern for multiple domains (e.g., `domain1\.com$|domain2\.com$`)
127+
- Works as a union with `--proxy-bypass-list`
128+
- Matches against both hostname and full URL
129+
111130
### `--bot-local-dns` (ENT Tier1)
112131
Enable the local DNS solver. This keeps DNS resolution local instead of relying on a proxy provider's DNS behavior, improving privacy and speed while avoiding common DNS poisoning paths.
113132

@@ -214,6 +233,24 @@ Documentation: Chrome `chrome.debugger` API - <https://developer.chrome.com/docs
214233

215234
Examples: [Bot Script](examples/bot-script)
216235

236+
### `--bot-custom-headers` (PRO)
237+
Inject custom HTTP request headers into all outgoing requests.
238+
239+
```bash
240+
# JSON format with header name-value pairs
241+
--bot-custom-headers='{"X-Custom-Header":"value","X-Another":"value2"}'
242+
```
243+
244+
**Configuration Methods:**
245+
- CLI flag: `--bot-custom-headers='{"Header":"value"}'`
246+
- Profile JSON: `configs.customHeaders`
247+
- CDP: `BotBrowser.setCustomHeaders`
248+
249+
**Notes:**
250+
- Headers are added to all HTTP/HTTPS requests
251+
- Useful for API authentication, session management, or request routing
252+
- JSON format with string key-value pairs
253+
217254
---
218255

219256
<a id="profile-configuration-override-flags"></a>
@@ -260,8 +297,16 @@ BotBrowser auto-generates matching `navigator.userAgentData` (brands, fullVersio
260297
> **Note: UA/Engine Congruence:** Keep `--bot-config-ua-full-version` aligned with your Chromium major version, and use `--bot-config-brand-full-version` when a vendor's cadence (Edge, Opera, Brave) diverges so UA-CH metadata stays internally protected.
261298
262299
**Display & Input**
263-
- `--bot-config-window=profile`: Window dimensions: profile (use profile), real (system window)
264-
- `--bot-config-screen=profile`: Screen properties: profile (use profile), real (system screen)
300+
- `--bot-config-window=<value>`: Window dimensions with multiple formats:
301+
- `profile` - Use profile's window settings (default)
302+
- `real` - Use actual system window dimensions
303+
- `WxH` - Direct size specification (e.g., `1920x1080`), sets innerWidth/innerHeight with outerWidth/outerHeight auto-derived from profile borders
304+
- `JSON` - Full customization (e.g., `'{"innerWidth":1920,"innerHeight":1080,"devicePixelRatio":2}'`)
305+
- `--bot-config-screen=<value>`: Screen properties with multiple formats:
306+
- `profile` - Use profile's screen settings (default)
307+
- `real` - Use actual system screen dimensions
308+
- `WxH` - Direct size specification (e.g., `2560x1440`), sets width/height with availWidth/availHeight auto-derived from profile
309+
- `JSON` - Full customization (e.g., `'{"width":2560,"height":1440,"availWidth":2560,"availHeight":1400}'`)
265310
- `--bot-config-keyboard=profile`: Keyboard settings: profile (emulated), real (system keyboard)
266311
- `--bot-config-fonts=profile`: Font settings: profile (embedded), expand (profile + fallback), real (system fonts)
267312
- `--bot-config-color-scheme=light`: Color scheme: light, dark
@@ -378,6 +423,13 @@ chromium-browser \
378423
--bot-config-browser-brand="edge" \ # ENT Tier2 feature
379424
--bot-config-window="real" \
380425
--user-data-dir="/tmp/instance2" &
426+
427+
# Instance 3 - Custom window/screen size for OCR or specific viewport testing
428+
chromium-browser \
429+
--bot-profile="/absolute/path/to/profile.enc" \
430+
--bot-config-window="1920x1080" \
431+
--bot-config-screen="2560x1440" \
432+
--user-data-dir="/tmp/instance3" &
381433
```
382434

383435
### Performance timing & noise control (ENT Tier2)

PER_CONTEXT_FINGERPRINT.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,7 @@ Most `--bot-*` flags from [CLI_FLAGS.md](CLI_FLAGS.md) work with per-context con
282282
| Window | `--bot-always-active` to maintain active window state |
283283
| Session | `--bot-inject-random-history` for session authenticity |
284284
| Proxy | `--proxy-server` (configure proxy per-context via `botbrowserFlags`), `--proxy-ip` to skip IP lookups |
285+
| HTTP | `--bot-custom-headers` for custom HTTP request headers per context |
285286
| Config | `--bot-config-platform`, `--bot-config-timezone`, `--bot-config-noise-canvas`, etc. |
286287

287288
See [CLI_FLAGS.md](CLI_FLAGS.md) for the complete flag reference.

profiles/PROFILE_CONFIGS.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ BotBrowser uses a three-tier priority system for configuration:
3030

3131
### Priority Order (Highest to Lowest)
3232

33-
1. **🥇 CLI `--bot-config-*` flags** - Highest priority, overrides everything
34-
2. **🥈 Profile `configs` settings** - Medium priority, overrides profile defaults
35-
3. **🥉 Profile default values** - Lowest priority, built-in profile data
33+
1. **CLI `--bot-config-*` flags** - Highest priority, overrides everything
34+
2. **Profile `configs` settings** - Medium priority, overrides profile defaults
35+
3. **Profile default values** - Lowest priority, built-in profile data
3636

3737
### Why CLI Flags Are Recommended
3838

@@ -138,6 +138,12 @@ These fields work together with `--user-agent` CLI flag. BotBrowser auto-generat
138138
139139
> **UDP-over-SOCKS5:** ENT Tier3 support detects when a SOCKS5 upstream offers UDP associate and natively tunnels QUIC/STUN through it. No additional flag is required; simply provide a SOCKS5 proxy that advertises UDP support.
140140
141+
### HTTP Request Settings
142+
143+
| Field | Description | Default |
144+
| ---------------- | ----------------------------------------- | ------- |
145+
| `customHeaders` (PRO) | Inject custom HTTP request headers into all outgoing requests. Object with header name-value pairs (e.g., `{"X-Custom":"value"}`). | `{}` |
146+
141147
### Window & Screen Settings
142148
143149
| Field | Description | Default |
@@ -277,6 +283,11 @@ These fields work together with `--user-agent` CLI flag. BotBrowser auto-generat
277283
278284
// mobileForceTouch: Force touch events on/off when simulating mobile devices
279285
"mobileForceTouch": false,
286+
287+
// customHeaders (PRO): inject custom HTTP headers into all outgoing requests
288+
"customHeaders": {
289+
"X-Custom-Header": "value"
290+
}
280291
}
281292
}
282293

0 commit comments

Comments
 (0)