The Proxy Playbook · Chapter 09
Browsers, Antidetect Tools and Phones
Where to set a proxy on desktops, browsers, antidetect profiles and phones, and how to stop the rest of the device giving the real identity away.
- System-wide versus per-app proxy settings
- Per-profile proxies in antidetect browsers
- Android, iOS and cloud phones
- WebRTC, DNS and timezone leaks
7 min read · page 58 of the PDF
A buyer types a proxy into the Windows settings page, opens Chrome and sees a German IP. A curl command in the terminal on the same machine still reports the office address. The proxy works. It was set in a place that only some programs read.
Where the proxy setting lives
A proxy can be set at four levels, and each one covers less of the machine than the one before. Setting it at the wrong level is a common reason traffic leaves through the wrong IP.
Set once in the operating system. Only apps that ask the system for its proxy will use it.
Firefox, curl and most scraping tools carry their own proxy setting.
An antidetect browser binds a different proxy to each profile.
Code picks a proxy for each request, as Chapter 8 showed.
On Windows the system setting sits under Settings, Network & internet, Proxy. On macOS it sits under System Settings, Network, the active connection, Details, Proxies. Chrome, Edge and Safari read these panels. Many command-line tools do not. They look for the HTTP_PROXY and HTTPS_PROXY environment variables, or for a flag such as curl -x.
A system proxy is a preference, not a tunnel. Nothing forces an app to honor it. A device that must push every packet through another network needs a VPN.
Firefox, Chrome and extensions
Firefox keeps its own proxy settings under Settings, General, Network Settings. The panel can follow the system, take a manual HTTP or SOCKS proxy, or load a PAC file. That makes Firefox the simplest way to run one proxied browser beside a normal one.
Two details matter. The "Proxy DNS when using SOCKS v5" box from Chapter 3 should stay ticked. The panel also has no fields for a SOCKS username and password, so SOCKS5 in Firefox works best with IP allowlisting. HTTP proxies prompt for credentials on first use.
Chrome has no proxy panel of its own. Its settings page opens the operating system's panel instead. A proxy for Chrome alone takes one of two routes:
- A launch flag. Starting Chrome with
--proxy-serverand a separate--user-data-dirgives a second, proxied instance. - An extension. Proxy-switcher extensions use Chrome's proxy API to set a proxy for one Chrome profile. Pick a publisher with a track record, because the extension can see every URL.
# macOS: a second Chrome with its own profile and proxy
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
--user-data-dir="$HOME/chrome-proxy-de" \
--proxy-server="gate.example-proxy.com:7000"
# Linux: the same idea
google-chrome --user-data-dir="$HOME/chrome-proxy-de" \
--proxy-server="gate.example-proxy.com:7000"The flag cannot carry a username and password. Chrome asks for them in a prompt, or the provider allowlists the machine's IP. Chrome also does not support SOCKS5 with a username and password, so use the provider's HTTP port or allowlisting.
Antidetect browsers: one profile, one proxy
An agency manages 12 client ad accounts from one laptop. In a normal browser those accounts share cookies, a fingerprint and an IP. In an antidetect browser each account gets a profile with its own storage, its own fingerprint and its own proxy.
The proxy field is only part of what these tools add:
- Isolated storage. Cookies, local storage and cache never cross between profiles.
- A stable fingerprint. Each profile reports the same canvas, WebGL, font, screen and user-agent values every time it opens.
- Location that follows the IP. Many tools can set timezone, language and geolocation from the proxy's exit address.
- Team and automation features. Profiles can be shared with colleagues or driven through an API.
| Tool | Engine | Worth knowing |
|---|---|---|
| Multilogin | Chromium core "Mimic" | Also offers Android cloud phones. Has a free plan. |
| AdsPower | SunBrowser (Chromium) and FlowerBrowser (Firefox) | Built-in RPA and a window synchronizer. |
| GoLogin | Chromium core "Orbita" | Free plan available. |
| Kameleo | "Chroma" (Chromium) and "Junglefox" (Firefox) | Supports Selenium, Puppeteer and Playwright. |
| Octo Browser | Chromium based | API access. |
| Camoufox | Firefox fork | Free, open source, built for Playwright automation. |
The full antidetect browser list covers the rest. Pair each profile with one steady address: a static ISP proxy or a long sticky residential session. An account that logs in from a new city every ten minutes looks wrong, however good the fingerprint is. ProxyLook's companion book, The Multi-Account Handbook, covers account work in depth.
Phones: Wi-Fi settings and cloud phones
Android and iOS both accept a proxy per Wi-Fi network in the system settings, and only an HTTP proxy.
Android
Open the Wi-Fi network's settings, choose Advanced options and set Proxy to Manual, then enter host and port. There are no credential fields. Android itself notes that the browser uses the proxy but other apps may not.
iOS
Open Settings, Wi-Fi, tap the info button beside the network, then Configure Proxy and Manual. Enter the server and port, and switch on Authentication to add a username and password. The setting does not cover cellular data.
Menu names vary by phone maker and system version. Two gaps remain on both systems: SOCKS5, and apps that ignore the Wi-Fi proxy. A proxy client app that registers as a local VPN closes both, because it captures all traffic on the device.
Cloud phones solve a different problem. TikTok, Instagram and similar platforms are built app-first, and an app can read far more device detail than a web page can. A cloud phone is an Android device hosted in a data center and controlled remotely. Each one has its own device identity and its own proxy setting.
- GeeLark offers Android cloud phones plus browser profiles, with metered running time.
- DuoPlus offers Android cloud phones only, opened from a browser tab. It charges a per-device fee plus metered running time, and comes from the team behind AdsPower.
- Multilogin offers Android cloud phones alongside its browser profiles.
Mobile or residential proxies suit cloud phones best. A phone app that arrives from a server-farm IP tells two different stories at once. Metered running time also means that a phone left open keeps costing money.
Leaks that give the real identity away
A proxied browser can still reveal the machine behind it. Three leaks are worth checking every time.
WebRTC
WebRTC powers video calls in the browser. To set up a call it asks a STUN server, over UDP, for the device's public address. An HTTP proxy does not carry UDP, so that request can leave directly, and a script on the page can read the real IP. Firefox can switch WebRTC off in about:config. Chrome needs an extension or a managed policy. Antidetect browsers usually offer a WebRTC setting per profile.
DNS
Chapter 3 covered the SOCKS5 lookup problem and the socks5h:// fix for scripts. Browsers and antidetect profiles on SOCKS5 need the same care. A DNS leak test run inside the profile should show a resolver near the proxy, not the local internet provider.
Timezone and language
A page can read the browser's timezone and language list with two lines of JavaScript. A Frankfurt IP with a Chicago clock and English-only language headers does not add up. Set both to match the exit location. In Playwright that is new_context(locale="de-DE", timezone_id="Europe/Berlin").
One rule sits behind all three fixes. Every signal a site can read should describe the same person in the same place.
| Signal | How a site reads it | Should agree with |
|---|---|---|
| IP location | The connection itself | The account's usual country and city |
| Timezone | JavaScript date settings | IP location |
| Language | Accept-Language header and browser language list | IP country or account history |
| WebRTC address | STUN lookup run by the page | The proxy IP, or no address at all |
| DNS resolver | Lookups for test hostnames | The proxy's region |
| User agent | Request header and JavaScript | The real engine, system and screen size |
| Network type | ASN lookup on the IP | The device: a carrier IP for a phone app |
Checking the setup with ProxyLook's free tools
Run this check inside each new profile or device before logging in to anything.
- Confirm the exit IP. Open What Is My IP. The IP, location, ISP and ASN should belong to the proxy, not the local connection.
- Test for a WebRTC leak. Open the WebRTC Leak Test. Any public address other than the proxy's is a leak.
- Read the user agent. Paste it into the User-Agent Parser. The browser, engine, system and device should match what the profile claims to be.
- Look up a new proxy before assigning it. The Proxy Checker returns the country, ASN, ISP and network type for a proxy IP.
- Check the fit. The Compatibility Checker suggests which proxy type fits a target site and use case.
Repeat the first two steps after every browser update or proxy change. A leak that appears in month three does the same damage as one on day one.
Key takeaways
- A system proxy only reaches apps that choose to read it, so confirm the exit IP from inside each program.
- Firefox has its own proxy panel, while Chrome needs the system setting, a launch flag or an extension.
- Antidetect browsers and cloud phones give each account separate storage, a separate fingerprint and a separate proxy.
- WebRTC, local DNS and a mismatched timezone or language can expose the real location behind a working proxy.
- Multi-accounting can breach platform terms, and no tool removes that risk for the operator.
Prefer the designed PDF? The Proxy Playbook is 91 pages, free, with no sign-up.
Download the PDF