命令列工具預設不讀 Windows 的系統代理設定,這是「瀏覽器能上、終端不能上」的根本原因。本文給出讓各類 CLI 工具走 Clash 的標準做法——它們也是排查代理問題的利器。

curl:最快的鏈路驗證工具

# 不走代理,看本地出口
curl https://api.ip.sb/ip
# 顯式走 Clash,看節點出口
curl -x http://127.0.0.1:7890 https://api.ip.sb/ip
# SOCKS5 方式(7890 混合兩者都支援)
curl --socks5 127.0.0.1:7890 https://api.ip.sb/ip

兩次返回的 IP 不同,說明代理鏈路通暢。-v 引數可以看到詳細握手過程,定位失敗環節。

合作推薦 訂閱連結從哪來? 本站合作機場註冊即送 1GB 香港高速體驗流量,可直接一鍵匯入。 取得高速節點

環境變數:一次生效目前會話

絕大多數 CLI 工具(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 over 代理([email protected] 場景,寫入 ~/.ssh/config)
Host github.com
  ProxyCommand connect -S 127.0.0.1:7890 %h %p
提示:嫌逐個設定麻煩,直接開 TUN 模式——網路層接管後所有命令列工具自動走代理,無需任何環境變數。環境變數方案的優勢是精確可控、不需要管理員許可權。