Как установить прокси на OS X Terminal навсегда?

Для каждого нового сеанса в терминале OS X мне приходится снова настраивать параметры прокси. Я делаю это, введя команду

export http_proxy="username:password@ip address:port number"

Есть ли способ сделать эти настройки прокси раз и навсегда?

Ответы (3)

Ваш http-прокси (только для некоторых веб-сайтов, а не https и не для остального Интернета) можно установить для каждого терминального сеанса, добавив строку

export http_proxy="username:password@ip address:port number"

в ваш файл ~/.bash_profile при использовании bash (по умолчанию от Panther до Mojave) или для более поздних версий macOS оболочка по умолчанию — zsh, а используемый файл — ~/.zshrc

Обратите внимание, что это повлияет только на программы командной строки.

В последнее время zsh является оболочкой по умолчанию. В этом случае добавьте команду в ~/.zshrcфайл.
Также установите https_proxyрядом с http_proxy, потому что некоторые приложения используют https.
Есть ли способ безопасного доступа к паролю без сохранения его в виде обычного текста?

Установить общесистемный HTTP-прокси

Чтобы глобально установить http-прокси для всей системы в MacOS (а не только для сеанса терминала), вы можете использовать:

networksetup -setwebproxy wi-fi localhost 8080
networksetup -setwebproxystate wi-fi on

Это предполагает, что ваш сетевой интерфейс называется wi-fi(или Wi-Fi), и что ваш прокси работает на localhostпорту 8080.

Чтобы отключить прокси:

networksetup -setwebproxystate wi-fi off

Это эквивалентно настройке прокси через системные настройки Mac > Сеть > Wi-Fi > Дополнительно > Прокси > Веб-прокси.

Установить общесистемный прокси SOCKS5

networksetup -setsocksfirewallproxy wi-fi localhost 1080
networksetup -setsocksfirewallproxystate wi-fi on

Чтобы отключить прокси-сервер socks, используйте:

networksetup -setsocksfirewallproxystate wi-fi off

Получение правильного имени сетевого интерфейса

Все приведенные выше команды предполагают, что ваш сетевой интерфейс — wi-fi. Если вы подключены через Ethernet, то, скорее всего, интерфейс будет, en<SOME_NUMBER>например en0, и вам нужно будет использовать его вместо wi-fi.

Чтобы найти активный сетевой интерфейс, посмотрите, что появляется в качестве первого неотключенного интерфейса при вводе:

networksetup -listnetworkserviceorder

Кроме того, вы можете использовать ifconfigили networksetup -listallhardwareports. Увидеть больше .

Если вам нужна оболочка с графическим интерфейсом для настройки прокси-серверов HTTP/SOCKS/PAC, ознакомьтесь с этим ответом . Сценарий битовой панели , указанный в ответе, также содержит команды для настройки прокси-сервера SOCK5 или PAC. Обновление : Bitbar был переименован в xbar — это графический интерфейс с открытым исходным кодом для сценариев текстового режима, написанных на bash/applescript/node/golang/etc.

У меня не работает (Catalina v10.15.7)
У меня не работает в терминале. curlработает как с прокси так и без. Использование Биг Сюр 11.6

Я предполагаю, что вы имеете в виду псевдонимы, а не прокси.

Добавьте его в ~/.bashrc и ~/.bash_profile. Смотрите это руководство для большей глубины. Я не верю, что OS X поддерживает файл ~/.bash_aliases.

Никакой bash напрямую не поддерживает ~/.bash_aliases, вы вызываете его из ~/.bashrc (который вы, вероятно, также должны вызывать из ~..bash_profile)
@Mark Fair, но (насколько мне известно) некоторые системы делают это автоматически, что упрощает задачу.