




做开发这些年,代理配置算是基本功了。不管是访问海外文档、测试跨国服务,还是单纯想保护隐私,Mac 上的代理设置总绕不开。
macOS 其实给了不少选择——系统设置、浏览器插件、命令行,各有各的用处。今天把常用的 3 种方法捋一遍,你可以根据自己的场景挑最顺手的。
这应该是最多人用的方式,胜在简单直观,配置完全局生效。
1. 打开网络设置
点左上角苹果图标 ,老版本 macOS 叫"系统偏好设置",Ventura 之后改成"系统设置",找到"网络"进去。
2. 选网络连接
左边列表里选你正在用的——一般是 Wi-Fi 或者以太网,点右下角"高级...",切到"代理"标签页。
3. 勾选代理类型
根据你手里的代理类型来选:
4. 填代理信息
拿 SOCKS5 举例:
192.168.1.10010805. 保存
点"好",再点"应用",搞定。

配置完别急着走,打开浏览器访问 ipinfo.io 或 whatismyip.com,看看显示的 IP 是不是代理的。要是变了,说明成了。
如果你只需要在浏览器里用代理,我个人更推荐这个方案。灵活,切换快,还不影响其他应用。
Chrome/Edge:
去 Chrome 网上应用店搜"Proxy SwitchyOmega",点"添加至 Chrome"等它装好。
Firefox:
Firefox 附加组件商店同样搜"SwitchyOmega",添加到浏览器。
装好后浏览器右上角会出现 SwitchyOmega 图标,点它选"选项"。
新建代理配置:
之后用的时候点工具栏图标,选对应配置就行。图标颜色会告诉你状态:
这功能我常用——可以设置访问某些网站自动走代理,其他直连。
比如:
google.com → 走代理baidu.com → 直连创建"自动切换"情景模式,把规则加进去,保存。这样访问国外站点自动用代理,国内网站不走弯路,速度能快不少。
要是你习惯终端操作,或者需要脚本自动化,命令行是更强大的选择。
macOS 自带的 networksetup 工具能精确控制网络设置。
先看有哪些网络服务:
networksetup -listallnetworkservices
一般会有 Wi-Fi、Ethernet、Thunderbolt Bridge 这些。
设置代理:
# HTTP 代理
sudo networksetup -setwebproxy "Wi-Fi" 192.168.1.100 8080
# HTTPS 代理
sudo networksetup -setsecurewebproxy "Wi-Fi" 192.168.1.100 8080
# SOCKS5 代理
sudo networksetup -setsocksfirewallproxy "Wi-Fi" 192.168.1.100 1080
# 设置认证
sudo networksetup -setproxyauthentication "Wi-Fi" username password
关闭代理:
sudo networksetup -setwebproxystate "Wi-Fi" off
sudo networksetup -setsecurewebproxystate "Wi-Fi" off
sudo networksetup -setsocksfirewallproxystate "Wi-Fi" off
查看当前设置:
networksetup -getwebproxy "Wi-Fi"
networksetup -getsecurewebproxy "Wi-Fi"
networksetup -getsocksfirewallproxy "Wi-Fi"
天天敲命令麻烦,我一般存两个脚本:
enable_proxy.sh:
#!/bin/bash
PROXY_SERVER="192.168.1.100"
PROXY_PORT="1080"
NETWORK_SERVICE="Wi-Fi"
sudo networksetup -setsocksfirewallproxy "$NETWORK_SERVICE" "$PROXY_SERVER" "$PROXY_PORT"
sudo networksetup -setsocksfirewallproxystate "$NETWORK_SERVICE" on
echo "✓ 代理已启用:$PROXY_SERVER:$PROXY_PORT"
disable_proxy.sh:
#!/bin/bash
NETWORK_SERVICE="Wi-Fi"
sudo networksetup -setsocksfirewallproxystate "$NETWORK_SERVICE" off
echo "✓ 代理已关闭"
用起来:
chmod +x enable_proxy.sh disable_proxy.sh
./enable_proxy.sh # 开代理
./disable_proxy.sh # 关代理
说这么多,到底怎么选?按场景来吧:
| 场景 | 推荐方案 | 理由 |
|---|---|---|
| 日常办公 | 系统偏好设置 | 配置一次,全局生效,省心 |
| 开发测试 | 命令行 + 脚本 | 切换快,能自动化,控制精确 |
| 多账号运营 | SwitchyOmega | 浏览器专用,规则切换方便 |
| 隐私保护 | 系统设置 + SOCKS5 | 全局加密,DNS 也走代理 |

Q1:设完上不了网
先确认代理服务器本身能用,再检查地址端口有没有填错。实在不行先关代理,看看是不是网络本身的问题。
Q2:有些应用不走代理
系统代理对部分应用不生效,尤其是 Electron 应用或某些客户端。这些应用一般有自己独立的代理设置,去里面配。也可以用 Proxifier for Mac 强制走代理。
Q3:DNS 泄露
访问 dnsleaktest.com 测一下。如果泄露,换 SOCKS5 代理(支持远程 DNS),或者手动配 DNS 服务器,也可以用 DNS over HTTPS。
Q4:代理速度慢
换离你地理位置近的节点,检查本地带宽,尽量别用免费代理——慢还是小事,安全问题更麻烦。
这几条建议,不管用哪种方法都注意一下:
SSH 隧道加密代理
有远程服务器的话,可以这样建加密 SOCKS5:
ssh -D 1080 -N -f user@your-server.com
然后系统里配 SOCKS5 代理为 127.0.0.1:1080,流量就走 SSH 加密了。
proxychains-ng
brew install proxychains-ng
nano /usr/local/etc/proxychains.conf # 配置
proxychains4 curl https://google.com # 用
这个工具能让指定命令强制走代理,挺方便。
Mac 配代理就这么 3 种主流方法,各有优劣。日常用系统设置最省心,浏览器多用 SwitchyOmega,开发者玩命令行更灵活。
不管选哪种,记得选靠谱的代理服务,定期检查配置。配置代理不难,关键是理解每种方法的适用场景。
有问题欢迎评论区交流,配成功了也记得回来报个喜!