Chrome proxy setup (Windows, macOS, Linux)

Published: 26 August 2026 · 7 min read

TL;DR: Chrome uses the system proxy, a --proxy-server flag, or an extension — pick one. Enter gw.roamproxy.com port 41080 as an HTTP proxy and sign in with your dashboard username and password when Chrome asks. Never the SOCKS entry — Chrome cannot authenticate to SOCKS5. For a separate research browser use --proxy-server="http://gw.roamproxy.com:41080" --user-data-dir=…. Verify on the IP check and two or three real sites, and run the WebRTC test.

What you need before you start

Get these four values from your Roam dashboard and keep that tab open.

FieldValue
Servergw.roamproxy.com
Port41080
Usernamegenerated in the dashboard
Passwordgenerated in the dashboard

Use the HTTP proxy type in the browser, not SOCKS. This is the opposite of the advice in our app-client guides, and it is deliberate. Firefox and Chrome cannot send a username and password to a SOCKS5 proxy — the fields simply do not exist — so a SOCKS entry with Roam credentials fails silently. Both browsers can authenticate to an HTTP proxy, and the Roam gateway accepts HTTP CONNECT with the same credentials on the same port. Because a browser only makes HTTP and HTTPS requests, and HTTPS goes through the proxy as a CONNECT to the hostname, the DNS-leak problem that makes HTTP the wrong choice for a whole-device client does not apply here.

Step 1 — Decide where the proxy lives

Chrome has no proxy settings of its own. It uses whatever the operating system is set to, unless you start it with a flag or install an extension. That gives you three ways to put Chrome behind Roam, from simplest to most controlled:

MethodScopeUse when
System proxy settingsEvery app that honours the OS proxyYou want the whole machine's browsing on Roam
--proxy-server flagOne Chrome instance with its own profileYou want a separate Roam browser next to your normal one
Proxy extensionPer-site rules inside one profileYou want a few domains on Roam and the rest direct

Step 2A — System proxy settings

Windows: Settings → Network & internet → Proxy → Manual proxy setup → Set up → turn on Use a proxy server, address gw.roamproxy.com, port 41080, Save. Chrome asks for the username and password on the first request; tick the option to remember them.

macOS: System Settings → Network → your connection → Details… → Proxies → turn on Web proxy (HTTP) and Secure web proxy (HTTPS), server gw.roamproxy.com, port 41080, and enter the username and password in the fields under each one. Click OK, then Apply.

Do not turn on the SOCKS proxy entry on either platform — Chrome cannot send credentials to it.

Step 2B — A separate Chrome with the --proxy-server flag

This is the cleanest option for research: a second Chrome window with its own profile, cookies and proxy, running next to your everyday browser. Close nothing; just start another instance with a different user-data directory.

Windows (Run dialog or a shortcut target):

"C:\Program Files\Google\Chrome\Application\chrome.exe" --proxy-server="http://gw.roamproxy.com:41080" --user-data-dir="%LOCALAPPDATA%\ChromeRoam"

macOS (Terminal):

open -na "Google Chrome" --args --proxy-server="http://gw.roamproxy.com:41080" --user-data-dir="$HOME/ChromeRoam"

Linux:

google-chrome --proxy-server="http://gw.roamproxy.com:41080" --user-data-dir="$HOME/ChromeRoam"

Chrome prompts for the username and password on the first request. The credentials are never part of the command line, so they do not end up in shell history or process lists.

Step 2C — A proxy extension for per-site rules

If you want Roam only for certain domains, install a proxy-switching extension such as Proxy SwitchyOmega (or its maintained forks). Create a profile with protocol HTTP, server gw.roamproxy.com, port 41080, enter the credentials in the authentication fields, then add rules for the domains that should use it and set the default to direct. Choose HTTP, not SOCKS5 — Chrome's extension API cannot authenticate to SOCKS5 either.

Step 3 — Verify (properly)

Open the IP check or https://ip.sb in the Roam-proxied Chrome and confirm a Roam exit IP in the region you expect. Then open two or three sites you actually use; an IP-check page is one small request and succeeds under conditions where real browsing does not. If the IP changed but sites time out, go to connected but not working.

Also run the WebRTC leak test. Chrome has no built-in switch to disable WebRTC; if the test shows your real address, install a WebRTC-limiting extension (search the Web Store for WebRTC network limiter, Google's own) and set it to disable non-proxied UDP. Do this in the Roam profile only.

If your network cannot reach the gateway

None of the three methods can chain through another hop. If your network blocks direct connections to gw.roamproxy.com:41080, run a system-level client that supports chaining — Clash with dialer-proxy, or on macOS the setup in macOS proxy setup — and let Chrome follow the system proxy that client sets.

Plans and what a session costs

Rotating residential traffic is billed at $2/GB with no monthly minimum, so a browser used for research or testing costs cents rather than a subscription. If you need one address that stays the same across sessions — anything with a login that reacts badly to a changing IP — a static residential IP is $4/IP/month. New accounts receive 300MB of trial traffic on their first top-up (from $2), which is more than enough to complete this tutorial and confirm the exit IP behaves the way your target site expects.

FAQ

Chrome never asks for the username and password.

Then the request is not reaching the gateway. Check the address and port, confirm the proxy is actually enabled (system setting saved, or the flag really applied — chrome://version shows the command line of the running instance), and make sure you are testing in the Chrome instance that has the proxy, not your everyday one. If your network cannot reach gw.roamproxy.com:41080 at all, see the last section.

Can I put the username and password in the --proxy-server flag?

No. Chrome ignores credentials in that URL and prompts anyway, and putting them on the command line would expose them in shell history and process lists. Enter them in the prompt and let Chrome remember them for the profile.

Why not SOCKS5 like in your app-client guides?

Chrome cannot authenticate to a SOCKS5 proxy at all — not through system settings, not with the flag, not from an extension — so a SOCKS5 entry with Roam credentials fails silently. The gateway accepts HTTP CONNECT with the same credentials on the same port, and for a browser that is the right choice: HTTPS goes through as a CONNECT to the hostname, so there is no DNS leak. What can leak in a browser is WebRTC; run the test and add a limiter extension.

Which method keeps my normal browsing separate?

The --proxy-server flag with its own --user-data-dir. That instance has separate cookies, logins, history and proxy; your everyday Chrome is untouched. System settings affect every app, and an extension shares the profile's cookies with your non-proxied browsing.

Roam is the exit-IP layer for this setup: rotating residential at $2/GB, static residential at $4/IP/month, no monthly minimum. Create an account and get 300MB of trial traffic on your first top-up — enough to finish this tutorial and confirm the exit IP behaves the way your target site expects.