因为 Terminal 是绕过 macOS 的网络框架的,直接发起网络请求,所以不会走系统代理,需要单独配置,或则在局域网搭建透明代理。
本地配置 ~/.zshrc 内加入,自动获取 en0 网卡 ip (可根据自身网卡更改)配置代理,proxy_port 替换为自己实际的,no_proxy 添加自己绕过需代理的,配置好以后重启 Terminal ,Terminial 输入 Proxy on 开启代理,Proxy off 关闭代理:
function proxy() {
local ip=$(ipconfig getifaddr en0)
export all_proxy="socks5://$ip:proxy_port"
export http_proxy="http://$ip: proxy_port"
export https_proxy="http://$ip: proxy_port"
export no_proxy="
npmjs.org"
echo "Proxy on"
}
function uproxy() {
unset all_proxy http_proxy https_proxy no_proxy
echo "Proxy off"
}
或者直接配置,ip 和端口写死,重启 terminal 直接生效
export all_proxy="socks5://$ip:proxy_port"
export http_proxy="http://$ip: proxy_port"
export https_proxy="http://$ip: proxy_port"
export no_proxy="
npmjs.org"