K162

Starwalker, Stardust.

0%

Mac 使用 networksetup 快速切换代理

我习惯在 Terminal 中直接使用某软件的 core,接着手动在 系统偏好设置->网络->高级->代理 打开/关闭代理配置。但苦于要一次次在系统偏好设置中来回切换,实在觉得麻烦。

最近发现,Apple 在 Remote Desktop 支持上,提供了一个命令 networksetup,用来快速配置客户端的网络设置。1

例如,可以使用它快速获取当前硬件端口上所有的网络服务:

1
2
3
4
$ networksetup -listallnetworkservices
USB 10/100/1000 LAN
Wi-Fi
Thunderbolt Bridge

或是借助下面的命令,快速配置设备的网络代理。更多用法可以通过 networksetup -help 查看。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Web Proxy (HTTP)
networksetup -getwebproxy <networkservice>
networksetup -setwebproxy <networkservice> <domain> <port number> <authenticated> <username> <password>
networksetup -setwebproxystate <networkservice> <on off>

# Secure Web Proxy (HTTPS)
networksetup -getsecurewebproxy <networkservice>
networksetup -setsecurewebproxy <networkservice> <domain> <port number> <authenticated> <username> <password>
networksetup -setsecurewebproxystate <networkservice> <on off>

# SOCKS Proxy
networksetup -getsocksfirewallproxy <networkservice>
networksetup -setsocksfirewallproxy <networkservice> <domain> <port number> <authenticated> <username> <password>
networksetup -setsocksfirewallproxystate <networkservice> <on off>

开心!那我岂不是可以在 捷径(Shortcuts) 中创建一个 shortcut,然后丢 menu bar,就能一键切换代理啦!

shortcut detail shortcut on menu bar

本来还尝试过,想让 Shortcut 打开 Terminal 直接执行命令,或通过捷径让 Terminal 去打开一个 .command 文件,但可惜,都不允许呢~可不管怎样,有这个命令后,真的比以前方便很多了!

参考链接

[1] About networksetup in Remote Desktop