Chrome 配置代理教程(Windows / macOS / Linux)
发布:2026 年 8 月 26 日 · 阅读约 7 分钟
一句话总结:Chrome 走系统代理、--proxy-server 参数或扩展,三选一。把 gw.roamproxy.com 端口 41080 填成 HTTP 代理,Chrome 弹窗时填后台的用户名密码。永远别填 SOCKS 那项——Chrome 没法对 SOCKS5 做认证。要一个独立的调研浏览器就用 --proxy-server="http://gw.roamproxy.com:41080" --user-data-dir=…。验证时除了 IP 检测,再开两三个真实网站,并跑一次 WebRTC 检测。
开始前需要准备什么
到 Roam 后台拿这四个值,别关那个标签页。
| 字段 | 值 |
|---|---|
| 服务器 | gw.roamproxy.com |
| 端口 | 41080 |
| 用户名 | 后台生成 |
| 密码 | 后台生成 |
浏览器里请用 HTTP 代理类型,不要用 SOCKS。这和我们客户端教程里的建议正好相反,是有意的。Firefox 和 Chrome 都没法把用户名密码发给 SOCKS5 代理——压根没有这两个输入框——所以填了 Roam 凭据的 SOCKS 条目会静默失败。两个浏览器都能对 HTTP 代理做认证,而 Roam 网关在同一个端口上用同一组凭据接受 HTTP CONNECT。浏览器只发 HTTP 和 HTTPS 请求,HTTPS 走代理时是对域名做 CONNECT,所以让 HTTP 类型不适合整机客户端的 DNS 泄漏问题在这里不存在。
第 1 步 — 决定代理设在哪一层
Chrome 没有自己的代理设置。它用的是操作系统的设置,除非你用启动参数启动它或装扩展。所以把 Chrome 挂到 Roam 后面有三种方式,从最简单到最可控:
| 方式 | 范围 | 适用 |
|---|---|---|
| 系统代理设置 | 所有认系统代理的应用 | 整台机器的浏览都走 Roam |
--proxy-server 启动参数 | 一个带独立配置的 Chrome 实例 | 在正常浏览器旁边再开一个 Roam 专用浏览器 |
| 代理扩展 | 同一配置内按站点分流 | 几个域名走 Roam、其余直连 |
第 2A 步 — 系统代理设置
Windows:设置 → 网络和 Internet → 代理 → 手动设置代理 → 设置 → 打开使用代理服务器,地址 gw.roamproxy.com,端口 41080,保存。Chrome 第一次请求时会要用户名密码,勾上记住。
macOS:系统设置 → 网络 → 你的连接 → 详细信息… → 代理 → 打开网页代理(HTTP)和安全网页代理(HTTPS),服务器 gw.roamproxy.com,端口 41080,在各自下方的输入框里填用户名密码。点好,再点应用。
两个平台都不要打开 SOCKS 代理那一项——Chrome 没法给它发凭据。
第 2B 步 — 用 --proxy-server 参数开一个独立的 Chrome
这是做调研最干净的方式:第二个 Chrome 窗口,有自己的配置、Cookie 和代理,跟日常浏览器并排跑。什么都不用关,用另一个用户数据目录再起一个实例就行。
Windows(「运行」对话框或快捷方式目标):
"C:\Program Files\Google\Chrome\Application\chrome.exe" --proxy-server="http://gw.roamproxy.com:41080" --user-data-dir="%LOCALAPPDATA%\ChromeRoam"
macOS(终端):
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 第一次请求时弹窗要用户名密码。凭据从不出现在命令行里,所以不会进 shell 历史或进程列表。
第 2C 步 — 用代理扩展按站点分流
只想让某些域名走 Roam 的话,装一个代理切换扩展,比如 Proxy SwitchyOmega(或它的维护分支)。新建一个情景模式,协议选 HTTP,服务器 gw.roamproxy.com,端口 41080,在认证栏填凭据,然后给要走它的域名加规则、默认设为直连。选 HTTP 不要选 SOCKS5——Chrome 的扩展 API 同样没法对 SOCKS5 做认证。
第 3 步 — 验证(要验对)
在走 Roam 的那个 Chrome 里打开 IP 检测 或 https://ip.sb,确认显示的是 Roam 的出口 IP、地区符合预期。然后再开两三个你平时真的在用的网站;查 IP 页面就是一个很小的请求,在真实浏览跑不通的条件下它照样能成功。IP 换了但网站超时,看 连上了但用不了。
再跑一次 WebRTC 泄漏检测。Chrome 没有内置的 WebRTC 开关;检测显示了你的真实地址的话,装一个限制 WebRTC 的扩展(在应用商店搜 Google 自家的 WebRTC Network Limiter),设为禁用非代理 UDP。只在 Roam 那个配置里做。
网络连不上网关时
三种方式都没法经由另一跳链式转发。如果你的网络(大陆网络基本都是)拦截了到 gw.roamproxy.com:41080 的直连,就跑一个支持链式的系统级客户端——Clash 的 dialer-proxy,或 macOS 上按 macOS 配置代理 来——让 Chrome 跟着那个客户端设的系统代理走。
套餐与一次会话的成本
轮换住宅按流量计费 $2/GB,没有月最低消费,一个用来做调研或测试的浏览器花的是几分钱而不是一份订阅。如果你需要一个跨会话不变的地址(比如带登录态、换 IP 就触发风控的场景),静态住宅 IP 是 $4/IP/月。新账号首次充值(最低 $2)即送 300MB 试用流量,跑完这篇教程、确认出口 IP 在目标站点上的表现完全够用。
常见问题
Chrome 从来不问用户名密码
那说明请求根本没到网关。检查地址和端口,确认代理真的启用了(系统设置保存了、或启动参数真的生效了——chrome://version 能看到当前实例的命令行),并确认你是在带代理的那个 Chrome 实例里测,不是日常那个。如果你的网络压根连不上 gw.roamproxy.com:41080,看最后一节。
能不能把用户名密码写进 --proxy-server 参数?
不能。Chrome 会忽略那个 URL 里的凭据照样弹窗,而且写在命令行里会暴露在 shell 历史和进程列表中。在弹窗里填,让 Chrome 在这个配置里记住。
为什么不像你们客户端教程那样用 SOCKS5?
Chrome 完全没法对 SOCKS5 代理做认证——系统设置、启动参数、扩展都不行——所以填了 Roam 凭据的 SOCKS5 条目会静默失败。网关在同一端口上用同一组凭据接受 HTTP CONNECT,对浏览器来说这才是正确选择:HTTPS 是对域名做 CONNECT 走代理,不存在 DNS 泄漏。浏览器里会漏的是 WebRTC;跑一次检测,加一个限制扩展。
哪种方式能把我的正常浏览隔开?
带独立 --user-data-dir 的 --proxy-server 参数。那个实例有单独的 Cookie、登录态、历史和代理,日常 Chrome 不受影响。系统设置会影响所有应用,扩展则和你不走代理的浏览共用同一份 Cookie。
Roam 在这套配置里负责的是出口身份这一层:轮换住宅 $2/GB,静态住宅 $4/IP/月,没有月最低消费。注册账号,首次充值即送 300MB 试用流量,跑完这篇教程、确认出口 IP 在目标站点上的表现完全够用。