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:pass@proxy.example.com:1080

If you already know the proxy exit IP:

chromium-browser \ --bot-profile="path/to/profile.enc" \ --proxy-server=socks5://user:pass@proxy.example.com: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:pass@proxy.example.com:8080

Scenario 2: Manual timezone override, keep language auto

--proxy-server=http://user:pass@proxy.example.com:8080 \ --bot-timezone=Europe/Berlin

Scenario 3: Manual language override, keep timezone auto

--proxy-server=http://user:pass@proxy.example.com:8080 \ --bot-languages=de-DE,de,en-US,en

Scenario 4: Full manual geographic identity

--proxy-server=http://user:pass@proxy.example.com: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:pass@proxy.example.com:1080 \\ --proxy-ip=203.0.113.1,ipv6_none

Scenario 7: IPv6-only proxy

--proxy-server=socks5://user:pass@proxy.example.com: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.

Updated