# 在 Chrome、Firefox 和操作系统层面配置代理

进行人工检查、账号操作或质量测试时，通过住宅出口使用真实浏览器，最能如实呈现网站体验。下面介绍各浏览器和操作系统如何接收代理，以及防止泄漏所需的两项设置。


## 应使用哪种凭据

浏览器会在每个会话中提示输入一次代理凭据，随后将其记住。请使用粘性用户名，让整个浏览会话始终使用同一个家庭住宅出口：`USER-cc-de-city-berlin-sid-desk1-ttl-24h`。也可以在控制面板中将公网 IP 加入白名单，这样就完全不会出现提示。


## Chrome 与 Chromium

- Chrome 默认使用操作系统的代理设置；在系统中修改（见下文）后，每个 Chromium 浏览器都会遵循该设置。
- 若只为一个专用配置文件设置代理，请使用以下参数启动 Chrome：`--proxy-server=\"http://res.proxshift.com:9000\" --user-data-dir=/tmp/proxprofile`。首次导航时会要求输入用户名和密码。
- 使用带远程 DNS 的 SOCKS5：`--proxy-server=\"socks5://res.proxshift.com:9001\" --host-resolver-rules=\"MAP * ~NOTFOUND , EXCLUDE res.proxshift.com\"` 可防止 DNS 泄漏（必须将 IP 加入白名单，因为 Chrome 无法发送 SOCKS5 凭据）。
- SwitchyOmega 等扩展可以按网站切换配置文件并存储凭据，适合在直接浏览与代理浏览之间交替使用。


## Firefox

1. 依次打开“设置 → 网络设置 → 手动配置代理”。
2. HTTP 代理填写 `res.proxshift.com`，端口填写 `9000`，并勾选“也将此代理用于 HTTPS”。或者将 SOCKS 主机设为 `res.proxshift.com`、端口设为 `9001`、版本选择 SOCKS v5，并勾选“使用 SOCKS v5 时代理 DNS”。
3. 在 `about:config` 中将 `media.peerconnection.enabled` 设为 `false`，防止 WebRTC 泄露真实地址。
4. Firefox 会在首次请求时要求输入代理凭据，并可按配置文件记住凭据。


## macOS

依次打开“系统设置 → 网络 → 你的网络接口 → 详细信息 → 代理”：启用网页代理 (HTTP) 和安全网页代理 (HTTPS)，服务器填写 `res.proxshift.com`，端口填写 `9000`；勾选“代理服务器需要密码”，再输入粘性用户名和密码。Safari 和大多数应用会遵循系统设置；部分命令行工具不会，请改用环境变量。


## Windows

依次打开“设置 → 网络和 Internet → 代理 → 手动设置代理”：地址填写 `res.proxshift.com`，端口填写 `9000`。Windows 没有凭据输入字段；Edge 和 Chrome 会在首次使用时弹出提示，你也可以将 IP 加入白名单。将 `localhost;127.*` 添加到例外列表。


## 使用 PAC 文件选择性走代理

```javascript
function FindProxyForURL(url, host) {
  // 只有这些网站通过德国出口访问；其他网站均直接连接
  if (dnsDomainIs(host, ".example.de") || shExpMatch(host, "*.shop-example.de")) {
    return "PROXY res.proxshift.com:9000";
  }
  return "DIRECT";
}
```

将浏览器或操作系统指向 PAC URL（Firefox 可使用本地文件；Chrome 和 Windows 更适合使用 `http://` URL）。凭据仍需在提示框中输入，或通过白名单完成验证。


## 验证无误后再使用

- 打开 IP 回显页面：显示的地址必须是位于所选国家/地区的出口。
- 打开 WebRTC 泄漏测试：其中应当只显示出口。
- 若网站重视环境一致性，请检查浏览器语言和时区是否与出口相符。


## 问题

**为什么浏览器不断要求输入代理密码？**

密码错误，或用户名中的参数存在拼写错误：网关会返回 407，浏览器因而再次提示。请使用 cURL 测试相同凭据，以查看确切的网关状态码。

**可以让每个标签页使用不同的出口吗？**

仅靠浏览器设置无法实现：代理按配置文件或系统生效。请运行多个独立配置文件，或使用支持按网站规则切换的扩展。

来源：https://proxshift.com/zh/guides/browser-and-system-proxy
