在bash终端中配置代理

先确认本地vpn代理在浏览器中已生效,查看客户端代理端口为7897

临时设置

1
2
export http_proxy="http://127.0.0.1:7897"
export https_proxy="http://127.0.0.1:7897"

它们的作用范围仅限于当前 bash 会话(窗口),一旦你关闭终端或开新窗口,环境变量就会消失;

查看当前环境变量

1
2
echo $http_proxy $https_proxy
http://127.0.0.1:7897 http://127.0.0.1:7897

如果你想取消代理

1
2
unset http_proxy
unset https_proxy

测试代理是否成功

直接访问受限网址

1
curl -I https://www.google.com
  • 返回 HTTP/1.1 200 OK 或者 HTTP/2 200 → ✅ 代理生效。
  • 超时或 Failed to connect → ❌ 未生效或代理不可达。

查看 curl 实际使用的代理

1
curl -v https://www.google.com 2>&1 | grep 'Connected'

输出中如果有类似:Connected to 127.0.0.1 (127.0.0.1) port 7897 表示 curl 确实通过代理连出去

永久设置

需要将配置写入~/.bashrc 文件

查看文件是否存在

1
ls -a ~ | grep bash

如果输出

1
2
3
.bash_history
.bash_profile
.bashrc

表示这两个文件都存在于你的「用户主目录」里,其中 ~ 代表当前用户目录,查看具体路径

1
2
$ echo ~/.bashrc
/c/Users/24115/.bashrc

如果文件不存在,主动创建

1
touch ~/.bashrc

文件编辑永久代理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# ====== Proxy Helper ======

# 定义代理地址变量
PROXY_ADDR="http://127.0.0.1:7897"

# 启用代理
alias proxyon='export http_proxy="$PROXY_ADDR"; export https_proxy="$PROXY_ADDR"; echo "✅ Proxy ON ($http_proxy)"'

# 关闭代理
alias proxyoff='unset http_proxy; unset https_proxy; echo "❎ Proxy OFF"'

# 检查当前代理状态
alias checkproxy='echo "Current proxy: http=$http_proxy, https=$https_proxy"; curl -s https://ipinfo.io/ip || echo "⚠️ Unable to reach ipinfo.io"'

# ===== Proxy Auto Open =====
export http_proxy="$PROXY_ADDR"
export https_proxy="$PROXY_ADDR"

echo "🌐 Proxy active: $http_proxy"
# ===== End =====

修改立即生效

1
source ~/.bashrc

自动代理效果

每次打开新的 Git Bash终端,都会打印

1
🌐 Proxy active: http://127.0.0.1:7897

这表示 .bashrc 已在每次启动时执行且代理已经生效

通过预定义的快捷命令自由切换代理开关状态

1
2
3
proxyoff   # 启用代理
proxyon # 关闭代理
checkproxy # 检查当前代理状态