Skip to content

Commit b71b6bf

Browse files
committed
docs: add precise FPS simulation documentation
1 parent e125662 commit b71b6bf

6 files changed

Lines changed: 24 additions & 26 deletions

File tree

ADVANCED_FEATURES.md

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ BotBrowser provides multi-layer controls to maintain consistent fingerprints acr
1212

1313
## 📁 Capabilities Index
1414

15-
[navigator.webdriver removal](#chrome-behavior-emulation), [main‑world isolation](#playwright-puppeteer-integration), [JS hook stealth](#playwright-puppeteer-integration), [Canvas noise](#graphics-rendering-engine), [WebGL/WebGPU param control](#graphics-rendering-engine), [Skia anti‑alias](#cross-platform-font-engine), [HarfBuzz shaping](#cross-platform-font-engine), [MediaDevices spoofing](#complete-fingerprint-control), [font list spoofing](#cross-platform-font-engine), [UA congruence](#configuration-and-control), [per‑context proxy geo (ENT Tier1)](#enhanced-proxy-system), [DNS‑through‑proxy](#enhanced-proxy-system), [active window emulation](#active-window-emulation), [HTTP headers/HTTP2/HTTP3](#chrome-behavior-emulation), [headless parity](#headless-incognito-compatibility), [WebRTC SDP/ICE control](#webrtc-leak-protection), [TLS fingerprint (JA3/JARM)](#network-fingerprint-control)
15+
[navigator.webdriver removal](#chrome-behavior-emulation), [main‑world isolation](#playwright-puppeteer-integration), [JS hook stealth](#playwright-puppeteer-integration), [Canvas noise](#graphics-rendering-engine), [WebGL/WebGPU param control](#graphics-rendering-engine), [Skia anti‑alias](#cross-platform-font-engine), [HarfBuzz shaping](#cross-platform-font-engine), [MediaDevices spoofing](#complete-fingerprint-control), [font list spoofing](#cross-platform-font-engine), [UA congruence](#configuration-and-control), [per‑context proxy geo (ENT Tier1 feature)](#enhanced-proxy-system), [DNS‑through‑proxy](#enhanced-proxy-system), [active window emulation](#active-window-emulation), [HTTP headers/HTTP2/HTTP3](#chrome-behavior-emulation), [headless parity](#headless-incognito-compatibility), [WebRTC SDP/ICE control](#webrtc-leak-protection), [TLS fingerprint (JA3/JARM)](#network-fingerprint-control)
1616

1717
<a id="configuration-and-control"></a>
1818
## ⚙️ Configuration & Control
@@ -64,7 +64,7 @@ chrome.exe --bot-profile="C:\\absolute\\path\\to\\profile.enc" \
6464

6565
<a id="enhanced-proxy-system"></a>
6666
### 🌐 Enhanced Proxy System
67-
Rebuilt for stability, per‑context support (ENT Tier1), and DNS‑leak protection.
67+
Rebuilt for stability, per‑context support (ENT Tier1 feature), and DNS‑leak protection.
6868

6969
**Embedded Credentials:**
7070
```bash
@@ -83,7 +83,7 @@ Structured proxy usernames: Some providers encode routing hints in the username.
8383
```
8484

8585

86-
**Per‑Context Proxy Support (ENT Tier1):**
86+
**Per‑Context Proxy Support (ENT Tier1 feature):**
8787
```javascript
8888
// Playwright example with different proxies per context
8989
const browser = await chromium.launch({
@@ -102,7 +102,7 @@ const context2 = await browser.newContext({
102102
});
103103
```
104104

105-
Automatic geo‑detection: Each ENT Tier1 context derives timezone, locale, and languages from its proxy IP, so no manual setup is needed.
105+
Automatic geo‑detection (ENT Tier1 feature): Each context derives timezone, locale, and languages from its proxy IP, so no manual setup is needed.
106106

107107
Performance tip: If all contexts share the same proxy IP, set `--proxy-ip` to skip repeated lookups.
108108

@@ -114,8 +114,8 @@ Performance tip: If all contexts share the same proxy IP, set `--proxy-ip` to sk
114114

115115
**DNS & IP Discovery**
116116
- **DNS‑leak protection:** SOCKS5 proxies prevent local DNS resolution, and all domain lookups go through the proxy tunnel.
117-
- **UDP over SOCKS5 (ENT Tier3):** Automatically attempts UDP associate to tunnel QUIC/STUN where supported; ICE presets can often be skipped when UDP is available.
118-
- **Local DNS solver (ENT Tier1):** Enable `--bot-local-dns` when you want faster resolution, want to avoid DNS poisoning, or your proxy provider restricts DNS behavior. This keeps DNS resolution local while the rest of the proxy and geo pipeline remains consistent.
117+
- **UDP over SOCKS5 (ENT Tier3 feature):** Automatically attempts UDP associate to tunnel QUIC/STUN where supported; ICE presets can often be skipped when UDP is available.
118+
- **Local DNS solver (ENT Tier1 feature):** Enable `--bot-local-dns` when you want faster resolution, want to avoid DNS poisoning, or your proxy provider restricts DNS behavior. This keeps DNS resolution local while the rest of the proxy and geo pipeline remains consistent.
119119
- **Custom public IP service:** Use `--bot-ip-service` to point BotBrowser at your preferred IP lookup endpoint when you need deterministic egress discovery or an in-house IP service. You can provide multiple endpoints separated by commas, and BotBrowser will race them and pick the fastest successful response.
120120

121121
**Important:** Always use BotBrowser's proxy options over framework-specific settings to ensure geo-detection remains accurate and consistent.
@@ -134,14 +134,14 @@ chromium-browser --bot-profile="/abs/profile.enc" \
134134

135135
- **HTTP Headers & Protocol:** Chrome‑like request headers; authentic HTTP/2 and HTTP/3 behavior (see Chrome Behavior Emulation).
136136
- **DNS Routing:** SOCKS5 avoids local DNS resolution; all lookups go through the proxy tunnel (see Enhanced Proxy System).
137-
- **UDP over SOCKS5 (ENT Tier3):** Automatic UDP associate when supported to tunnel QUIC and STUN; ICE presets often unnecessary if UDP is available.
137+
- **UDP over SOCKS5 (ENT Tier3 feature):** Automatic UDP associate when supported to tunnel QUIC and STUN; ICE presets often unnecessary if UDP is available.
138138
- **WebRTC:** SDP/ICE manipulation and candidate filtering to prevent local IP disclosure (see WebRTC Leak Protection).
139139
- **TLS Fingerprints (JA3/JARM/ALPN):** Status: Roadmap: evaluation in progress; goals include cipher/extension ordering and ALPN tuning.
140140

141141
**Stack differentiators:**
142142
- Per-context proxies with automatic geo detection (timezone/locale/language) across contexts and sessions
143143
- DNS-through-proxy plus credentialed proxy URLs keep browser-level geo signals consistent
144-
- UDP-over-SOCKS5 tunnel (ENT Tier3 capability) for QUIC/STUN so ICE presets are only needed when UDP is unavailable
144+
- UDP-over-SOCKS5 tunnel (ENT Tier3 feature) for QUIC/STUN so ICE presets are only needed when UDP is unavailable
145145
- Optional ICE control via `--bot-webrtc-ice` (PRO feature) when the proxy lacks UDP support
146146
- Chromium-level implementation that avoids external Go/ProxyChains hijacking; tunneling lives inside the network stack
147147

@@ -206,7 +206,7 @@ Complete WebRTC fingerprint consistency and network privacy protection.
206206
- RTCPeerConnection behavior standardization
207207
- Network topology protection through controlled signal patterns
208208
- ICE server presets and custom lists via `--bot-webrtc-ice` (PRO feature) to standardize STUN and TURN endpoints observed by page JavaScript
209-
- Combined with UDP-over-SOCKS5 (ENT Tier3) you achieve Chromium-level QUIC and STUN tunneling for complete network consistency; see [`Network Fingerprint Control`](ADVANCED_FEATURES.md#network-fingerprint-control) and [`CLI_FLAGS`](CLI_FLAGS.md#⚙️-profile-configuration-override-flags) for implementation examples.
209+
- Combined with UDP-over-SOCKS5 (ENT Tier3 feature) you achieve Chromium-level QUIC and STUN tunneling for complete network consistency; see [`Network Fingerprint Control`](ADVANCED_FEATURES.md#network-fingerprint-control) and [`CLI_FLAGS`](CLI_FLAGS.md#⚙️-profile-configuration-override-flags) for implementation examples.
210210

211211
<a id="chrome-behavior-emulation"></a>
212212
### Chrome Behavior Emulation
@@ -222,8 +222,8 @@ Consistent Chrome compatible behaviors and standardized API responses.
222222
- Consistent behavior with standard services integration
223223
- Standardized JavaScript API responses matching Chrome specifications
224224

225-
**Widevine CDM Integration (ENT Tier2):**
226-
> Note: BotBrowser does not distribute proprietary modules (e.g., Widevine). End users must obtain playback components via official channels, and this integration is available only in ENT Tier2.
225+
**Widevine CDM Integration (ENT Tier2 feature):**
226+
> Note: BotBrowser does not distribute proprietary modules (e.g., Widevine). End users must obtain playback components via official channels, and this integration is available only in ENT Tier2 feature.
227227
228228
---
229229

@@ -312,18 +312,16 @@ Compact overview; expand for full details.
312312
### Precise FPS Simulation
313313
Advanced frame‑rate and performance emulation.
314314

315-
**Refresh‑Rate Control:**
315+
**Refresh‑Rate Control: (ENT Tier2 feature)**
316+
- requestAnimationFrame delay matching target FPS
316317
- Emulate target refresh rates (60Hz, 120Hz, 144Hz, etc.)
317318
- Simulate high-FPS macOS behavior on Ubuntu hosts
318319
- Authentic vsync and frame timing patterns
319-
- Input latency simulation matching target devices
320320

321-
**Performance Timing:**
322-
- requestAnimationFrame delay matching target FPS
321+
**Performance Timing: (ENT Tier1 feature)**
323322
- Realistic frame drops and performance variations
324323
- GPU rendering timing simulation
325-
- Display synchronization behavior
326-
- Runtime timing scaling via `--bot-time-scale` (ENT Tier1 feature) to compress `performance.now()` deltas for low-load simulation (e.g., `--bot-time-scale=0.92` for high-load emulation)
324+
- Runtime timing scaling via `--bot-time-scale` to compress `performance.now()` deltas for low-load simulation (e.g., `--bot-time-scale=0.92` for high-load emulation)
327325

328326
### Performance Fingerprint Controls
329327
Fine‑grained tuning for authentic device simulation.
@@ -345,7 +343,7 @@ Fine‑grained tuning for authentic device simulation.
345343
- WebAssembly performance simulation
346344
- Crypto API timing characteristics
347345
- Web Worker performance patterns
348-
- Deterministic noise seeds via `--bot-noise-seed` (ENT Tier2) to stabilize noise distributions across sessions (`--bot-noise-seed=1.07`)
346+
- Deterministic noise seeds via `--bot-noise-seed` (ENT Tier2 feature) to stabilize noise distributions across sessions (`--bot-noise-seed=1.07`)
349347

350348
### Extended Media Types & WebCodecs APIs
351349
Comprehensive media‑format support and codec emulation.
@@ -364,7 +362,7 @@ Comprehensive media‑format support and codec emulation.
364362
- Encoding capability emulation
365363

366364
**Media Capabilities:**
367-
- Realistic mediaCapabilities.decodingInfo() responses (ENT Tier2 for DRM probing parity)
365+
- Realistic mediaCapabilities.decodingInfo() responses (ENT Tier2 feature for DRM probing parity)
368366
- Power efficiency reporting simulation
369367
- Smooth playback prediction accuracy
370368
- HDR and wide gamut support detection

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
## [2025-12-22]
2222
### Improvements
23-
- **FPS control precision**: Fine‑tuned frame rate simulation logic to deliver more accurate and stable FPS emulation, improving consistency when targeting specific refresh rates and reducing jitter in timing-sensitive scenarios.
23+
- **FPS control precision (ENT Tier2)**: Fingerprint-based FPS simulation that precisely matches profile refresh rates even on low-spec hosts (e.g., VPS running 30 FPS can emit 120 FPS behavior). Recovers high-refresh-rate profiles without leaking underlying infrastructure framerate, and reduces timing jitter in detection-sensitive scenarios.
2424

2525
### Fixes
2626
- **Iframe content dimensions**: Resolved an edge case where iframe content dimensions (height/width) could be reported as zero in certain layout conditions. Frame boundaries now render consistently.

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,13 +118,13 @@ Examples: [Playwright](examples/playwright/) • [Puppeteer](examples/puppeteer/
118118
119119
- **Multi Layer Noise**: Canvas, WebGL, WebGPU, text, and AudioContext surfaces share deterministic, cross-worker noise with low-level Skia and HarfBuzz tuning so observers cannot correlate runs
120120
- **Execution Environment Isolation**: Clean execution contexts prevent framework artifacts from exposing automation details, framework-less `--bot-script`, and console suppression PRO toggles maintain consistent fingerprints across automation modes
121-
- **Configurable Stack**: 30+ CLI overrides, ENT Tier1 per-context proxies with auto geo, and session tooling (cookies, bookmarks, title, history) make privacy scripting flexible
121+
- **Configurable Stack**: 30+ CLI overrides, per-context proxies with auto geo (ENT Tier1), and session tooling (cookies, bookmarks, title, history) make privacy scripting flexible
122122
- **Typography Fidelity**: DOM text renders from embedded Windows, macOS, and Android font packs so host fonts never leak during cross-OS simulation
123123
- **Client Hints Lockstep**: DPR, device-memory, and UA-CH headers match JavaScript-visible values to keep header data in sync with runtime fingerprints
124124
- **Headless ↔ GUI Parity**: Identical GPU, WebGPU, and media signals across browser modes so privacy regression tests remain stable
125-
- **Performance Controls**: Precision FPS and memory timings plus ENT Tier1 timing controls and ENT Tier2 noise seeds for reproducible privacy benchmarks
125+
- **Performance Controls**: Precision FPS (ENT Tier2) and memory timings plus timing controls (ENT Tier1) and noise seeds for reproducible privacy benchmarks (ENT Tier2)
126126
- **Focus & Session Control**: Always-active tabs, configurable ICE presets, and expanded media reporting keep privacy sessions believable
127-
- **Network Enhancements**: ENT Tier1 per-context proxies, optional local DNS solver (ENT Tier1), UDP-over-SOCKS5 (ENT Tier3), and SOCKS5H DNS in tunnel behavior for clean geo signals
127+
- **Network Enhancements**: (ENT Tier1) per-context proxies, optional local DNS solver (ENT Tier1), UDP-over-SOCKS5 (ENT Tier3), and SOCKS5H DNS in tunnel behavior for clean geo signals
128128

129129
<details>
130130
<summary><strong>Fingerprint Consistency Implementation: Privacy Controls → Technical Design → Validation</strong></summary>

profiles/v143/chrome143_android13.enc

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

profiles/v143/chrome143_mac_arm64.enc

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

profiles/v143/chrome143_win10_x64.enc

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)