跳到正文

Codex 桌面端不开全局代理怎么用:只给它设代理

只给 Codex 进程设 HTTPS_PROXY,重启后检查出口。

Codex 会读哪些变量

Codex 会读哪些变量
项目用在哪说明
HTTPS_PROXY先用于 HTTPS 请求,其次是安全 WebSocket主要设置它,用 http:// 开头的地址
HTTP_PROXY排在 HTTPS_PROXY 之后,用于安全 WebSocket设成同一个值
ALL_PROXY两者的后备上面两个设了就可以不设
NO_PROXY不走代理的主机写 localhost,127.0.0.1

来源:Codex 源码(outbound_proxy.rs),2026 年 11 月 13 日读取。同一份代码把 socks、socks4、socks5 地址标为不支持。

为什么不需要全局代理

环境变量只对带着它启动的程序有效。浏览器、包管理器和其他应用仍走你原来的网络。重点就在这里:代理属于 Codex,而不是整台电脑。

Codex 源码里写到,启用系统代理探测时会先试系统代理,环境变量是后备。如果你没有配置系统代理,起作用的就是这些变量。

macOS:带着变量启动应用

export HTTPS_PROXY="http://LOGIN:PASSWORD@HOST:2222"
export HTTP_PROXY="$HTTPS_PROXY"
export NO_PROXY="localhost,127.0.0.1"

# 先完全退出应用,再从同一个终端窗口启动
open -a "APP NAME" --env HTTPS_PROXY --env HTTP_PROXY --env NO_PROXY

仅为示例。LOGIN、PASSWORD、HOST 换成“我的资产”里的值,APP NAME 换成“应用程序”文件夹里该应用的名字。

为什么要从终端启动

从程序坞或访达打开的应用,读不到你在终端里 export 的变量。macOS 的 open 命令有 --env 选项,可以把变量加进它启动的应用的环境里,所以用 open 启动 Codex,代理只给它,不动系统其他部分。

如果应用已经在运行,先完全退出。运行中的应用保留的是它启动时的环境。

Windows:设置用户变量

setx HTTPS_PROXY "http://LOGIN:PASSWORD@HOST:2222"
setx HTTP_PROXY "http://LOGIN:PASSWORD@HOST:2222"
setx NO_PROXY "localhost,127.0.0.1"

仅为示例。LOGIN、PASSWORD、HOST 请替换。这是用户变量,之后启动的程序都能看到。

Windows:要完全重启应用

setx 把变量写入注册表,只对之后新启动的程序生效,已经打开的窗口不会生效。请彻底关闭 Codex(看一下系统托盘和任务管理器)再打开;还是读不到的话,注销 Windows 后重新登录。

这些变量对之后启动的所有程序可见,但只有 Codex 和会读这些变量的工具才会用。以后要取消,到系统环境变量设置里删掉这三个变量即可。

VS Code 扩展

扩展运行在 VS Code 里,而 VS Code 会把自己的环境传给它启动的进程。所以要在 VS Code 启动之前设好变量:macOS 和 Linux 在已经 export 的终端里运行 code .,Windows 用 setx 然后重启 VS Code。

如果是 VS Code 打开之后才设的变量,完全退出 VS Code 再打开。

如果你的 IP 是 SOCKS5

Codex 不接受 socks5 地址。Proxy302 的静态 IP 每个只带一种协议,按 IP 租用的也能用另一种协议的端口连接,所以最简单的办法是用 2222 端口的 HTTP 地址,账号密码不变。

想继续用 SOCKS5 地址的话,在自己电脑上跑一个本地转发,把它的 http://127.0.0.1 地址交给 Codex。命令见下面这篇。

本地转发示例

gost -L http://127.0.0.1:8080 -F socks5://LOGIN:PASSWORD@HOST:3333

# 然后在启动 Codex 的终端或变量里设置:
HTTPS_PROXY=http://127.0.0.1:8080

仅为示例。转发只监听 127.0.0.1,HOST、LOGIN、PASSWORD 请替换。

