终端代理与 TUN 模式全解:git、npm、pip、Docker、WSL 怎么走代理
开发者网络配置完整指南:系统代理和 TUN 模式的区别,git、npm、pip、Homebrew、Docker、WSL2 的代理设置方法与环境变量写法,GitHub SSH 走代理,以及适合开发者的专线机场推荐。
⚡ 要点速览
- 系统代理只对「会读取系统代理」的程序有效,终端和大多数开发工具默认不读。
- 最省事:开 TUN 模式,所有程序自动走代理,不用逐个配置。
- 不开 TUN 就设置 HTTPS_PROXY / HTTP_PROXY 环境变量,再给 git、npm、Docker 单独配置。
- WSL2 在 Windows 11 上开启 mirrored 网络模式,可直接使用 127.0.0.1 代理。
「浏览器能上 GitHub,终端 git clone 却卡住」——这是开发者最常遇到的问题。原因很简单:系统代理只对会读取它的程序有效。这篇文章一次讲清楚各种开发工具怎么走代理。
下文以代理端口 7897(Clash Verge Rev 默认混合端口)为例,请替换成你客户端中显示的端口。
方案一:TUN 模式(推荐)
TUN 模式会创建一块虚拟网卡,在系统层面接管流量,所有程序自动走代理,包括终端、IDE、Docker、游戏。
- Clash Verge Rev: 设置 → 安装「服务模式」→ 打开「TUN 模式」;
- v2rayN: 以管理员身份运行,底部开启 TUN;
- Hiddify: 选择 VPN 模式。
开了 TUN,下面的方案二基本都不需要了。
方案二:环境变量
# macOS / Linux(写入 ~/.zshrc 或 ~/.bashrc 永久生效)
export https_proxy=http://127.0.0.1:7897
export http_proxy=http://127.0.0.1:7897
export all_proxy=socks5://127.0.0.1:7897
export no_proxy=localhost,127.0.0.1,.cn
# Windows PowerShell(写入 $PROFILE 永久生效)
$env:HTTPS_PROXY = "http://127.0.0.1:7897"
$env:HTTP_PROXY = "http://127.0.0.1:7897"
$env:NO_PROXY = "localhost,127.0.0.1"
Codex CLI、Claude Code、curl 等大多数命令行工具会读取这些变量。
各工具单独配置
git(HTTPS 克隆)
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
GitHub SSH: 改用 443 端口通常就能稳定连接,在 ~/.ssh/config 加入:
Host github.com
HostName ssh.github.com
Port 443
User git
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 包名 --proxy http://127.0.0.1:7897
Docker Desktop: 设置 → Resources → Proxies,填入 http://127.0.0.1:7897。Linux 上的 Docker 守护进程需要在 systemd 服务配置中设置 HTTP_PROXY / HTTPS_PROXY 环境变量。
WSL2 怎么走代理
Windows 11 上最简单的方法是开启 mirrored(镜像)网络模式,让 WSL 和 Windows 共享网络,WSL 里可以直接用 127.0.0.1:7897。在 %UserProfile%\.wslconfig 中加入:
[wsl2]
networkingMode=mirrored
保存后执行 wsl --shutdown 重启 WSL。详见微软官方文档 WSL 网络。
开发者机场推荐
开发场景最怕长连接中断(大仓库 clone、Docker 拉镜像、AI 长任务),优先选专线:
更多选择见 专线机场推荐 与 2026 机场排行榜。
本文提到的机场
可信云
办公学习 · ChatGPT 与 GitHub 稳定
¥25 /月 · 150GB/月 8.8 分
- Claude :部分节点
- Codex :稳定可用
- ChatGPT :稳定可用
- Gemini :稳定可用
- ChatGPT、Codex 与 GitHub 访问稳定,长连接不易断
- 海外办公平台(Google Workspace、Notion、Slack)体验好
- 150G 流量适合中高频用户
宇宙云
五年老牌 · IEPL 专线综合旗舰
¥8 /月 · 60GB/月 9.6 分
- Claude :稳定可用
- Codex :稳定可用
- ChatGPT :稳定可用
- Gemini :稳定可用
- 运营五年的老牌机场,长期稳定性有口碑
- 全线 IEPL 专线,晚高峰速度波动小
- 70+ 节点,Netflix、Disney+ 与 ChatGPT、Claude、Gemini 全解锁
常见问题
开了 TUN 模式还需要设置环境变量吗?
一般不需要。TUN 模式在网卡层面接管流量,所有程序都会自动走代理。只有极少数情况(如某些容器网络)需要额外配置。
设置代理后国内镜像变慢了怎么办?
设置 NO_PROXY 环境变量排除国内域名,或者使用 Clash 的规则模式(国内直连),只让海外请求走代理。
相关推荐
Clash 分流规则详解:规则写法、规则集与 AI / 流媒体专用策略组
Clash(mihomo)分流规则教程:规则类型与匹配顺序、rule-providers 规则集写法,为 ChatGPT、Claude、Netflix 建专用策略组,并用覆写安全修改机场配置。
多机场订阅合并与自动故障切换:proxy-providers、fallback、url-test 实战
同时使用两家以上机场的进阶教程:用 mihomo 的 proxy-providers 合并多个机场订阅,用 fallback、url-test、load-balance 策略组实现自动故障切换与测速选优,主力机场宕机也不断网。
机场测速怎么测才准?晚高峰速度、延迟、丢包的正确测试方法
机场测速的正确方法:客户端延迟测试和真实速度的区别、Speedtest / Fast.com / Cloudflare 测速怎么用、为什么一定要测晚高峰、如何测丢包与稳定性,以及本站机场排行榜的测速标准。
软路由科学上网:OpenClash 安装、导入机场订阅与全家设备共享
OpenClash 软路由教程:在 OpenWrt / iStoreOS 安装 OpenClash、选择 Meta 内核、导入机场订阅、Fake-IP 模式设置,让电视游戏机等全家设备共享机场。