Mac 使用终端命令设置系统代理
如果需要频繁的打开/关闭代理,每次都需要输入以上命令比较麻烦,比较好的方法是设置 alias。
配置
编辑 ~/.bash_frofile 添加如下并保存文件:
# 系统代理配置
setopt no_nomatch
alias pset="networksetup -setwebproxy 'USB 10/100/1000 LAN' 127.0.0.1 7890 && networksetup -setsecurewebproxy 'USB 10/100/1000 LAN' 127.0.0.1 7890 && networksetup -setsocksfirewallproxy 'USB 10/100/1000 LAN' 127.0.0.1 7891 && networksetup -setproxybypassdomains 'USB 10/100/1000 LAN' 192.168.0.0/16 10.0.0.0/8 172.16.0.0/12 127.0.0.1 localhost *.local timestamp.apple.com"
alias psystem="networksetup -setwebproxystate 'USB 10/100/1000 LAN' on && networksetup -setsecurewebproxystate 'USB 10/100/1000 LAN' on && networksetup -setsocksfirewallproxystate 'USB 10/100/1000 LAN' on && networksetup -setproxyautodiscovery 'USB 10/100/1000 LAN' on"
alias upsystem="networksetup -setwebproxystate 'USB 10/100/1000 LAN' off && networksetup -setsecurewebproxystate 'USB 10/100/1000 LAN' off && networksetup -setsocksfirewallproxystate 'USB 10/100/1000 LAN' off && networksetup -setproxyautodiscovery 'USB 10/100/1000 LAN' off"
更新缓存,macOS 终端使用的是 zsh,所有要先在 ~/.zshrc
里添加一句 source ~/.bash_profile
source ~/.zshrc
设置完成后,执行 pset
设置代理地址,执行 psystem
打开系统代理,执行 upsystem
关闭系统代理。
详解
// 设置系统 http 代理:
networksetup -setwebproxy networkservices address port
// 设置系统 https 代理:
networksetup -setsecurewebproxy networkservices address port
// 设置系统 socks 代理:
networksetup -setsocksfirewallproxy networkservices address port
// 打开/关闭系统代理:
networksetup [-setwebproxystate | -setsecurewebproxystate | -setsocksfirewallproxystate] networkservices [on | off]
// 忽略这些主机与域的代理设置
networksetup -setproxybypassdomains networkservice domain1 [domain2] [...]
networksetup -setproxyautodiscovery networkservice on | off
// 列举所有网络设备
$ networksetup -listallnetworkservices
An asterisk (*) denotes that a network service is disabled.
USB 10/100/1000 LAN
Wi-Fi
Thunderbolt Bridge
自己替换 USB 10/100/1000 LAN
本作品采用《CC 协议》,转载必须注明作者和本文链接