Browsers and anti-detect browsers
Configuring proxies manually in Chrome and Firefox, and filling in the fields in AdsPower, BitBrowser and similar tools.
For using a proxy in a browser without writing code: manual verification, account operations, multi-account isolation. This page covers each tool's fields.
Get your credentials ready
Whichever tool you use, these are the four values needed:
| Field | Value |
|---|---|
| Type / protocol | HTTP or SOCKS5 |
| Host | GATEWAY_HOST |
| Port | 58971 (shared by both protocols) |
| Username | USERNAME-country-US-session-acct01-time-120 |
| Password | PASSWORD |
Firefox
Firefox is the only mainstream browser with built-in proxy authentication that needs no extension, which makes it the first choice for manual verification.
Open the proxy settings
Enter about:preferences in the address bar, search for "proxy", and click Settings.
Choose manual configuration
Select Manual proxy configuration:
- HTTP Proxy:
GATEWAY_HOST, Port58971 - Check Also use this proxy for HTTPS
For SOCKS5, fill in the SOCKS Host and select SOCKS v5.
Enable remote DNS
Check Proxy DNS when using SOCKS v5. That hands hostnames to the proxy so your local DNS doesn't reveal what you're visiting.
Enter credentials on first request
Visit any site and Firefox prompts for authentication. Tick "Use Password Manager to remember this password" to avoid retyping.
Chrome
Chrome uses the system proxy settings and cannot be configured in-browser, and an authenticated proxy triggers a dialog. Two workable approaches:
A dedicated user directory plus launch flags
# macOS
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
--user-data-dir="$HOME/chrome-profiles/acct01" \
--proxy-server="http://GATEWAY_HOST:58971"
# Windows (PowerShell)
& "C:\Program Files\Google\Chrome\Application\chrome.exe" `
--user-data-dir="$env:USERPROFILE\chrome-profiles\acct01" `
--proxy-server="http://GATEWAY_HOST:58971"
# Linux
google-chrome \
--user-data-dir="$HOME/chrome-profiles/acct01" \
--proxy-server="http://GATEWAY_HOST:58971"
Passwordless ports
With a fixed egress IP, ports from the Extract API need no credentials, so Chrome never prompts:
# Extract one port first
curl 'https://api.example.com/api/v1/proxy/extract?apikey=YOUR_KEY&num=1&country=US&session=sticky&time=120'
# → 1.2.3.4:20001
google-chrome \
--user-data-dir="$HOME/chrome-profiles/acct01" \
--proxy-server="http://1.2.3.4:20001"
Edge / Brave / other Chromium browsers
Identical to Chrome, just a different executable:
# Edge
msedge --user-data-dir="..." --proxy-server="http://GATEWAY_HOST:58971"
# Brave
brave-browser --user-data-dir="..." --proxy-server="http://GATEWAY_HOST:58971"
SwitchyOmega and other proxy extensions
Extensions avoid the command line and let you save several profiles for quick switching. With SwitchyOmega:
- Create a new profile with type "Proxy Profile"
- Protocol
HTTP, ServerGATEWAY_HOST, Port58971 - Click the padlock icon on the server row and enter username and password
- Use "Auto Switch" to route by domain, so only target sites go through the proxy
Anti-detect browsers
The proxy configuration screens in anti-detect browsers (AdsPower, BitBrowser, Hubstudio, Undetectable and others) are broadly similar, and the field mapping is the same.
Common field mapping
| UI field | What to enter |
|---|---|
| Proxy type | HTTP or SOCKS5 |
| Host / server address | GATEWAY_HOST |
| Port | 58971 |
| Username | USERNAME-country-US-session-acct01-time-120 |
| Password | PASSWORD |
Some tools accept a single proxy URL
Certain tools let you paste one complete URL:
http://USERNAME-country-US-session-acct01-time-120:PASSWORD@GATEWAY_HOST:58971
Align the fingerprint with the region
This is the most common mistake in anti-detect setups. An IP in the United States paired with a Chinese locale and Asia/Shanghai timezone is an obvious anomaly in itself.
When you specify country, align these too:
| Setting | Follow the IP's location |
|---|---|
| Timezone | Most anti-detect browsers have a "match IP" option — turn it on |
Locale / Accept-Language | en-US for a US IP, de-DE for Germany |
| Geolocation | Use "match IP" if available, otherwise enter the city's coordinates |
| WebRTC | Set to "replace" or "disable", never "real" |
Static residential suits account operations better
Dynamic residential plus sticky sessions has a ceiling for account operations: time caps at 120 minutes, and the binding is to a route rather than a specific IP, so you can't recover when the exit loses that IP.
Long-running accounts should use static residential — you're buying a specific IP, fixed for a 30-day lease. Enter the host:port:user:pass you receive directly, with no session options at all.
Manual verification checklist
Once configured, check each of these in the browser:
| Check | How |
|---|---|
| Exit IP | Visit https://api.ipify.org |
| Location | Visit https://ipinfo.io/json and compare country / city |
| WebRTC leak | Use a WebRTC leak test site and confirm no local IP is exposed |
| DNS leak | Use a DNS leak test site |
| Timezone consistency | Browser console: new Date().getTimezoneOffset() |
| Locale consistency | Console: navigator.language |