在 macOS 中设置代理只需一分钟,但它并非处处生效:终端、Telegram 和一部分程序看不到系统代理,Chrome 也不支持带密码的 SOCKS5。本文梳理系统设置、终端、Telegram,以及 2026 年仍在维护、可以正常使用的 Mac 代理软件。
在 Mac 上设置代理不需要第三方软件。在当前的 macOS 版本中(从 Ventura 到 Tahoe 26,以及 2026 年 9 月发布的 macOS 27),路径是:苹果菜单 →“系统设置”→“网络”→ 对应的网络服务 →“详细信息”→“代理”。英文界面为 System Settings → Network → Details → Proxies。在 macOS Monterey 及更早版本中,入口在旧版“系统偏好设置”里,点按的是“高级”而不是“详细信息”。
在当前 macOS 版本的“代理”页面中有五个选项:“自动发现代理”、“自动代理配置”(填写 PAC 文件地址)、“网页代理 (HTTP)”、“安全网页代理 (HTTPS)”和“SOCKS 代理”。Monterey 的列表更长,还包括 FTP 代理、流代理(RTSP)、Gopher 代理和被动 FTP 模式,这些在 Apple 的新版说明中已经没有了。
HTTP、HTTPS 和 SOCKS 都可以打开“代理服务器要求密码”,并输入用户名和密码。下方还有“忽略这些主机与域的代理设置”栏和“不包括简单主机名”选项。在例外栏中,Apple 允许填写完整域名(apple.com)、用星号表示所有子域名(*apple.com),或填写具体子域名(store.apple.com)。
有一点经常被忽略:代理设置绑定在网络服务上。为 Wi-Fi 设置的代理,对以太网、USB 调制解调器或雷雳适配器都不生效。如果 MacBook 从 Wi-Fi 切换到网线,流量会直接绕过代理,而且不会有任何提示。
一个网络服务对应一套设置。macOS 的代理需要为 Wi-Fi、以太网和每个适配器分别设置。换了连接方式,请重新检查代理。
macOS 的系统代理是一项由 App 自行读取的设置。如果某个程序不读取它,那么对这个程序来说代理就不存在。这就是为什么同一个设置在浏览器里有效,在游戏或终端里却无效。
Safari 完全依赖系统设置:在“Safari 浏览器”→“设置”→“高级”中,“代理”旁边的“更改设置”按钮只是打开“网络”设置。Mac 上的 Chrome 也使用系统代理,但有一个重要限制:根据 Chromium 文档,Chrome 对 SOCKS5 不支持任何认证方式。无密码的 SOCKS5(通过 IP 白名单授权)在 Chrome 中可以使用,带用户名和密码的 SOCKS5 则不行。
Firefox 有自己的连接设置:不使用代理、自动检测、使用系统代理设置,或手动配置(HTTP、HTTPS 和 SOCKS v5 分别填写),另外还有通过 SOCKS v5 代理 DNS 的选项。Firefox 的设置不支持 SOCKS5 用户名密码认证。Telegram、命令行工具以及很多游戏和启动器也不依赖系统代理:有的有自己的设置,有的直接联网。
由此得出一个实用原则:只需要让浏览器走代理,系统设置就够了。如果要让某个本身不支持代理的程序走代理,或者让整台 Mac 的流量走代理,就需要一个在系统层面工作的代理客户端:Proxifier、Surge,或带 TUN 模式的 Clash 内核客户端。
Chrome 与带密码的 SOCKS5 不兼容。如果服务商提供的是带用户名密码的代理,在 Mac 上给 Chrome 使用时,请填到 HTTP 和 HTTPS 栏,或者安装代理客户端。浏览器的详细设置见 浏览器代理设置指南。
在“系统设置”中能做的操作,都可以用 networksetup 命令在终端完成。networksetup -listallnetworkservices 会列出网络服务的准确名称,-setwebproxy、-setsecurewebproxy 和 -setsocksfirewallproxy 分别为指定网络服务设置 HTTP、HTTPS 和 SOCKS 代理,并可同时写入用户名和密码。修改网络设置需要管理员权限。需要用脚本快速开关代理时,这种方式很方便。
要查看系统当前实际生效的代理,可以运行 scutil --proxy。它会输出最终配置,包括 PAC 和例外列表。
但要注意:终端本身以及在其中运行的大多数程序不会继承系统代理。curl、git 和 brew 从环境变量中读取代理,npm 读取 HTTP_PROXY 和 HTTPS_PROXY,但不读取 all_proxy。pip 等 Python 程序在没有环境变量时会读取 macOS 设置中的 HTTP/HTTPS 代理,但不读取其中的 SOCKS。curl 还有一个细节:http_proxy 只接受小写,https_proxy 和 all_proxy 大小写都可以。使用 SOCKS5 时请用 socks5h:// 协议头,让代理服务器负责解析域名,而不是你的 Mac。否则 DNS 请求会经由本地运营商发出,网站可能会看到你运营商的 DNS 服务器。
# 列出网络服务(下面命令中需要使用准确名称)
networksetup -listallnetworkservices
# 为 Wi-Fi 设置带用户名密码的 HTTP 和 HTTPS 代理
networksetup -setwebproxy "Wi-Fi" host 8080 on login pass
networksetup -setsecurewebproxy "Wi-Fi" host 8080 on login pass
# 为 Wi-Fi 设置 SOCKS 代理,以及关闭它
networksetup -setsocksfirewallproxy "Wi-Fi" host 1080 on login pass
networksetup -setsocksfirewallproxystate "Wi-Fi" off
# 查看系统当前生效的代理配置
scutil --proxy
# 仅对当前终端会话生效的代理
export http_proxy="http://login:pass@host:8080"
export https_proxy="http://login:pass@host:8080"
export all_proxy="socks5h://login:pass@host:1080"请将 host、端口、login 和 pass 替换为你自己的信息。networksetup 命令会修改系统设置,需要管理员权限。
Proxifier for Mac 是经典的按应用代理客户端。它按应用名称和主机设置规则,让本身不支持代理的程序走代理。支持 HTTP、HTTPS、SOCKS4/4A 和带用户名密码认证的 SOCKS5,支持代理链和通过代理解析 DNS。在 Proxifier 中添加带用户名密码的普通 HTTP 代理时,请选择 HTTPS 类型:HTTP 类型只转发 HTTP 连接。当前版本为 2025 年 9 月 18 日发布的 3.15,系统要求 macOS 12 至 26。截至 2026 年 9 月 24 日,开发者官网未声明支持 macOS 27。授权价格 39.95 美元,永久有效,提供 31 天免费试用。如需替代方案,可以参考我们单独整理的 Proxifier 替代软件对比。
Surge 是一款付费的规则型网络工具(Mac 版和 iOS 版分别授权),目前 Mac 版为 Surge Mac 6。根据 Surge 手册,它支持 HTTP、HTTPS、SOCKS5 和 SOCKS5-TLS 代理(支持用户名和密码)以及多种其他协议,SOCKS5 的 UDP 转发需要通过参数 udp-relay=true 单独开启。单台 Mac 授权 49.99 美元,3 台设备 69.99 美元,5 台设备 99.99 美元,价格包含一年更新。续费每年 19.99 美元起,订阅到期后,已获得的最新版本可以永久使用。提供 7 天全功能试用。
基于 mihomo(Clash Meta)内核的客户端免费且开源。Clash Verge Rev 支持 macOS 11 及以上版本,兼容 Intel 和 Apple Silicon,支持系统代理和 TUN 模式(虚拟网卡),能让忽略系统代理的 App 也走代理。ClashX Meta 是仅限 Mac 的轻量菜单栏客户端,FlClash 是跨平台客户端,分别提供 Intel 和 arm64 的 macOS 版本。三者在 2026 年 9 月都有更新。在 mihomo 配置中,带用户名密码的普通 SOCKS5 用 type: socks5、server、port、username 和 password 这几个字段描述。
Xray 和 sing-box 客户端适合使用 VLESS、VMess 或 Trojan 订阅和链接的用户。v2rayN 最初是 Windows 软件,现在官方也发布 Intel 和 Apple Silicon 的 macOS 版本。V2rayU 是用 Swift 编写的原生 Mac 客户端,支持 Trojan、VMess、Shadowsocks 和 SOCKS5。Throne 延续了 NekoRay:NekoRay 原仓库已停止维护(最后一次更新在 2024 年 12 月)并已归档,而 Throne 仍在维护,基于 sing-box,提供 macOS arm64 和 amd64 版本。Throne 的安装包未经 Apple 签名,首次运行前需要执行 xattr -d com.apple.quarantine 移除隔离属性。
Shadowrocket 以 iPhone 和 iPad 应用著称,但 App Store 将 Mac 列为兼容设备(需要 macOS 10.15 或更高版本),且同一 Apple ID 下购买通用:美国区 App Store 售价 2.99 美元,中国大陆区 App Store 未上架。如果已经在 iPhone 上购买,也可以安装到 Mac 上。如果需要在电脑上按应用设置规则或使用带用户名密码的代理,更多人会选择 Proxifier、Surge 或 Clash Verge Rev。Shadowrocket 的详细介绍见我们的 iOS 代理指南。
延伸阅读: Proxifier 替代软件、 Shadowrocket 与 iOS 代理。
在“Mac 代理”相关的推荐清单里,经常出现 Proxyman 和 Charles。它们属于另一类工具。Proxyman 自我介绍为一款原生 macOS 应用,用于拦截、解密和修改 HTTP(S) 请求。Charles 是一款 HTTP 代理和监视工具,向开发者展示电脑与互联网之间的全部 HTTP 和 HTTPS 流量。
这两款工具都会在你的 Mac 上启动一个本地调试代理,让你看到 App 发出的请求。它们本身不会改变你的出口 IP,也不能替代代理客户端。如果目标是用其他国家或其他运营商的 IP 上网,你需要的是代理本身,加上前一节中的某款软件,而不是流量调试工具。
Mac 上的 Telegram 不使用 macOS 系统代理:它有自己的设置,代理直接在 App 内填写。支持两种类型。SOCKS5 需要服务器和端口,用户名和密码可选。MTProto 需要服务器、端口和密钥。
Mac 上有两个 Telegram 客户端,设置路径不同。在 Telegram Desktop(telegram.org 提供的版本,与 Windows、Linux 版相同)中,代理位于 Settings → Advanced → Connection type,选择 Use custom proxy。在 App Store 上的 macOS 原生版 Telegram 中,代理在 Data and Storage 中添加,添加后设置里会多出一个单独的 Proxy 入口。
最快的方法是使用链接。Telegram 能识别 t.me/socks?server=HOST&port=PORT&user=LOGIN&pass=PASS(SOCKS5)和 t.me/proxy?server=HOST&port=PORT&secret=SECRET(MTProto)这两种格式。在 Mac 上打开这样的链接,Telegram 会提示一键添加代理。如果连接的是别人提供的 MTProto 代理,聊天列表中可能会出现一个赞助频道:这是代理运营者回收服务器成本的方式,运营者无法因此访问你的聊天内容。
各平台的详细步骤(英文): Telegram 代理设置指南。
系统代理只能让整台 Mac 使用一个 IP。对于多账号管理来说这还不够:平台关联账号时不仅看 IP,还看浏览器指纹。所以做多账号管理通常使用指纹浏览器,每个配置文件有独立的指纹,并在配置文件中单独设置代理。
在这种方案下,最好关闭 macOS 系统代理,避免它和各配置文件的代理叠加。每个配置文件分配一个 host:port:login:pass 格式的代理。大多数指纹浏览器同时支持 HTTP 和 SOCKS5。支持 macOS 的指纹浏览器评测汇总在 Coronium 合作伙伴栏目中。
评测与对比: 指纹浏览器。
设置完成后,在浏览器中打开任意 IP 查询网站,核对 IP 和国家是否与代理一致。对于终端,在设置好环境变量后,用 curl 访问同一个查询网站。如果浏览器显示代理 IP,终端显示的却是你的真实 IP,说明环境变量没有设置,或者设置在了另一个会话中。
Mac 上代理不生效的常见原因:配置的网络服务不对(设置了 Wi-Fi,实际在用以太网);在 Chrome 中使用了带密码的 SOCKS5,而 Chrome 不支持这种认证;开启了 VPN,它比代理更早接管了流量;系统代理和 TUN 模式的客户端同时运行,互相干扰。另一个常见错误是用户名或密码输错,所以出问题时首先核对用户名和密码。
还要单独检查 DNS 泄露。在终端中使用 SOCKS5 时请用 socks5h://,在 Firefox 中打开通过 SOCKS v5 代理 DNS 的选项,在 Proxifier 中开启通过代理解析域名。否则网站可能会看到来自你本地运营商的 DNS 请求。
| 软件 | 类型 | 协议 | 价格 | 说明 |
|---|---|---|---|---|
| Proxifier for Mac | 按应用代理的客户端 | HTTP、HTTPS、SOCKS4/4A、带用户名密码的 SOCKS5、代理链 | 39.95 美元(永久授权),31 天试用 | 版本 3.15(2025 年 9 月),支持 macOS 12 至 26。截至 2026 年 9 月 24 日,开发者官网未声明支持 macOS 27。可按应用和主机设置规则,DNS 经代理解析。带密码的 HTTP 代理请按 HTTPS 类型添加。 |
| Surge Mac 6 | 基于规则的网络工具 | HTTP、HTTPS、SOCKS5、SOCKS5-TLS(支持用户名密码)等 | 单台 Mac 49.99 美元起,7 天试用 | 价格含一年更新,续费 19.99 美元起。订阅到期后,已获得的最新版本可永久使用。 |
| Clash Verge Rev | mihomo(Clash Meta)内核的图形界面 | SOCKS5、HTTP、Shadowsocks、VMess、Trojan 等 | 免费,GPL-3.0 | macOS 11 及以上,支持 Intel 和 Apple Silicon。支持系统代理和 TUN 模式。2026 年 9 月有更新。 |
| ClashX Meta | 菜单栏客户端 | Clash Meta 配置格式 | 免费,AGPL-3.0 | 仅限 macOS。2026 年 9 月有更新。 |
| FlClash | 基于 ClashMeta 的客户端 | Clash Meta 配置格式 | 免费,GPL-3.0 | 提供 macOS amd64 和 arm64 版本,另有 Windows、Linux、Android 版。2026 年 9 月有更新。 |
| v2rayN | Xray 与 sing-box 的图形界面 | SOCKS、HTTP、VMess、VLESS、Trojan 等 | 免费,GPL-3.0 | 官方提供 Intel 和 Apple Silicon 的 macOS 版本。2026 年 8 月有更新。 |
| V2rayU | Mac 专用客户端 | Trojan、VMess、Shadowsocks、SOCKS5 | 免费 | 使用 Swift 编写,Intel 和 arm64 分别提供安装包。2026 年 8 月有更新。 |
| Throne | NekoRay 的延续项目,基于 sing-box | SOCKS、HTTP(S)、Shadowsocks、VLESS、Hysteria2 等 | 免费,GPL-3.0 | 提供 macOS arm64 和 amd64 版本,2026 年 9 月有更新。未经 Apple 签名,需要用 xattr 命令移除隔离属性。 |
| Shadowrocket | iOS 与 Mac 的隧道客户端 | HTTP、HTTPS、SOCKS5、Shadowsocks、VMess、Trojan | 2.99 美元(美国区),一次性购买 | App Store 将 Mac 列为兼容设备,需要 macOS 10.15 或更高版本。同一 Apple ID 下购买通用。中国大陆区 App Store 未上架。 |
版本和价格于 2026 年 9 月 24 日根据官方网站和 GitHub 仓库核对。价格可能调整,购买前请再次确认。
适用于 macOS Ventura 及更新版本,包括 Tahoe 和 macOS 27。需要准备代理地址、端口,以及用户名和密码(如有)。
打开苹果菜单,选择“系统设置”。
点按边栏中的“网络”,然后选择 Mac 当前用来上网的网络服务:Wi-Fi、以太网或 USB 调制解调器。
点按“详细信息”,在打开的窗口中点按“代理”。
打开需要的类型:“网页代理 (HTTP)”、“安全网页代理 (HTTPS)”或“SOCKS 代理”。如果带用户名密码的代理需要在 Chrome 中使用,请打开 HTTP 和 HTTPS:Chrome 不支持 SOCKS5 认证。
填写服务器地址(host)和端口。如果服务商提供了用户名和密码,打开“代理服务器要求密码”,然后输入用户名和密码。
如有需要,在“忽略这些主机与域的代理设置”栏中添加例外,比如本地地址或公司内部域名。支持 *apple.com 这样的星号写法。
点按“好”保存更改。如果你使用的是 macOS Monterey 或更早版本,路径不同:“系统偏好设置”→“网络”→ 网络服务 →“高级”→“代理”。
打开 Safari 或 Chrome,在任意 IP 查询网站上检查出口 IP,应显示代理的 IP 和国家。如果显示的是你的真实 IP,请检查配置的网络服务是否正确。
Windows 版同类梳理:系统代理与代理软件。
协议原理、SOCKS5 与 HTTP 的区别、socks5h。
Ubuntu、Debian、终端与 Docker。
Android 上真正可用的代理 App。
iPhone 和 iPad:系统代理与隧道客户端。
Chrome、Firefox、Safari 与代理扩展。
Mac 和 Windows 上可替代 Proxifier 的软件。
让整个家庭或办公网络走代理。