macOS设置系统代理主要是利用networksetup,是在system–preference–network–proxies里设置,常用的就是设置http/https/socks代理

networksetup命令的用法
查看macOS可用的网络服务
networksetup -listallnetworkservices
查看各个网络服务的网口名
networksetup -listallhardwareports
查看某个网络服务的信息
networksetup -getinfo Wi-Fi
查看系统记录的可连接的无线信号,可以使用命令查看,需要用到上面得到的device name
networksetup -listpreferredwirelessnetworks en0
查看当前连接的无线接入点名称
networksetup -getairportnetwork en0
关闭无线连接
networksetup -setairportpower en0 off
打开无线连接
networksetup -setairportpower en0 on
查看当前无线连接是否打开状态
networksetup -getairportpower en0
设置系统http/https代理
networksetup -setwebproxy networkservices address port
networksetup -setsecurewebproxy networkservices address port
设置系统socks代理
networksetup -setsocksfirewallproxy networkservices address port
打开/关闭系统代理
networksetup [-setwebproxystate | -setsecurewebproxystate | -setsocksfirewallproxystate] networkservices [on | off]
networksetup命令的具体用法
上面介绍的常用的 networksetup
命令,下面介绍具体如何设置系统代理。这里以 Wi-Fi 网络服务举例。我的 http 代理地址为:127.0.0.1:1082,socks 代理地址为:127.0.0.1:1080。
首先设置代理地址:
networksetup -setwebproxy Wi-Fi 127.0.0.1 1082
networksetup -setsecurewebproxy Wi-Fi 127.0.0.1 1082
networksetup -setsocksfirewallproxy Wi-Fi 127.0.0.1 1080
以上设置只需要设置一次,以后使用只需要执行打开/关闭代理操作即可。
打开系统代理:
networksetup -setwebproxystate Wi-Fi on
networksetup -setsecurewebproxystate Wi-Fi on
networksetup -setsocksfirewallproxystate Wi-Fi on
关闭系统代理:
networksetup -setwebproxystate Wi-Fi off
networksetup -setsecurewebproxystate Wi-Fi off
networksetup -setsocksfirewallproxystate Wi-Fi off
可以在终端执行上述命令,然后打开系统代理设置界面验证是否设置成功。
设置alias别名以命令的形式启动
如果需要频繁的打开/关闭代理,每次都需要输入以上命令比较麻烦,比较好的方法是设置 alias。关于 alias 我在macOS/Linux/windows设置终端 proxy 代理里有详细介绍。
编辑 ~/.bash_frofile 添加如下并保存文件:
alias pset='networksetup -setwebproxy Wi-Fi 127.0.0.1 1082 && networksetup -setsecurewebproxy Wi-Fi 127.0.0.1 1082 && networksetup -setsocksfirewallproxy Wi-Fi 127.0.0.1 1080'
alias psystem='networksetup -setwebproxystate Wi-Fi on && networksetup -setsecurewebproxystate Wi-Fi on && networksetup -setsocksfirewallproxystate Wi-Fi on'
alias upsystem='networksetup -setwebproxystate Wi-Fi off && networksetup -setsecurewebproxystate Wi-Fi off && networksetup -setsocksfirewallproxystate Wi-Fi off'
更新缓存,macOS 终端使用的是 zsh,所有要先在 ~/.zshrc
里添加一句 source ~/.bash_profile
,具体查看我上面提到的文章:
source ~/.zshrc
设置完成后,执行 pset
设置代理地址,执行 psystem
打开系统代理,执行 upsystem
关闭系统代理。
参考链接:
https://blog.niekun.net/archives/1629.html