Это можно сделать с помощью networksetup
.
Получить все услуги:
networksetup -listallnetworkservices
Затем с помощью соответствующей службы (например, Ethernet или имя вашего сетевого адаптера USB 10/100/1000) введите
sudo networksetup -setsocksfirewallproxy <networkservice> <domain> <port number> <authenticated> <username> <password>
или
sudo networksetup -setwebproxy <networkservice> <domain> <port number> <authenticated> <username> <password>
настроить его (что в вашем случае не нужно, потому что вы уже ввели все необходимые значения).
например
sudo networksetup -setsocksfirewallproxy Ethernet 127.0.0.1 18080
sudo networksetup -setwebproxy Ethernet 127.0.0.1 18080
Чтобы просто включить или выключить его, используйте:
sudo networksetup -setsocksfirewallproxystate networkservice on | off
sudo networksetup -setwebproxystate networkservice on | off
например
sudo networksetup -setsocksfirewallproxystate Ethernet off
sudo networksetup -setwebproxystate Ethernet off
man networksetup
покажет другие варианты прокси (gopher, ftp и т.д.)
Взгляните на эту страницу на YourMacGuy о команде терминала networksetup
. Хотя страница датируется 2008 годом, команда существует и работает в macOS Sierra. Возможно, вам подойдет одна из команд, связанных с прокси. Вы всегда можете создать несколько местоположений в Системных настройках > Сеть, которые могут включать или отключать прокси. Однако вам все равно нужно будет открыть Системные настройки.
Я делаю это, определяя ярлыки в Hammerspoon . Теперь я могу переключать системный прокси с помощью ярлыка CommandOptionControlP.
Исходный код доступен на GitHub .
Вот шаги настройки:
networksetup -setwebproxy "Wi-fi" 127.0.0.1 8080
networksetup -setsecurewebproxy "Wi-fi" 127.0.0.1 8080
~/.profile
toggleProxy() {
e=$(networksetup -getwebproxy wi-fi | grep "No")
ns=wi-fi
status=''
if [ -n "$e" ]; then
status=on
else
status=off
fi
echo -n "Turning $status proxy"
networksetup -setstreamingproxystate $ns $status
networksetup -setsocksfirewallproxystate $ns $status
networksetup -setwebproxystate $ns $status
networksetup -setsecurewebproxystate $ns $status
}
~/.hammerspoon/init.lua
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "P", function()
local output = hs.execute("toggleProxy", true)
hs.alert.show(output)
end)
AGamePlayer
sudo networksetup -setsocksfirewallproxy "USB 10/100/1000 LAN" 127.0.0.1 8888
//sudo networksetup -setsocksfirewallproxystate "USB 10/100/1000 LAN" off
отличноsudo networksetup -setsocksfirewallproxystate "USB 10/100/1000 LAN" on
работает.