0. 需求背景
我的一些代码工程在香港linux服务器上。
我平时会用 vscode 远程连接到这个香港 linux 服务器进行代码开发。
但是由于服务器在香港,无法使用 gemini 和 codex。
不过我还有一个服务器在日本(可以用 gemini 和 codex,但代码一般不在那,不太方便)
需要方案可以借助日本服务器让我每次在香港服开发时也能使用 gemini 和 codex
1. SSH 隧道
在香港服务器上执行
# 在香港服务器上执行
ssh -D 1080 -N -f -q user@your-japan-server-ip
-D 1080: 在香港服务器本地开启1080端口作为 SOCKS5 代理。-N: 不执行远程命令(仅转发端口)。-f: 在后台运行。user@your-japan-server-ip: 你的日本服务器登录信息。
验证: 在香港服务器上运行 curl --socks5 127.0.0.1:1080 https://ipinfo.io,如果返回的是你日本服务器的 IP,说明隧道建立成功。
不过个人尝试让 vscode server 直接用这个隧道依旧无法在香港使用 codex 和 gemini。应该原因是这两个的 vscode 插件对 SOCKS5 的支持极其糟糕。所以需要进一步把 socks 转化为 http
2. Privoxy
最稳妥的办法是在香港服务器上安装一个轻量级工具(Privoxy),把 SSH SOCKS5 隧道转换成 HTTP 代理。Codex/Copilot 对 HTTP 代理的支持是完美的。
2.1 Privoxy 安装
# Ubuntu/Debian 香港服执行
sudo apt update && sudo apt install privoxy -y
2.2 Privoxy 配置
(香港服)修改配置文件 /etc/privoxy/config:
sudo nano /etc/privoxy/config
在文件末尾添加一行(注意末尾的点 .):
# 把流量转发给 SSH 隧道,注意最后有个空格和点
forward-socks5t / 127.0.0.1:1080 .
解释:这告诉 Privoxy,所有流量 (/) 都转发给本地的 1080 SOCKS5 端口。
找到 listen-address 这一行(通常在前面),确保它监听本地端口(默认是 8118):
listen-address 127.0.0.1:8118
2.3 重启 Privoxy
sudo systemctl restart privoxy
3. 修改 vscode 配置

- ctrl + , 打开设置面板
- 选 Remote [SSH:pphk-root] (根据ssh方式不同名字不同)
- 配置 http: Proxy 为 http://127.0.0.1:8118 (对应 Privoxy 的服务)
- Http: Proxy Strict SSL 的勾取消掉
- Http: Proxy Support 设置为 override
关闭 vscode 重新连接则应该可以使用 codex 插件了