مرورگر ساعتهاست پشت پراکسی است؛ git clone هنوز میخزد. ابزارهای خط فرمان تنظیم پراکسی سیستمعامل را نمیخوانند — فقط متغیرهای محیطی و کانفیگ خودشان را قبول دارند. همهٔ ابزارهای رایج را تنظیم میکنیم. مثالها با پورت پیشفرض کلش ورج 7897؛ عوض کردهاید، جایگزین کنید.
روش همگانی: متغیرهای محیطی
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 بنویسید.