Подтвердить что ты не робот

Как вам включить и выключить веб-прокси в os x из командной строки

В OS X вы включаете и выключаете веб-прокси из "Системные настройки" > "Сеть" > "Прокси", проверяя веб-прокси (HTTP) и определяя веб-прокси-сервер и т.д., и нажав "ОК", а затем "Применить". Это слишком много шагов. Есть ли способ сделать все это из командной строки и оболочки script?

4b9b3361

Ответ 1

Для неаутентифицированного прокси (и считая его службой 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, чтобы получить правильное имя.

Ответ 2

Чтобы просто включить/выключить мои прокси в OSX Mavericks, я настроил этот script. Обратите внимание, что этот пример влияет только на мой адаптер wi-fi. Я включаю/выключаю сеть, потоковое и прокси-серверы SOCKS сразу. Вы также можете указать адрес прокси-сервера, в примере Gordon, но я уже сохранил это с помощью графического интерфейса System Preferences > Network > Proxies.

BASH Script, сохраненный как 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

Затем обозначьте script в командной строке:

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

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

bash prox-toggle

Ответ 4

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

#!/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 - это название вашей активной сети, которую необходимо настроить.

  • Создать proxy файл в /usr/local/bin.
  • Скопировать выше script в proxy.
  • Задайте исполняемые разрешения для файла с помощью sudo chmod 777 proxy.

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

proxy on
proxy off

Ответ 5

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

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