BotBrowser CLI Flags Reference
For Fingerprint Protection and Privacy Research.
This document explains BotBrowser’s CLI configuration system. These flags extend Chromium and provide runtime control over fingerprints to prevent tracking system collection without modifying profile files. For terms of use, see the Legal Disclaimer and Responsible Use Guidelines.
Smart auto-configuration: BotBrowser derives timezone, locale, and languages from your IP/proxy. Override only when you need a specific setup.
Dynamic configuration:
--bot-*flags (config overrides + behavior toggles) enable runtime fingerprint control, which is ideal for CI/CD and multi-instance scenarios.
License tiers: Some flags show tier hints in parentheses (PRO, ENT Tier1/Tier2/Tier3); those options are subscription-gated.
Table of Contents
- Core BotBrowser Flags
- Enhanced Proxy Configuration
- BotBrowser Customization
- Profile Configuration Override Flags
- Mirror: Distributed Privacy Consistency
- Usage Examples
Core BotBrowser Flags
--bot-profile
The foundation of BotBrowser’s privacy features.
Specifies the path to the BotBrowser profile file (.enc).
--bot-profile="/absolute/path/to/profile.enc"Notes:
- The profile determines the fingerprint, OS emulation, and privacy controls
- Use profiles from the profiles directory or contact support for custom profiles
- This is the core difference from stock Chromium
--bot-profile-dir
Random profile selection for fingerprint diversity.
Specify a directory containing multiple .enc profile files. BotBrowser will randomly select one profile on each startup for fingerprint diversity without manual configuration.
--bot-profile-dir="/absolute/path/to/profiles/directory"Notes:
- Each startup randomly selects a different profile from the directory
- Useful for multi-instance deployments requiring fingerprint variation
- Cannot be used together with
--bot-profile(directory takes precedence if both are specified)
Enhanced Proxy Configuration
Enhanced --proxy-server with Embedded Credentials
BotBrowser extends the standard --proxy-server flag to accept embedded credentials in the URL.
⚠️ Important: For authorized privacy research and fingerprint protection only. Do not use for unauthorized data collection.
# HTTP/HTTPS proxy with credentials
--proxy-server=http://username:password@proxy.example.com:8080
--proxy-server=https://username:password@proxy.example.com:8080
# SOCKS5 proxy with credentials
--proxy-server=socks5://username:password@proxy.example.com:1080
# SOCKS5H proxy with credentials (hostname resolution stays within tunnel)
--proxy-server=socks5h://username:password@proxy.example.com:1080Supported Protocols: HTTP, HTTPS, SOCKS5, SOCKS5H. Guide: Proxy Configuration
Proxy auth usernames: Structured proxy usernames can include additional separators such as , and |. This is useful for providers that encode routing hints inside the username, for example:
--proxy-server=socks5://user_abc,type_mobile,country_GB,session_1234:11111@portal.proxy.example.com:1080UDP over SOCKS5 (ENT Tier3)
ENT Tier3 adds built-in SOCKS5 UDP ASSOCIATE support with no extra flag required. When the proxy supports UDP, BotBrowser will tunnel QUIC traffic and STUN probes over the proxy to harden proxy checks. Guide: UDP over SOCKS5
# UDP (QUIC/STUN) auto-tunneled when the SOCKS5 proxy supports UDP associate
--proxy-server=socks5://username:password@proxy.example.com:1080--proxy-ip (ENT Tier1)
Specify the proxy’s public IP to optimize performance.
This skips per-page IP lookups and speeds up navigation.
--proxy-ip="203.0.113.1"Benefits:
- Eliminates IP detection overhead on each page load
- Faster browsing when using proxies
- Combine with
--bot-config-timezonefor protected region emulation
⚠️ Important:
- Browser-level proxy: use
--proxy-serverfor protected geo-detection across contexts - Per-context proxy (ENT Tier1): set different proxies via
createBrowserContext({ proxy }); BotBrowser auto-derives geo info in both cases. Guide: Per-Context Proxy - Avoid: framework-specific options like
page.authenticate()that disable BotBrowser’s geo-detection, which may leak location information
--proxy-bypass-rgx (PRO)
Define URL patterns via regular expressions for proxy routing control. Uses RE2 regex syntax. Matches against both hostname and full URL path (including HTTPS).
--proxy-bypass-rgx="\.js(\?|$)" # Bypass .js files
--proxy-bypass-rgx="\.(js|css|png|svg)(\?|$)" # Bypass static assets
--proxy-bypass-rgx="/api/public/|/static/" # Bypass specific paths
--proxy-bypass-rgx="cdn\.|\.google\.com$" # Bypass by domain patternJavaScript Usage:
Do NOT include quotes inside the value:
// Wrong - quotes become part of regex
launchArgs.push('--proxy-bypass-rgx="\\.js$"');
// Correct
launchArgs.push('--proxy-bypass-rgx=\\.js($|\\?)');
launchArgs.push('--proxy-bypass-rgx=example\\.com.*\\.js($|\\?)');In JavaScript strings: \\. becomes \., \\? becomes \?
Guide: Proxy Selective Routing
--bot-port-protection (PRO)
Protect local service ports (VNC, RDP, development servers, etc.) from being scanned. When enabled, BotBrowser prevents remote pages from detecting which services are running on localhost.
--bot-port-protectionCovers 30 commonly-probed ports across IPv4 (127.0.0.0/8), IPv6 (::1), and localhost. Can also be enabled via profile JSON (configs.portProtection). See Port Protection for details. Guide: Port Protection
--bot-local-dns (ENT Tier1)
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. Part of Network Fingerprint Control.
--bot-local-dnsPractical notes:
- Helps when a proxy provider blocks or rewrites DNS lookups
- Useful when you want to avoid provider-side DNS policies and keep resolution behavior protected across runs
Guide: DNS Leak Prevention
--bot-ip-service
Customize the public IP service used to discover your egress IP (and derive geo settings when auto-detection is enabled).
--bot-ip-service="https://ip.example.com"You can provide multiple endpoints as a comma-separated list. BotBrowser will race them and use the fastest successful response.
--bot-ip-service="https://ip1.example.com,https://ip2.example.com"BotBrowser Customization
--bot-title
Custom browser identification and session management.
Sets custom browser window title and taskbar/dock icon label.
--bot-title="MyBot Session 1"
--bot-title="Research Session"Features:
- Appears in the window title bar
- Shows on the taskbar/dock icon
- Displays as a label next to the Refresh button
- Useful for managing multiple instances
--bot-cookies (PRO)
Session restoration and cookie management.
Accepts cookie data as either inline JSON or from a file.
Inline JSON:
--bot-cookies='[{"name":"session","value":"abc123","domain":".example.com"}]'From JSON file:
--bot-cookies="@/path/to/cookies.json"The file should contain a JSON array of cookie objects with name, value, and domain fields. Guide: Cookie Management
--bot-bookmarks
Pre-populate bookmarks for session preservation.
Accepts a JSON string containing bookmark data for startup.
--bot-bookmarks='[{"title":"Example","type":"url","url":"https://example.com"},{"title":"Folder","type":"folder","children":[{"title":"Example","type":"url","url":"https://example.com"}]}]'Guide: Bookmark Seeding
--bot-canvas-record-file
Canvas forensics and tracking analysis.
Records all Canvas 2D, WebGL, and WebGL2 API calls to a JSONL file for forensic analysis and replay.
--bot-canvas-record-file="/tmp/canvaslab.jsonl"Key Features:
- Complete Canvas 2D, WebGL, and WebGL2 API call recording with full parameter serialization
- Deterministic capture (noise variance disabled during recording)
- JSONL format for easy parsing and analysis
- HTML replay viewer with WebGL enum reverse-lookup and source location mapping
Learn more: CanvasLab Documentation
--bot-audio-record-file
Web Audio forensics and tracking analysis.
Records all Web Audio API calls to a JSONL file for forensic analysis of audio fingerprint collection.
--bot-audio-record-file="/tmp/audiolab.jsonl"Key Features:
- Complete Web Audio API recording: context creation, node creation, parameter setting, routing topology, data extraction
- Automatic detection of common audio fingerprinting patterns
- Sample previews (first/last 10 values, sums) for quick inspection
- Codec support queries (canPlayType, MediaSource.isTypeSupported)
- JSONL format for easy parsing with
jqor the interactive Audio Viewer
Learn more: AudioLab Documentation
--bot-script
Framework-less approach with a privileged JavaScript context.
Execute a JavaScript file right after BotBrowser starts in a privileged, non-extension context where chrome.debugger is available.
--bot-script="/path/to/script.js"Key Features:
- No framework dependencies: pure Chrome DevTools Protocol access
- Earlier intervention: runs before navigation
- Privileged context: full
chrome.debuggerAPI access - Isolated execution: framework artifacts do not appear in page context
Documentation: Chrome chrome.debugger API - https://developer.chrome.com/docs/extensions/reference/api/debugger/
Examples: Bot Script . Guide: Bot Script
--bot-custom-headers (PRO)
Inject custom HTTP request headers into all outgoing requests.
# JSON format with header name-value pairs
--bot-custom-headers='{"X-Custom-Header":"value","X-Another":"value2"}'JavaScript Usage:
Do NOT wrap the JSON value in extra quotes; the shell-style single quotes shown above are for Bash only. In JavaScript they become literal characters inside the flag value:
// Wrong - single quotes become part of the value
args.push(`--bot-custom-headers='${JSON.stringify(customHeaders)}'`);
// Correct
args.push("--bot-custom-headers=" + JSON.stringify(customHeaders));Configuration Methods:
- CLI flag:
--bot-custom-headers='{"Header":"value"}' - Profile JSON:
configs.customHeaders - CDP:
BotBrowser.setCustomHeaders(see below; also in CDP Quick Reference)
CDP Usage:
The BotBrowser.setCustomHeaders command must be sent to the browser-level CDP session, not a page-level session. Sending it to a page target will return ProtocolError: 'BotBrowser.setCustomHeaders' wasn't found.
Puppeteer:
const cdpSession = await browser.target().createCDPSession();
await cdpSession.send('BotBrowser.setCustomHeaders', {
headers: { 'x-requested-with': 'com.example.app' }
});Playwright:
const cdpSession = await browser.newBrowserCDPSession();
await cdpSession.send('BotBrowser.setCustomHeaders', {
headers: { 'x-requested-with': 'com.example.app' }
});Notes:
- Headers are added to all HTTP/HTTPS requests
- Useful for API authentication, session management, or request routing
- JSON format with string key-value pairs
Guide: Custom HTTP Headers
Profile Configuration Override Flags
High-priority configuration overrides: these CLI flags supersede profile settings.
BotBrowser supports command-line flags that override profile configuration values with the highest priority. These flags start with --bot-config- and directly map to profile configs properties.
Recommended: Use CLI flags instead of modifying profiles. They carry the highest priority and don’t require editing encrypted files. License tiers are indicated in parentheses where applicable.
Bot Configuration Overrides (--bot-config-*)
Flags that directly map to profile configs and override them at runtime.
Identity & Locale - Guides: Browser Brand Alignment, Custom User-Agent, Timezone, Locale, and Language
--bot-config-browser-brand=chrome(ENT Tier2, webview requires ENT Tier3): Browser brand: chrome, chromium, edge, brave, opera, webview--bot-config-brand-full-version=142.0.3595.65(ENT Tier2): Brand-specific full version (Edge/Opera cadence) for UA-CH congruence--bot-config-ua-full-version=142.0.7444.60(ENT Tier2): User agent version: full version string matching Chromium major--bot-config-languages=auto: Languages:auto(IP-based, default) or custom value likeen-US,fr-FR(ENT Tier1)--bot-config-locale=auto: Browser locale:auto(derived from IP/language, default) or custom value likeen-US,fr-FR(ENT Tier1)--bot-config-timezone=auto: Timezone:auto(IP-based, default),real(system), or IANA timezone name likeAmerica/New_York,Europe/Berlin(ENT Tier1)--bot-config-location=auto: Location:auto(IP-based, default),real(system GPS), or custom coordinates like40.7128,-74.0060(ENT Tier1)
Custom User-Agent (ENT Tier3) - Guide: Custom User-Agent
Build any browser identity with full userAgentData control. These flags work together with --user-agent to construct a complete, internally consistent browser identity.
--bot-config-platform=Android: Platform name: Windows, Android, macOS, Linux--bot-config-platform-version=13: OS version string--bot-config-model=SM-G991B: Device model (primarily for mobile)--bot-config-architecture=arm: CPU architecture: x86, arm, arm64--bot-config-bitness=64: System bitness: 32, 64--bot-config-mobile=true: Mobile device flag
The --user-agent flag supports placeholders that get replaced at runtime:
{platform},{platform-version},{model}for device info{ua-full-version},{ua-major-version}for Chromium version{brand-full-version}for brand-specific version (Edge, Opera){architecture},{bitness}for CPU info
BotBrowser auto-generates matching navigator.userAgentData (brands, fullVersionList with proper GREASE) and all Sec-CH-UA-* headers. Values stay consistent across main thread, workers, and HTTP requests.
Note: UA/Engine Congruence: Keep
--bot-config-ua-full-versionaligned with your Chromium major version, and use--bot-config-brand-full-versionwhen a vendor’s cadence (Edge, Opera, Brave) diverges so UA-CH metadata stays internally protected.
Display & Input - Guides: Screen and Window, Font Fingerprinting, Device Emulation
--bot-config-window=<value>: Window dimensions with multiple formats:profile- Use profile’s window settings (default for headless and Android profiles)real- Use actual system window dimensions (default for desktop headful)WxH- Direct size specification (e.g.,1920x1080), sets innerWidth/innerHeight with outerWidth/outerHeight auto-derived from profile bordersJSON- Full customization (e.g.,'{"innerWidth":1920,"innerHeight":1080,"devicePixelRatio":2}')
--bot-config-screen=<value>: Screen properties with multiple formats:profile- Use profile’s screen settings (default for headless and Android profiles)real- Use actual system screen dimensions (default for desktop headful)WxH- Direct size specification (e.g.,2560x1440), sets width/height with availWidth/availHeight auto-derived from profileJSON- Full customization (e.g.,'{"width":2560,"height":1440,"availWidth":2560,"availHeight":1400}')
Headful note: Desktop profiles default to
realin headful mode, meaning the browser uses the actual system window and screen dimensions. To apply profile-defined dimensions in headful, set both--bot-config-window=profileand--bot-config-screen=profileexplicitly.
--bot-config-keyboard=profile: Keyboard settings: profile (emulated), real (system keyboard)--bot-config-fonts=profile: Font settings: profile (embedded), expand (profile + fallback), real (system fonts)--bot-config-orientation=<value>: Screen orientation for mobile profiles. Desktop profiles ignore this flag.profile- Auto-detect from profile dimensions (default)landscape/portrait- Force orientation, automatically adjusting all related dimensions to matchlandscape-primary,landscape-secondary,portrait-primary,portrait-secondary- Explicit orientation with specific angle
--bot-config-color-scheme=light: Color scheme: light, dark--bot-config-disable-device-scale-factor: Disable device scale factor: true, false
Rendering, Noise & Media/RTC - Guides: Canvas, WebGL, Audio, Speech Synthesis, Noise Seed
--bot-config-webgl=profile: WebGL: profile (use profile), real (system), disabled (off)--bot-config-webgpu=profile: WebGPU: profile (use profile), real (system), disabled (off)--bot-config-noise-webgl-image: WebGL image noise: true, false--bot-config-noise-canvas: Canvas fingerprint noise: true, false--bot-config-noise-audio-context: Audio context noise: true, false--bot-config-noise-client-rects: Client rects noise: true, false--bot-config-noise-text-rects: Text rects noise: true, false--bot-config-speech-voices=profile: Speech voices: profile (synthetic), real (system)--bot-config-media-devices=profile: Media devices: profile (synthetic devices), real (system devices)--bot-config-media-types=expand: Media types: expand (default), profile, real--bot-config-webrtc=profile: WebRTC: profile (use profile), real (native), disabled (off)
Behavior & Protection Toggles
Runtime toggles that don’t rely on profile configs but still override behavior at launch.
--bot-disable-debugger: Ignore JavaScriptdebuggerstatements to avoid pauses--bot-mobile-force-touch: Force touch events on/off for mobile device simulation--bot-disable-console-message(ENT Tier1): Suppress console.* output from CDP logs (default true); prevents framework hooks from enablingConsole.enable/Runtime.enable, which blocks fingerprint signals. Guide: Console Suppression--bot-inject-random-history(PRO): Add synthetic browsing history for session authenticity. Acceptstrue(random 2-7 entries), a number for precise control (e.g.,=15forhistory.lengthof 16), orfalseto disable. Guide: History Seeding--bot-enable-variations-in-context(ENT Tier2): IncludeX-Client-Dataheaders in incognito browser contexts for Google domains, same as regular browsing. Disabled by default.--bot-always-active(PRO, default true): Keep windows/tabs active even when unfocused. See Active Window Emulation--bot-webrtc-ice=google(ENT Tier1): Override STUN/TURN endpoints observed by JavaScript/WebRTC to control ICE signaling; accepts presets (google) orcustom:stun:...,turn:.... See WebRTC Leak Protection. Guide: WebRTC Leak Prevention--bot-noise-seed(ENT Tier2): Integer seed (1-UINT32_MAX) for the deterministic noise RNG; each seed augments privacy variance across Canvas 2D/WebGL/WebGPU images, text metrics, text layout, ClientRect measurements, and offline audio hashes so you can treat a seed as a reproducible fingerprint ID per tenant while keeping runs stable.0keeps noise active with profile defaults. Guide: Noise Seed Reproducibility--bot-fps(ENT Tier2): Control frame rate behavior at runtime. Acceptsprofile(use profile data, default when capable),real(use native frame rate), or a number (e.g.,60). Guide: FPS Control--bot-time-scale(ENT Tier2): Float < 1.0; scales downperformance.now()intervals to emulate lower load and reduce timing skew signals (typical range 0.80-0.99). Guide: Performance Fingerprinting--bot-time-seed(ENT Tier2): Integer seed (1-UINT32_MAX) for deterministic execution timing diversity across 27 browser operations (Canvas, WebGL, Audio, Font, DOM, and more).0disables the feature (default). Each seed produces a unique, stable performance profile that protects against timing-based tracking. Also coversperformance.getEntries(),performance.getEntriesByType("navigation"), andperformance.timingwith authentic per-session redistribution.--bot-stack-seed(ENT Tier2): Controls JavaScript recursive call stack depth across main thread, Worker, and WASM contexts. Acceptsprofile(match profile’s exact depth),real(use native depth), or a positive integer seed (1-UINT32_MAX) for per-session depth variation. Guide: Stack Depth Fingerprinting--bot-network-info-override: Enable profile-definednavigator.connectionvalues (rtt,downlink,effectiveType,saveData) and corresponding Client Hints headers (RTT,Downlink,ECT,Save-Data). Disabled by default. Guide: Navigator Properties--bot-gpu-emulation(ENT Tier2, default true): Controls GPU rendering backend selection on Linux. Automatically detects and prefers system GPU/GL drivers when available for optimal performance. Set--bot-gpu-emulation=falseto use your own GPU or GL driver directly.
Example tracking probe BotBrowser avoids when console forwarding stays disabled:
let detected = false;
const err = new Error();
Object.defineProperty(err, 'stack', {
get() { detected = true; }
});
console.log(err); // stack getter fires if Console.enable/Runtime.enable are activeKey Benefits of CLI Configuration Flags
- Highest Priority: Overrides profile settings
- No Profile Editing: Avoid changing encrypted JSON
- Dynamic Configuration: Perfect for testing and CI/CD
- Session Isolation: Different settings per instance
Configuration Priority
- CLI
--bot-config-*flags (Highest priority) - Profile
configssettings (Medium priority) - Profile default values (Lowest priority)
Behavior & privacy toggles apply at launch and override profile data entirely.
Mirror: Distributed Privacy Consistency (ENT Tier3)
Verify that your privacy protection works effectively across platforms and networks. Run a controller instance and multiple clients to ensure all instances maintain identical privacy defenses, protecting you from tracking across Windows, macOS, Linux, and remote deployment environments.
Key flags:
--bot-mirror-controller-endpoint=host:port- Launch as controller (captures your actions)--bot-mirror-client-endpoint=host:port- Launch as client (receives controller actions)
For complete setup instructions, examples, and troubleshooting, see the Mirror documentation . Guide: Mirror Distributed
Usage Examples
Minimal launch with proxy
# Essential flags with proxy and remote debugging
chromium-browser \
--bot-profile="/absolute/path/to/profile.enc" \
--bot-title="My Session" \
--proxy-server=http://myuser:mypass@proxy.example.com:8080 \
--remote-debugging-port=9222Single-instance overrides
# Override only what you need (timezone/locale auto-detected)
chromium-browser \
--bot-profile="/absolute/path/to/profile.enc" \
--bot-config-browser-brand="edge" \ # ENT Tier2 feature
--bot-title="Custom Session"
# Active window + custom ICE servers
chromium-browser \
--bot-profile="/absolute/path/to/profile.enc" \
--bot-always-active \ # PRO feature
--bot-webrtc-ice="custom:stun:stun.l.google.com:19302,turn:turn.example.com" # ENT Tier1 featureMulti-instance setup
# Instance 1 - Chrome brand with profile window settings
chromium-browser \
--bot-profile="/absolute/path/to/profile.enc" \
--bot-config-browser-brand="chrome" \ # ENT Tier2 feature
--bot-config-window="profile" \
--bot-cookies='[{"name":"sessionid","value":"abc123","domain":".example.com"}]' \
--bot-bookmarks='[{"title":"Work Site","url":"https://work.example.com","type":"url"}]' \
--user-data-dir="/tmp/instance1" &
# Instance 2 - Edge brand with real window settings
chromium-browser \
--bot-profile="/absolute/path/to/profile.enc" \
--bot-config-browser-brand="edge" \ # ENT Tier2 feature
--bot-config-window="real" \
--user-data-dir="/tmp/instance2" &
# Instance 3 - Custom window/screen size for OCR or specific viewport testing
chromium-browser \
--bot-profile="/absolute/path/to/profile.enc" \
--bot-config-window="1920x1080" \
--bot-config-screen="2560x1440" \
--user-data-dir="/tmp/instance3" &Performance timing & noise control (ENT Tier2)
# Stabilize performance timing and noise determinism under load
chromium-browser \
--bot-profile="/absolute/path/to/profile.enc" \
--bot-time-scale=0.92 \ # ENT Tier2 feature
--bot-time-seed=42 \ # ENT Tier2 feature, deterministic timing diversity
--bot-stack-seed=profile \ # ENT Tier2 feature: "profile", "real", or integer seed
--bot-noise-seed=42 # ENT Tier2 feature, deterministic canvas/audio noiseCustom User-Agent with WebView (ENT Tier3)
# Android WebView simulation with placeholders
chromium-browser \
--bot-profile="/absolute/path/to/android-profile.enc" \
--user-agent="Mozilla/5.0 (Linux; Android {platform-version}; {model} Build/TP1A.220624.021; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/{ua-full-version} Mobile Safari/537.36" \
--bot-config-browser-brand=webview \
--bot-config-platform=Android \
--bot-config-platform-version=13 \
--bot-config-model=SM-G991B \
--bot-config-mobile=true \
--bot-config-architecture=arm \
--bot-config-bitness=64Placeholders like {platform-version} and {model} get replaced from flags or fingerprint config. BotBrowser generates matching userAgentData and Client Hints automatically.
Android 16+ UA Reduction: When platform-version is 16 or higher, BotBrowser automatically applies Google’s WebView UA reduction policy . The UA string placeholders {platform-version}, {model}, and {ua-full-version} are frozen to reduced values (10, K, Major.0.0.0), while Client Hints continue to report the real values. The same --user-agent template works for both old and new Android versions without modification.
Guide: Android WebView
Related Documentation
Quick links to supporting materials.
- Guides - Comprehensive guides for all BotBrowser features
- Profile Configuration Guide - Configure browser behavior via profiles
- Per-Context Fingerprint - Independent fingerprint per BrowserContext
- Main README - General usage and standard Chromium flags
- Examples - Playwright and Puppeteer integration examples
- Docker Deployment - Container deployment guides
Tips & Best Practices
Practical pointers for stable runs.
BotBrowser-Specific Considerations
Configuration priority: CLI --bot-config-* flags override profile configs.
Session management: use --bot-title to identify instances.
Cookie persistence: --bot-cookies helps maintain state across restarts.
Realistic browsing: --bot-bookmarks adds authenticity.
Proxy authentication: embed credentials directly in the proxy URL.
Note: This document covers BotBrowser-specific flags only. For standard Chromium flags (like
--headless,--no-sandbox,--user-data-dir, etc.), refer to the Chromium command line documentation .
Legal Disclaimer & Terms of Use • Responsible Use Guidelines . BotBrowser is for authorized fingerprint protection and privacy research only.