Очистка переменных прокси Bash и Zsh с помощью функции unproxy
Исправьте хелпер оболочки, который после включения переменных для отдельных протоколов и ALL_PROXY в верхнем регистре удаляет только all_proxy.
У этого хелпера оболочки неполный выключатель:
export http_proxy=http://127.0.0.1:1087
export https_proxy=http://127.0.0.1:1087
export ALL_PROXY=socks5://127.0.0.1:1080
alias unproxy='unset all_proxy'
В оболочке Unix all_proxy и ALL_PROXY — разные имена. Этот alias не удаляет ни одну из трёх переменных выше. Если удалить только ALL_PROXY в верхнем регистре, два параметра для отдельных протоколов останутся.
Чтобы очистить эти распространённые имена в текущем сеансе Bash или Zsh:
unproxy() {
unset http_proxy https_proxy all_proxy
unset HTTP_PROXY HTTPS_PROXY ALL_PROXY
}
Вызывайте функцию в той оболочке, последующие команды которой должны унаследовать очищенное окружение. Дочерний сценарий не может очистить окружение родительского терминала.
Уже запущенные приложения сохраняют собственное состояние. Файл конфигурации curl, настройка Git, предпочтение браузера или явный параметр команды тоже могут выбрать прокси после удаления переменных. Если трафик всё ещё использует прокси, проверьте конфигурацию этого клиента.