配合 Proxy302 的 IP 设置

  1. 第 1 步

    买一个 HTTP 协议的静态 ISP IP,国家选和你账号一致的。打开“我的资产”,复制主机、端口、用户名、密码。

  2. 第 2 步

    把它们写进 HTTPS_PROXY:http://LOGIN:PASSWORD@HOST:2222。密码里有 @ 或 : 的,要做百分号编码(@ 写成 %40)。

  3. 第 3 步

    完全退出 Codex,按上面 macOS 或 Windows 的方法带着变量重新启动。

  4. 第 4 步

    在同一个终端运行下面的检查,国家应该是你买的那个。

    预期结果 ipinfo.io 显示的是代理的 IP,不是你自己的。

检查出口

curl -x "$HTTPS_PROXY" https://ipinfo.io/json

仅为示例。它能证明代理地址和账号可用;然后看 Codex 是否不再反复重连。

代理改变不了什么

代理改变的是服务看到的网络地址,改变不了 OpenAI 支持哪些国家。OpenAI 的支持国家页面写明,在列表之外的国家和地区访问服务,账号可能被封禁或停用。请使用名单内国家的 IP,并且和你实际所在地一致。

Codex 还是没走代理时

应用一直在重连

检查 Codex 是不是在变量设好之后才启动的?地址是 http:// 开头的吗?

处理 完全退出后从终端重新启动;把 socks5:// 地址换成 HTTP 的。

407 Proxy Authentication Required

检查 用户名或密码不对,或者带特殊字符。

处理 从“我的资产”重新复制,并对 URL 里的 @ 和 : 做百分号编码。

curl 检查通过,应用却不行

检查 应用可能是在变量存在之前启动的。

处理 关掉所有 Codex 窗口和进程,再带着变量启动。

停止条件 curl 也失败,说明问题在 IP 或租期,把订单号发给客服。

常见问题

Codex 有可以直接填的代理设置吗?

它的源码从环境变量读取代理,所以本文用的就是这个办法。

Codex 能用 SOCKS5 代理吗?

不能。Codex 源码把 socks、socks4、socks5 地址标为不支持,请用 HTTP 地址。

这些变量会影响我的其他程序吗?

只影响带着它们启动、并且会读代理变量的程序。你的浏览器和其他应用不受影响。

为什么必须退出 Codex 再重启?

运行中的程序保留启动时的环境,后来设的变量不会被读到。

Codex 用 Proxy302 的哪种 IP?

HTTP 协议的静态 ISP IP:租期内地址不变。国家选和你的账号一致的。

参考资料

6
  1. Codex 源码:outbound_proxy.rs(openai/codex)

    官方文档 · 确认日期:

    2026 年 11 月 13 日读取(main 分支):HTTPS 请求按 HTTPS_PROXY、ALL_PROXY 顺序取;安全 WebSocket 按 HTTPS_PROXY、HTTP_PROXY、ALL_PROXY 取;会读 NO_PROXY;socks、socks4、socks5 协议头被标为不支持;文件头注释写明启用时先尝试系统代理,环境变量作为后备。

  2. macOS open(1) 手册页

    本地示例 · 确认日期:

    2026 年 11 月 13 日读取:open --env 名称=值 会把变量加到被启动应用的环境里。

  3. Microsoft Learn:setx

    官方文档 · 确认日期:

    2026 年 11 月 13 日读取:setx 把变量写入注册表,只对之后新开的命令窗口有效,当前窗口不生效。

  4. OpenAI:支持的国家和地区

    官方文档 · 确认日期:

    2026 年 11 月 13 日读取:在列表之外的国家和地区访问或提供访问,账号可能被封禁或停用。

  5. gost 文档(go-gost/docs)

    官方文档 · 确认日期:

    2026 年 11 月 13 日读取:-L 是本地监听,-F 是下一跳;账号密码以 user:pass@ 写在 URL 里。

  6. Proxy302 产品信息与价目表

    产品观察 · 确认日期:

    站点产品信息,2026 年 11 月 10 日核对:proxy.proxy302.com 的 HTTP 端口 2222、SOCKS5 端口 3333;每个静态 IP 只带一种协议;按 IP 租用的也可用另一种协议的端口连接;租期与价格。

准备好试试了吗?

注册账号、充值一次,就能选动态住宅、静态 ISP 或数据中心 IP,几分钟配进你的浏览器。