ابزارهای CLI پروکسی سیستم ویندوز را نمیخوانند - ریشه «مرورگر وصل است، ترمینال نه» همین است. روشهای استاندارد عبورشان از Clash در ادامه؛ همین فرمانها بهترین ابزار تشخیص هم هستند.
curl: سریعترین بررسی مسیر
# بدون پروکسی - خروجی محلی شما
curl https://api.ip.sb/ip
# از کلش - خروجی نود
curl -x http://127.0.0.1:7890 https://api.ip.sb/ip
# نسخه SOCKS5 (پورت ترکیبی هر دو را میفهمد)
curl --socks5 127.0.0.1:7890 https://api.ip.sb/ip
دو IP متفاوت یعنی مسیر برقرار است. با -v دستدادن را ببینید و نقطه شکست را بیابید.
متغیرهای محیطی: در سطح نشست
بیشتر ابزارها (curl، wget، pip، go و…) به http_proxy/https_proxy احترام میگذارند:
# PowerShell
$env:http_proxy = "http://127.0.0.1:7890"
$env:https_proxy = "http://127.0.0.1:7890"
# CMD
set http_proxy=http://127.0.0.1:7890
set https_proxy=http://127.0.0.1:7890
فقط در پنجره فعلی ترمینال معتبر است و با بستنش میرود - معمولاً همین را میخواهید. متغیر سیستمی هم میشود ولی توصیه نمیکنیم: فراموش میشود و با خاموش بودن Clash همه ترمینالها بیشبکه میمانند.
تنظیم اختصاصی ابزارها
# Git
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890
# لغو:
git config --global --unset http.proxy
# npm
npm config set proxy http://127.0.0.1:7890
npm config set https-proxy http://127.0.0.1:7890
# SSH از پروکسی ([email protected]، در ~/.ssh/config)
Host github.com
ProxyCommand connect -S 127.0.0.1:7890 %h %p