不开 TUN 让 Git / npm / Docker 走 Clash 代理

git clone 卡住、npm install 超时、docker pull 拉不动?因为这些命令行工具不读系统代理。开 TUN 能解决,但若不想开 TUN,手动给它们配代理更轻量。端口统一用你的 mixed-port(默认 7897)。

先确认代理端口

在客户端「设置 → 端口」查看 mixed-port,新版默认 7897(旧版可能是 7890)。下文都用 7897 示例,请按你的实际端口替换。端口含义见 Clash 端口说明

通用:环境变量

大多数工具识别 http_proxy / https_proxy 环境变量,设一次当前终端全生效:

# macOS / Linux (bash/zsh)
export http_proxy=http://127.0.0.1:7897
export https_proxy=http://127.0.0.1:7897

# Windows PowerShell
$env:http_proxy="http://127.0.0.1:7897"
$env:https_proxy="http://127.0.0.1:7897"

# Windows CMD
set http_proxy=http://127.0.0.1:7897
set https_proxy=http://127.0.0.1:7897

关掉终端后失效,适合临时使用;想永久生效写进 shell 配置文件或系统环境变量。

Git

git config --global http.proxy http://127.0.0.1:7897
git config --global https.proxy http://127.0.0.1:7897
# 取消
git config --global --unset http.proxy
git config --global --unset https.proxy
提示:SSH 方式([email protected])不走 http 代理,可只对 GitHub 走代理,或改用 HTTPS 克隆地址。

npm / yarn / pip

# npm
npm config set proxy http://127.0.0.1:7897
npm config set https-proxy http://127.0.0.1:7897
# 取消
npm config delete proxy
npm config delete https-proxy

# pip(临时)
pip install 包名 --proxy http://127.0.0.1:7897

Docker

Docker 拉镜像走的是 daemon,需要给 daemon 配代理。Docker Desktop 在「Settings → Resources → Proxies」填 http://127.0.0.1:7897 即可;Linux 下在 ~/.docker/config.json 或 systemd drop-in 里配置 proxies。

小技巧与注意

  • 命令行代理只影响配置过的工具,浏览器仍靠系统代理。
  • 用完记得取消,否则关掉 Clash 后这些工具会因连不上代理而报错。
  • 嫌麻烦就直接开 TUN 模式,一次性接管所有程序,无需逐个配置。
⚠️ 免责声明:本文为开源软件使用教程,本站不提供任何节点、VPN 或机场服务。请遵守所在地区法律法规,合理合法使用网络工具。