مرورگر ساعت‌هاست پشت پراکسی است؛ git clone هنوز می‌خزد. ابزارهای خط فرمان تنظیم پراکسی سیستم‌عامل را نمی‌خوانند — فقط متغیرهای محیطی و کانفیگ خودشان را قبول دارند. همهٔ ابزارهای رایج را تنظیم می‌کنیم. مثال‌ها با پورت پیش‌فرض کلش ورج 7897؛ عوض کرده‌اید، جایگزین کنید.

تنظیم متغیرهای پراکسی در PowerShell و bash و آزمایش با curl
متغیرهای محیطی اکثر ابزارها را پوشش می‌دهند و فوری اثر می‌کنند

روش همگانی: متغیرهای محیطی

PowerShell (ویندوز)

$env:HTTP_PROXY  = "http://127.0.0.1:7897"
$env:HTTPS_PROXY = "http://127.0.0.1:7897"

bash / zsh (مک، لینوکس)

export http_proxy="http://127.0.0.1:7897"
export https_proxy="http://127.0.0.1:7897"
export all_proxy="socks5://127.0.0.1:7897"

دامنهٔ اثر: فقط همین نشست ترمینال — پنجره بسته شد، رفت. معمولاً همین مزیت است: باقی سیستم دست‌نخورده می‌ماند. آزمایش:

curl -I https://www.google.com   # HTTP/2 200 یعنی برقرار

یک کلمه‌ای‌اش کنید

هر بار تایپ کردن خسته‌کننده است. در ~/.bashrc یا ~/.zshrc:

alias pon='export http_proxy=http://127.0.0.1:7897 https_proxy=http://127.0.0.1:7897 all_proxy=socks5://127.0.0.1:7897'
alias poff='unset http_proxy https_proxy all_proxy'

در PowerShell توابع مشابه در $PROFILE. از این به بعد: pon روشن، poff خاموش.

ابزارهایی که کانفیگ خودشان را می‌خواهند

git

git config --global http.proxy http://127.0.0.1:7897
# لغو:
git config --global --unset http.proxy

این فقط ریموت‌های HTTPS را می‌پوشاند. آدرس‌های SSH ([email protected]) به ProxyCommand در ~/.ssh/config نیاز دارند — یا ریموت را HTTPS کنید و راحت شوید.

npm / pnpm

npm config set proxy http://127.0.0.1:7897
npm config set https-proxy http://127.0.0.1:7897

pip

pip install package --proxy http://127.0.0.1:7897

pip متغیرهای محیطی را هم می‌خواند؛ معمولاً تنظیم جدا نمی‌خواهد.

docker

دو جای جدا که همیشه قاتی می‌شوند: docker pull از دیمن می‌گذرد — در Docker Desktop → Settings → Resources → Proxies تنظیمش کنید. ترافیک حین build داخل کانتینر، از --build-arg HTTP_PROXY=… می‌آید.

جایگزین بی‌تنظیم: TUN

با حالت TUN کل ترافیک ترمینال بدون حتی یک خط از بالا از پراکسی می‌رود. بهایش پوشش سراسری است؛ گزینش ابزاربه‌ابزار همان هنر متغیرهای محیطی است. برعکسش هم می‌شود: TUN برای همه به‌علاوهٔ قوانین پردازه برای استثناها.

چالهٔ کلاسیک: نوشتن localhost به‌جای 127.0.0.1. بعضی ابزارها localhost را به IPv6 یعنی ::1 حل می‌کنند در حالی که هسته فقط IPv4 گوش می‌دهد — علامتش «پراکسی گذاشتم و کل اتصال رفت». همیشه 127.0.0.1 بنویسید.