Переменные окружения терминала

переменные прокси для bash, zsh, fish, PowerShell и cmd.

Большинство утилит командной строки читают http_proxy / https_proxy / all_proxy (одни — в верхнем регистре, другие — в нижнем, поэтому задайте оба варианта).

bash / zsh

bash
export http_proxy=http://127.0.0.1:7898
export https_proxy=http://127.0.0.1:7898
export all_proxy=socks5://127.0.0.1:7898
export HTTP_PROXY=$http_proxy HTTPS_PROXY=$https_proxy ALL_PROXY=$all_proxy
export no_proxy=localhost,127.0.0.1,::1
export NO_PROXY=$no_proxy

Как функции включения и выключения в ~/.zshrc или ~/.bashrc:

bash
proxy_on()  { export http_proxy=http://127.0.0.1:7898 https_proxy=http://127.0.0.1:7898 all_proxy=socks5://127.0.0.1:7898; export HTTP_PROXY=$http_proxy HTTPS_PROXY=$https_proxy ALL_PROXY=$all_proxy; echo "proxy on"; }
proxy_off() { unset http_proxy https_proxy all_proxy HTTP_PROXY HTTPS_PROXY ALL_PROXY; echo "proxy off"; }

В Linux достаточно:

bash
eval "$(cnb env)"          # задать
eval "$(cnb env --unset)"  # сбросить

fish

fish
set -gx http_proxy http://127.0.0.1:7898
set -gx https_proxy http://127.0.0.1:7898
set -gx all_proxy socks5://127.0.0.1:7898
# Linux
cnb env --shell fish | source

Windows PowerShell

powershell
$env:HTTP_PROXY  = "http://127.0.0.1:7898"
$env:HTTPS_PROXY = "http://127.0.0.1:7898"
$env:NO_PROXY    = "localhost,127.0.0.1"

Windows cmd

bat
set HTTP_PROXY=http://127.0.0.1:7898
set HTTPS_PROXY=http://127.0.0.1:7898

Проверка

bash
curl -sI https://github.com | head -1