我不教翻墙,本文只是简单讲解技术原因,仅供学习,请大家遵纪守法。
很多人的浏览器或其他软件已经可以正常访问受限网络,但是酒馆、git 命令、gemini cli、gemini antigravity、及其 2api 项目却仍然无法连接。
这是因为普通的代理模式(http、socks5)只适合看网页等轻度使用,无法接管很多终端程序。我们的酒馆等相关应用都是普通代理模式管不了的。
要让终端走代理,有两种主要方法:
- 代理软件开启
tun模式。 - 为终端或应用手动配置代理信息。
一、 开启 TUN 模式 (推荐)
开启 tun 模式比较简单,在自己使用的代理工具里找到相关选项,打开就行了。至于自己手搓的就不讲了,会自己搓 yaml 的也不会看这个文章吧。


开启后,我在酒馆里直连 gemini api key,发了一条消息,可以看到网络连接走的是 tun 而不是 http。

二、 手动配置代理
1. 通过咕咕助手配置
首先要知道你代理工具使用的端口,比如图中是混合端口 7890,就是不管 HTTP 还是 SOCKS 共用 7890 端口,找到混合端口或 HTTP 端口就可以。

咕咕助手有一个 配置网络代理 的选项,这个功能就是让咕咕助手打开的应用走代理,必须输入正确的 HTTP 端口才能正常使用。
注意:如果输入了错误端口,或者配置完没开代理软件,那会导致咕咕助手无法联网。要恢复正常联网,要么清除咕咕助手代理配置走直连或 TUN 模式,要么配置正确端口的代理。

2. 在终端手动配置 (临时)
如果不用咕咕助手,可以进终端手动配置。这些都是一次性的配置,关闭终端后就失效了,每次打开新的终端都需要重新输入一遍。请将 7890 换成你自己的端口。
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
Termux
export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
三、 在应用配置文件中设置代理(以酒馆为例)
另外很多项目是支持在配置文件里配置代理的,比如酒馆可以在 config.yaml 文件找到代理配置 requestProxy:

只要把 enabled 改成 true,然后在 url 里填写自己端口号的 http 或 socks5 代理地址就可以了,比如 http://127.0.0.1:7890。
填完如图:

酒馆启动时如果能看到自己填写的代理信息,就代表配置成功了。

这样配置后,我发了一条消息可以看到连接类型是 https,这和 tun 模式就不同了,因为我们让酒馆走了 http 代理。

喜欢的话,留下你的评论吧~