Skip to Content
Network & ProxyProxy and Geolocation

Proxy and Geolocation

Align proxy routing and geographic signals (timezone, locale, languages) for stable location identity.


Prerequisites

  • BotBrowser with --bot-profile.
  • Proxy configured with --proxy-server. See Proxy Configuration.

Quick Start

Default behavior (recommended):

chromium-browser \ --bot-profile="path/to/profile.enc" \ --proxy-server=socks5://user:[email protected]:1080

If you already know the proxy exit IP:

chromium-browser \ --bot-profile="path/to/profile.enc" \ --proxy-server=socks5://user:[email protected]:1080 \ --proxy-ip=203.0.113.1

--proxy-ip accepts IPv4, IPv6, or a comma-separated pair containing one address from each family. Use ipv4_none or ipv6_none when the proxy has no exit address in that family. This declares the family unavailable and prevents a lookup for it. Use a pair when the proxy has distinct IPv4 and IPv6 exit identities.


How It Works

This guide focuses on configuration strategy:

  1. Launch with proxy (--proxy-server).
  2. BotBrowser derives geographic signals from the proxy exit IP.
  3. Explicit CLI or profile configs values take priority for the settings they define.

Values set to auto keep proxy-based alignment enabled. For example, an explicit locale can remain fixed while timezone and languages continue to follow the proxy.

For internals (lookup pipeline, data source behavior, accuracy boundaries), see GeoIP Database.


Common Scenarios

Scenario 1: Fully automatic alignment

--proxy-server=http://user:[email protected]:8080

Scenario 2: Manual timezone override, keep language auto

--proxy-server=http://user:[email protected]:8080 \ --bot-timezone=Europe/Berlin

Scenario 3: Manual language override, keep timezone auto

--proxy-server=http://user:[email protected]:8080 \ --bot-languages=de-DE,de,en-US,en

Scenario 4: Full manual geographic identity

--proxy-server=http://user:[email protected]:8080 \ --proxy-ip=203.0.113.1 \ --bot-timezone=Europe/Berlin \ --bot-locale=de-DE \ --bot-languages=de-DE,de,en-US,en

Scenario 5: Different geo per BrowserContext

Use per-context proxy assignment. See Per-Context Proxy.

Scenario 6: IPv4-only proxy

--proxy-server=socks5://user:[email protected]:1080 \\ --proxy-ip=203.0.113.1,ipv6_none

Scenario 7: IPv6-only proxy

--proxy-server=socks5://user:[email protected]:1080 \\ --proxy-ip=ipv4_none,2001:db8::1009

Troubleshooting / FAQ

ProblemSolution
Timezone does not match proxy regionEnsure proxy is set via --proxy-server (or per-context proxy), not framework-only proxy options.
Unexpected language listCheck whether --bot-languages is explicitly set. Manual value overrides auto mapping.
First page load is slowProvide --proxy-ip or set custom IP services via --bot-ip-service.
Different contexts show different geo valuesExpected when contexts use different proxies.

Next Steps


Related documentation: Advanced Features | Per-Context Fingerprint


Legal Disclaimer & Terms of Use • Responsible Use Guidelines. BotBrowser is for authorized fingerprint protection and privacy research only.


Related BotBrowser blog: Proxy Configuration

Updated