背景

公司无线网络需要设置固定 IP,有固定的代理 pac 设置。
家里无线网络,开启 DHCP 自动获取 IP,且不需要单独设置代理。

mac 的网络设置 有个“位置”的功能,可以通过切换位置,实现一部分的自动切换。比如:上面的是否开启 DHCP,以及设置固定 IP。把它们放在不同的“位置”里(自动、公司),即可做到自动切换。


但是这个位置功能,隔离的不彻底。自动配置代理 pac,这个无法做到自动切换,需要每次切换位置后,还要再手动设置 pac 代理。

那么,最好有一键实现自动切换网络的办法。

通过命令行

可以设置命令行别名,一键完成切换。

alias sl-auto="scselect 'auto' && networksetup -setautoproxystate 'Wi-Fi' off"
alias sl-corp="scselect 'corp' && networksetup -setautoproxyurl 'Wi-Fi' 'http://0.0.0.0/proxy.pac'"