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 协议》,转载必须注明作者和本文链接
vance
vance
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!