surge for mac 快捷设置代理
Toc
  1. 查看网络服务
  2. 设置代理
  3. 查看代理
  4. 设置 dns
  5. 查看 dns

最近使用了 surge for mac 科学上网,截至目前版本1.0.6,仍需手动设置系统的网络代理,即第一次启动 surge、关闭 surge 时,都需要设置、去掉代理,得手工切换。

苹果系统提供了命令行下的工具来支持这个事情: man networksetup

查看网络服务

查看当前系统有哪些网络服务(networkservice),以及确定当前系统使用的是哪个

$ networksetup -listallnetworkservices
An asterisk (*) denotes that a network service is disabled.
Wi-Fi
VPN (L2TP)

我用的是Wi-Fi,后续的 dns 设置、网络代理设置,都默认对它生效。

设置代理

surge 默认监听地址是127.0.0.1:6152

$ networksetup -setwebproxy 'Wi-Fi' 127.0.0.1 6152 \ 
    && networksetup -setsecurewebproxy 'Wi-Fi' 127.0.0.1 6152

查看代理

$ networksetup -getwebproxy 'Wi-Fi'
Enabled: Yes
Server: 127.0.0.1
Port: 6152
Authenticated Proxy Enabled: 0

综上,可在 bash_profile 中设置两个 alias 方便变更网络代理:

# for wifi proxy
alias setproxy="networksetup -setwebproxy 'Wi-Fi' 127.0.0.1 6152 \
    && networksetup -setsecurewebproxy 'Wi-Fi' 127.0.0.1 6152 \
    && networksetup -getwebproxy 'Wi-Fi'"
alias clearproxy="networksetup -setwebproxystate 'Wi-Fi' off \ 
    && networksetup -setsecurewebproxystate 'Wi-Fi' off \
    && networksetup -getwebproxy 'Wi-Fi'"

设置 dns

$ networksetup -setdnsservers 'Wi-Fi' 114.114.114.114

使用 dns 114.114.114.114 仅为演示,这里并没有推荐之意。

查看 dns

$ networksetup -getdnsservers 'Wi-Fi'

综上,也可在 bash_profile 中设置三个 alias 方便 dns 变更:

alias cleardns="networksetup -setdnsservers 'Wi-Fi' empty"
alias setdns="networksetup -setdnsservers 'Wi-Fi' 114.114.114.114"
alias getdns="networksetup -getdnsservers 'Wi-Fi'"


– EOF –

Categories: mac
Tags: mac