как вам включить и выключить веб-прокси в OS X из командной строки - PullRequest
33 голосов
/ 27 октября 2010

В OS X вы включаете и выключаете веб-прокси в Системных настройках> Сеть> Прокси, проверяя веб-прокси (HTTP), назначая веб-прокси-сервер и т. Д., Нажимая OK и затем «Применить».Это слишком много шагов.Есть ли способ сделать это все из командной строки и сценария оболочки?

Ответы [ 6 ]

35 голосов
/ 27 октября 2010

Для прокси-сервера без аутентификации (и предполагается, что вы хотите настроить Ethernet-сервис):

networksetup -setwebproxy Ethernet proxy.example.net 80 off

для аутентифицированных:

networksetup -setwebproxy Ethernet proxy.example.net 80 on proxyuser "p4ssw0rd"

и выключить его:

networksetup -setwebproxystate Ethernet off

Если сетевая служба не называется просто «Ethernet», вам может понадобиться проанализировать networksetup -listallnetworkservices или -listnetworkserviceorder, чтобы получить правильное имя.

6 голосов
/ 18 февраля 2014

Чтобы просто включить / выключить мои прокси в OSX Mavericks, я настроил этот скрипт. Обратите внимание, что этот пример влияет только на мой адаптер Wi-Fi. Я включаю / выключаю интернет, потоковую передачу и SOCKS прокси одновременно. Вы также можете установить адрес прокси-сервера, в соответствии с примером Гордона , но я уже сохранил его через Системные настройки> Сеть> Графический интерфейс прокси.

BASH-скрипт, сохраненный как prox.sh :

#!/bin/bash

e=$(networksetup -getwebproxy wi-fi | grep "No")

if [ -n "$e" ]; then
  echo "Turning on proxy"
  sudo networksetup -setstreamingproxystate wi-fi on
  sudo networksetup -setsocksfirewallproxystate wi-fi on
  sudo networksetup -setwebproxystate wi-fi on
else
  echo "Turning off proxy"
  sudo networksetup -setstreamingproxystate wi-fi off
  sudo networksetup -setsocksfirewallproxystate wi-fi off
  sudo networksetup -setwebproxystate wi-fi off
fi

Затем сделайте символическую ссылку на скрипт в командной строке:

ln -s /Script/Location/prox.sh prox-toggle

Теперь вы можете включать / выключать прокси в командной строке:

bash prox-toggle
3 голосов
/ 08 июля 2017

Я подготовил скрипт с именем proxy, который может помочь,

#!/bin/bash
#
#
#   Author: Md. Sazzad Hissain Khan
#   Date:   8 July, 2017
#
#

NETWORK_SERVICE_NAME="Ethernet"

if [ "$#" -ne 1 ]; then
    echo "Argument missing [on/off]"
    exit 0
fi

if [ $1 == "on" ]; then
    echo "Enabling secure proxy for $NETWORK_SERVICE_NAME"
    networksetup -setsecurewebproxystate "$NETWORK_SERVICE_NAME" on
elif [ $1 == "off" ]; then
    echo "Disabling secure proxy for $NETWORK_SERVICE_NAME"
    networksetup -setsecurewebproxystate "$NETWORK_SERVICE_NAME" off
else
    echo "Argument invalid [permitted:on/off]"
fi

NETWORK_SERVICE_NAME - это имя вашей активной сети, которое вам нужно настроить.

  1. Создать proxy файл в /usr/local/bin.
  2. Скопировать вышеприведенный скрипт в proxy.
  3. Установить разрешение на выполнение файла, используя sudo chmod 777 proxy.

Как использовать:

proxy on
proxy off
2 голосов
/ 27 октября 2010

Вот Applescript, который включает и выключает прокси в macworld.

1 голос
/ 27 мая 2016

Просто переключение:)

networksetup -setwebproxystate <networkservice> <on off>
networksetup -setsecurewebproxystate <networkservice> <on off>

Пример:

networksetup -setwebproxystate  Wi-Fi on
networksetup -setsecurewebproxystate  Wi-Fi on

Для обработки оповещения о модификации: префикс sudo как

sudo networksetup -setwebproxystate  Wi-Fi on
sudo networksetup -setsecurewebproxystate  Wi-Fi on
0 голосов
/ 05 марта 2019

Включение и отключение прокси с помощью сочетания клавиш

В терминале вы можете включать и выключать прокси wifi с помощью этих команд

networksetup -setwebproxystate Wi-Fi <on | off>
networksetup -setsecurewebproxystate Wi-Fi <on | off>

и Ethernet

networksetup -setwebproxystate Ethernet <on | off>
networksetup -setsecurewebproxystate Ethernet <on | off>

Вот одна строка для переключения между включением и выключением (Пример использования Wi-Fi)

e=$(networksetup -getwebproxy wi-fi | grep "No")

if [ -n "$e" ]; then
  networksetup -setwebproxystate  Wi-Fi on
  networksetup -setsecurewebproxystate  Wi-Fi on
else
  networksetup -setwebproxystate  Wi-Fi off
  networksetup -setsecurewebproxystate  Wi-Fi off
fi

Создание сочетания клавиш для запуска команды оболочки

  1. Запустите Automator и создайте новый Сервис.

  2. Установите «Служба получает выбранный: на« нет ввода »в« любом приложении ».

  3. Добавьте действие с именем «Run Shell Script». Оно находится в разделе «Утилиты» библиотеки действий.

  4. Вставьте нужную команду bash в текстовое поле и выполните тестовый запуск.он использует кнопку «Выполнить» (вверху справа). Он должен делать все, что делает скрипт (выключен, включен или переключаться), и под действием должны быть зеленые галочки.

  5. Сохраните его,присвоив ему имя службы, которое вы можете запомнить.

  6. Перейдите в Системные настройки -> Клавиатура и нажмитеo на вкладку «Ярлыки»

  7. Перейдите в раздел «Услуги» и прокрутите вниз до «Общие» - там вы найдете свою услугу.Если вы выделите строку, вы можете нажать «добавить ярлык» и назначить ей комбинацию клавиш.

...