Как настроить прокси через оболочку bash? - PullRequest
13 голосов
/ 29 декабря 2011

Я настроил прокси на Mac через System Preferences -> Network -> Advanced -> Proxies.

Возможно ли сделать то же самое программно через оболочку bash?

Ответы [ 3 ]

29 голосов
/ 29 декабря 2011

Вы можете поместить это в свой .profile или .bash_profile или запустить вручную в командной строке:

export http_proxy=http://proxy.server.com:@aproxy:portnumber
export https_proxy=https://proxy.server.com:@aproxy:portnumber

Также обычно не использовать прокси для локальных подключений

export no_proxy=localhost,127.0.0.0/8,*.local
13 голосов
/ 29 декабря 2011

Да, с помощью команды networksetup. Существуют отдельные параметры для настройки различных типов прокси-серверов (например, -setwebproxy, -setsocksfirewallproxy и т. Д.), И вам необходимо знать имя первичной сети "service" (например, Ethernet, Airport ... в основном, перечисленные имена на боковой панели панели сетевых настроек). Вот пример:

sudo networksetup -setwebproxy "Ethernet" myproxy.example.com 8000

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

5 голосов
/ 17 ноября 2013

Я использую этот скрипт для прокси через мой ssh-сервер (не веб-прокси).

#!/bin/bash
disable_proxy(){
    sudo networksetup -setsocksfirewallproxystate Wi-Fi off
    sudo networksetup -setsocksfirewallproxystate Ethernet off
    echo "SOCKS proxy disabled."
}
trap disable_proxy INT

sudo networksetup -setsocksfirewallproxy Wi-Fi 127.0.0.1 9999
sudo networksetup -setsocksfirewallproxy Ethernet 127.0.0.1 9999
sudo networksetup -setsocksfirewallproxystate Wi-Fi on
sudo networksetup -setsocksfirewallproxystate Ethernet on
echo "SOCKS proxy enabled."
echo "Tunneling..."
ssh -ND 9999 000.000.000.000 -p 00000

Измените 000.000.000.000 на IP своего собственного сервера и 00000 на свой собственный порт, и вы должны бытьвозможность использовать его с вашим собственным сервером SSH.Вы можете сохранить этот скрипт в своем домашнем каталоге с именем скажем proxy.

Запустите его с ./proxy (введите свой пароль), используйте CTRL+C, чтобы остановить туннелирование.

Запустите его сноваи остановитесь на CTRL+C, если вы забыли прекратить туннелирование, и на следующий день вас интересует, почему ваше интернет-соединение не работает.

Если у вас сломан канал, просто запустите ./proxy снова.

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