在 Windows 或 macOS 上设置代理只需几分钟:打开系统网络设置,输入代理主机和端口,在系统允许的地方添加凭据,然后保存。之后,所有遵循系统设置的程序(首先是你的浏览器)都会通过代理连接。本指南以 Shifter 的住宅代理为例,分步讲解 Windows 11 和 macOS 上的设置,并介绍最容易出问题的环节:凭据、忽略该设置的应用,以及忘记关闭代理。
如果你只需要在浏览器中使用代理,那么系统级设置就有些多余了。我们的在 Google Chrome 中设置代理指南介绍了仅限浏览器的方案,而 Shifter 浏览器扩展程序可以在 Chrome 和 Firefox 中一键完成设置。本文适用于你希望操作系统本身使用代理的情况。
开始之前
请从 Shifter 控制台中准备好以下四项信息:
- 主机(Host):
p.shifter.io - 端口(Port):
443 - 用户名(Username): 你的代理用户名,可附加任何定位选项
- 密码(Password): 你的代理密码
位置和会话选项都放在用户名中。customer-USERNAME-country-de 会通过德国进行路由,customer-USERNAME-country-us-city-new_york 则通过纽约。我们的连接住宅代理指南详细解释了这种格式的每个部分。
对于系统级代理,请使用粘性会话。你的电脑会同时打开许多连接,使用轮换 IP 时,每个连接都可能从不同的地址发出,这会导致登录状态中断,并引起网站的怀疑。添加会话 ID 和以秒为单位的存活时间,例如 customer-USERNAME-country-us-sid-desk1-ttl-1800 表示在同一个 IP 上保持 30 分钟。
Windows 11:在“设置”中配置代理
- 打开设置(Windows 键 + I),进入网络和 Internet > 代理。
- 在手动设置代理下,点击使用代理服务器旁边的设置。
- 打开使用代理服务器。
- 在代理 IP 地址中输入
p.shifter.io,在端口中输入443。 - 可选:在例外地址框中列出不经过代理的地址,用分号分隔,例如
localhost;127.0.0.1;*.local。勾选请勿将代理服务器用于本地(Intranet)地址,这样打印机和路由器仍然可以访问。 - 点击保存。
在 Windows 10 上,路径相同(设置 > 网络和 Internet > 代理),但开关和输入框直接显示在页面上,而不是藏在“设置”按钮后面。
在 Windows 上登录
Windows 的对话框中没有填写用户名或密码的地方。当某个应用通过代理发送流量时,代理会要求提供凭据,由应用来响应。Edge 和 Chrome 会显示登录提示:输入你完整的代理用户名(包括任何定位选项)和密码。无法显示这种提示的应用会直接连接失败,这也是 Windows 系统代理“在浏览器中能用,在其他地方都不行”的最常见原因。
另外请注意,Windows 的这项设置是为 HTTP 代理设计的。Shifter 的网关也支持 SOCKS5,但在系统设置中请坚持使用 HTTP。
Windows:命令行与 WinHTTP
“设置”页面配置的是浏览器和大多数桌面应用读取的代理。部分 Windows 服务使用另一套独立的网络栈 WinHTTP,它有自己的代理设置。要将你的用户代理复制过去,请以管理员身份打开命令提示符并运行:
netsh winhttp import proxy source=ie
使用 netsh winhttp show proxy 检查设置,之后可使用 netsh winhttp reset proxy 将其移除。大多数人永远不需要这样做。只有当某个特定服务忽略了你的代理时,才需要更改它。
curl、Git、pip 和 npm 等命令行工具读取的是环境变量,而不是上述任何一种设置。若只想在单个 PowerShell 会话中生效:
$env:HTTP_PROXY = "http://customer-USERNAME-sid-desk1-ttl-1800:PASSWORD@p.shifter.io:443"
$env:HTTPS_PROXY = $env:HTTP_PROXY
关闭窗口后这些变量就会消失,这通常正是你想要的效果。如果密码中包含 @、: 或 /,请对其进行百分号编码,否则 URL 将无法解析。
macOS:在“系统设置”中配置代理
以下步骤适用于 macOS Ventura 及更高版本。在较早的版本中,相同的选项位于“系统偏好设置 > 网络 > 高级 > 代理”。
- 打开系统设置,点击网络。
- 选择你正在使用的连接,例如 Wi-Fi,然后点击详细信息。
- 打开代理标签页。
- 打开网页代理(HTTP)。输入
p.shifter.io作为服务器,443作为端口。 - 打开代理服务器要求密码,输入你完整的代理用户名和密码。
- 打开安全网页代理(HTTPS),输入相同的服务器、端口和凭据。
- 可选:在忽略这些主机与域的代理设置中添加主机,用逗号分隔,例如
localhost, 127.0.0.1, *.local。 - 点击好(OK)。
与 Windows 不同,macOS 会替你保存代理密码,因此使用系统网络 API 的应用(包括 Safari)无需询问即可登录。
Mac 上的代理设置属于某一个网络服务。如果你从 Wi-Fi 切换到以太网,或插入 USB 网络适配器,在 Wi-Fi 上设置的代理不会随之生效。请为你使用的每个连接重复上述步骤。
macOS:命令行
networksetup 工具可以在终端中设置相同的选项,便于编写脚本。首先列出你的网络服务:
networksetup -listallnetworkservices
然后按名称为该服务设置网页代理和安全网页代理:
networksetup -setwebproxy "Wi-Fi" p.shifter.io 443 on USERNAME PASSWORD
networksetup -setsecurewebproxy "Wi-Fi" p.shifter.io 443 on USERNAME PASSWORD
其中的 on 用于开启身份验证。运行 networksetup -getwebproxy "Wi-Fi" 检查结果,或运行 scutil --proxy 查看系统实际使用的设置。避免在会保留在 shell 历史记录中的命令里输入真实密码。
哪些应用会遵循系统代理
大多数困惑都来自这里。系统代理是应用可以读取的一项设置,而不是强制所有连接都经过的隧道。
| 通常遵循系统代理 | 通常不遵循 |
|---|---|
| Safari、Edge 和 Chrome | 命令行工具(它们使用环境变量) |
| Firefox,在设置为“使用系统代理设置”时(默认即是如此) | 许多游戏和点对点应用 |
| 许多基于系统网络栈构建的桌面应用 | 拥有自己代理设置的应用 |
| 应用商店和部分系统更新 | 部分后台服务 |
如果你需要让电脑上的每个连接都从另一个位置发出,那更接近 VPN 的作用。对于浏览、测试以及以本地访客身份检查网站,系统代理或浏览器扩展程序通常更合适。还有一点需要注意:更新和云同步等系统流量也可能经过代理,而住宅流量按 GB 计费,因此用完后请关闭代理。
检查是否正常工作
在浏览器中打开 ip-info.com。你应该看到代理的 IP 地址、国家和网络,而不是你自己的信息。如果你在用户名中设置了位置,请检查是否一致。在 Windows 上,加载第一个页面时应该会出现登录提示;在 macOS 上,页面应该无需提示即可加载。
故障排查
浏览器不断要求输入密码。 凭据被拒绝了。检查密码,并确认用户名中的定位选项拼写正确且用连字符连接。我们的修复 407 代理身份验证错误指南逐一介绍了所有原因。
浏览器能用,但其他应用不行。 该应用要么忽略了系统代理,要么无法响应登录请求。在应用内部查找代理选项,或为命令行工具使用环境变量。
页面加载缓慢或登录状态中断。 你很可能使用的是轮换 IP。添加会话 ID 和存活时间,让地址保持不变。
什么都无法加载。 电脑无法连接到代理。检查主机和端口,然后尝试换一个网络,因为部分办公网络和公共网络会阻止对外的代理连接。
关闭代理
在 Windows 11 上,进入网络和 Internet > 代理,点击使用代理服务器旁边的编辑并将其关闭。如果你更改过 WinHTTP,请以管理员身份运行 netsh winhttp reset proxy。
在 macOS 上,打开网络 > 详细信息 > 代理,关闭网页代理和安全网页代理,然后点击好(OK)。在终端中,networksetup -setwebproxystate "Wi-Fi" off 和 networksetup -setsecurewebproxystate "Wi-Fi" off 可以达到同样的效果。
如果你需要在数天或数周内(而不是单次会话中)保持相同的城市和网络,可以考虑 ISP 代理:在整个计费周期内,每个代理都会保持在你所选的城市和 ISP(ASN)上。
还没有代理信息?开始免费试用:3 天内 100 MB 住宅代理,或 1 天内最多 10 个 IP 的 ISP 代理,足以尝试本指南中的每一个步骤。