Есть ли какой-нибудь быстрый/простой способ переключить настройки этого системного прокси?

Иногда мне нужно отправить свой трафик на прокси, иногда нет.

В настоящее время мне приходится каждый раз заходить в настройки, чтобы щелкнуть по нему.

Есть ли простой способ переключить это? Например, используйте для этого команду оболочки.

системный прокси

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работает.

Ответы (4)

Это можно сделать с помощью 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 .

Вот шаги настройки:

  1. В первый раз установите IP и порт прокси http и https вручную, хотя это можно сделать в командной строке.
networksetup -setwebproxy "Wi-fi" 127.0.0.1 8080
networksetup -setsecurewebproxy "Wi-fi" 127.0.0.1 8080
  1. Добавьте следующую функцию оболочки в ваш~/.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
}
  1. Добавьте следующее в свой~/.hammerspoon/init.lua
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "P", function()
  local output = hs.execute("toggleProxy", true)
  hs.alert.show(output)
end)