01

Оболочка не смотрит на системный прокси

Системный прокси влияет только на программы, которые читают системные настройки. Большинство консольных утилит этого не делает: они смотрят на переменные http_proxy и https_proxy либо на собственные конфиги. Поэтому таймаут у git clone при исправно работающем браузере — ожидаемое поведение, а не поломка клиента.

Два исключения стоит запомнить сразу. Режим TUN перехватывает трафик на сетевом уровне, и консольные утилиты работают вообще без настройки. А вот SSH не признаёт http_proxy ни при каких условиях и требует ProxyCommand.

Партнёрский материалОткуда взять ссылку на подписку?Партнёрский сервис даёт 1 ГБ высокоскоростного трафика Гонконга при регистрации — импорт в один клик.Получить быстрые серверы
02

Настройка по инструментам

  1. 1

    Переменные окружения, на текущую сессию

    В Linux и macOS экспортируйте https_proxy и http_proxy со значением http://127.0.0.1:7897. В PowerShell присвойте то же значение $env:HTTPS_PROXY. Действует, пока открыто окно; чтобы закрепить, пропишите в .bashrc или в профиль PowerShell.

  2. 2

    Git

    Задайте адрес прокси в git config --global http.proxy и то же самое для https. Чтобы проксировать только GitHub, используйте форму с привязкой к адресу: git config --global http.https://github.com/.proxy. Убрать любую из настроек можно ключом --unset.

  3. 3

    npm и pip

    npm config set proxy задаёт прокси, а registry меняет зеркало — это разные вещи, не путайте их. pip принимает --proxy для разовых запусков или то же значение в pip.conf.

  4. 4

    SSH

    Добавьте строку ProxyCommand для нужного Host в ~/.ssh/config. В Linux и macOS для SOCKS5 обычно берут nc -X 5 -x, в Windows подходит утилита connect из поставки Git.

03

Проверка и типичные опечатки

Выполните curl к ipinfo.io/ip. Если вернулся адрес вашего узла, прокси работает. Если curl проходит, а git нет, проверьте эту настройку отдельно через git config --global --get http.proxy.

  • Значение https_proxy начинается с http://, а не https:// — схема описывает сам прокси-сервер
  • Без завершающего слеша и без пути в адресе прокси
  • Через no_proxy исключите localhost, 127.0.0.1 и внутренние домены компании
04

Частые вопросы

Переменные заданы, но всё равно connection refused.

По убыванию вероятности: неверный номер порта, клиент не запущен, значение начинается с https://. Сравните смешанный порт в интерфейсе клиента с тем, что вы вписали.

После настройки прокси перестали открываться внутренние адреса.

Добавьте внутренние домены и подсети в no_proxy вместе с localhost и 127.0.0.1. У Git и npm есть собственные аналогичные настройки.