Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>NetBridge RemoteNew to Visual Studio Code? Get it now.
NetBridge Remote

NetBridge Remote

Aurorix

|
1 install
| (0) | Free
Remote VS Code scoped proxy side for NetBridge with preload, HTTP/SOCKS5/PAC proxy servers, terminal env injection, and child process proxy injection.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

NetBridge Remote 0.0.10

NetBridge Remote 是 NetBridge 的远程端插件,安装在 Remote-SSH 连接后的远程 VS Code 窗口里。它的目标不是代理整台远程服务器,而是尽可能覆盖从 VS Code 这棵进程树发起的网络请求,让 VS Code 插件、AI 助手、集成终端、以及 AI 助手拉起的命令行工具都尽量借用本地电脑的网络出口。

配套的本地端插件是:

aurorix-netbridge-local-0.0.10.vsix

远程端插件是:

aurorix-netbridge-remote-0.0.10.vsix

工作链路

远程 VS Code 插件 / 远程集成终端 / AI 助手拉起的子进程
        ↓
NetBridge Remote
        ↓
远程 localhost HTTP Proxy / SOCKS5 Proxy / PAC
        ↓
VS Code command bridge
        ↓
NetBridge Local
        ↓
本地电脑网络出口
        ↓
外网 AI 服务 / GitHub / npm / pip / 其他网络资源

适用场景

这套方案适合下面这种开发环境:

  • 代码在公司内网编译服务器上。
  • 本地 Windows / macOS / Linux 电脑可以访问外网。
  • 通过 VS Code Remote-SSH 连接编译服务器写代码。
  • 远程服务器本身不能直接访问外网,导致 Copilot、Cline、Codex、Continue、npm、pip、git 等工具联网失败。
  • 希望只影响 VS Code 相关操作,不想改远程服务器的全局网络、iptables、路由表或系统代理。

默认开启的能力

0.0.5 默认“全亮”启用以下能力。

1. 启动级 preload 自动安装

远程插件激活时,会自动把启动注入写入远程 VS Code Server:

~/.vscode-server/server-env-setup
~/.netbridge/preload.cjs

核心机制是:

NODE_OPTIONS=--require ~/.netbridge/preload.cjs

这样新的 VS Code Extension Host 启动时,会在普通插件加载前先加载 NetBridge preload。

正常情况下不需要手动执行 NetBridge Remote: Install Startup Preload。这个命令保留为修复用。

2. VS Code 插件内部网络拦截

preload 会尽量提前 patch 常见 Node 网络 API:

fetch
http
https
node:http
node:https
undici.fetch
undici.request
undici.stream

因此,如果 AI 插件在 VS Code Extension Host 内部直接发 HTTP/HTTPS 请求,这些请求会被转给本地端插件出网。

3. 远程 HTTP/HTTPS 代理

远程端会自动启动一个只监听 localhost 的 HTTP 代理,支持:

HTTP 普通请求
HTTPS CONNECT 隧道

端口默认高位随机分配,并写入:

~/.netbridge/ports.json

这个代理用于 VS Code 集成终端里的常见工具,例如:

curl
git
npm
pnpm
yarn
pip
python requests
node
Go 工具链
Cargo 部分场景

4. 远程 SOCKS5 代理

远程端会自动启动 SOCKS5 代理,并为终端注入:

ALL_PROXY=socks5h://127.0.0.1:<socksPort>

注意这里使用的是 socks5h,不是普通 socks5。

区别:

socks5   :可能由远程服务器解析 DNS
socks5h  :域名交给代理出口侧解析,也就是本地电脑侧解析

在远程服务器外网 DNS 不通时,socks5h 更可靠。

5. PAC 服务

远程端会自动启动 PAC 服务:

http://127.0.0.1:<pacPort>/proxy.pac

PAC 内容会优先返回 HTTP Proxy,再返回 SOCKS5,最后 DIRECT。部分支持 PAC 的工具或嵌入式浏览器可使用它。

6. VS Code 新终端自动注入代理环境变量

插件通过 VS Code 的 environmentVariableCollection 给新开的集成终端自动注入代理变量。

典型变量如下:

HTTP_PROXY=http://127.0.0.1:<httpPort>
HTTPS_PROXY=http://127.0.0.1:<httpPort>
http_proxy=http://127.0.0.1:<httpPort>
https_proxy=http://127.0.0.1:<httpPort>

ALL_PROXY=socks5h://127.0.0.1:<socksPort>
all_proxy=socks5h://127.0.0.1:<socksPort>

npm_config_proxy=http://127.0.0.1:<httpPort>
npm_config_https_proxy=http://127.0.0.1:<httpPort>
CARGO_HTTP_PROXY=http://127.0.0.1:<httpPort>

NO_PROXY=localhost,127.0.0.1,::1
no_proxy=localhost,127.0.0.1,::1

注意:已经打开的终端不会自动获得新环境变量。请关闭旧终端并新开一个。

7. AI 插件拉起的子进程自动注入代理

0.0.5 会 patch:

child_process.spawn
child_process.exec
child_process.execFile
child_process.fork

如果 AI 插件从 VS Code Extension Host 里启动 CLI、curl、python、node、git、npm 等命令,这些子进程会自动继承 NetBridge 代理环境。

这对 Codex、Cline、Continue 这类“插件界面 + 外部 CLI/子进程”的结构尤其重要。

安装步骤

1. 本地端安装

在本地 VS Code 安装:

aurorix-netbridge-local-0.0.10.vsix

本地端负责真正出网,必须安装在本地 VS Code UI 侧。

2. 远程端安装

通过 Remote-SSH 连接远程主机后,在远程窗口安装:

aurorix-netbridge-remote-0.0.10.vsix

远程端负责拦截远程 VS Code 插件请求,并在远程 localhost 上启动 HTTP/SOCKS/PAC 代理入口。

3. 首次安装后重连一次远程窗口

首次安装后建议执行一次:

Remote-SSH: Kill VS Code Server on Host...

然后重新连接。

原因是启动级 preload 必须在新的 Extension Host 进程启动时加载。插件会自动安装 preload,但无法让已经启动的进程“回到启动前”。

后续正常使用不需要重复执行安装命令。

验证方式

查看代理状态

在命令面板执行:

NetBridge Remote: Proxy Status

可以看到当前 HTTP、SOCKS5、PAC 地址。

测试 VS Code 终端联网

新开一个远程 VS Code 终端,执行:

env | grep -i proxy
curl -I https://github.com --connect-timeout 10

如果看到代理环境变量,并且 curl 返回 HTTP 响应头,说明终端代理已生效。

测试显式 HTTP 代理

source ~/.netbridge/proxy-env.sh
curl -x "$HTTP_PROXY" -I https://github.com --connect-timeout 10

测试 SOCKS5

source ~/.netbridge/proxy-env.sh
curl --socks5-hostname 127.0.0.1:$(node -e "console.log(require(require('os').homedir() + '/.netbridge/ports.json').socksProxy)") -I https://github.com --connect-timeout 10

Codex / 独立 CLI 类插件能不能被注入

大概率可以,但要看它的启动路径。

可以覆盖的情况

如果 Codex 插件或类似 AI 插件是在 VS Code 侧边栏里点击按钮后,由 VS Code Extension Host 通过 Node 的 child_process 拉起 CLI,例如:

spawn('codex', ...)
execFile('codex', ...)
exec('codex ...')
fork(...)

那么 0.0.5 会给这个 CLI 自动注入:

HTTP_PROXY
HTTPS_PROXY
ALL_PROXY=socks5h://...
NO_PROXY
npm_config_proxy
npm_config_https_proxy

只要 CLI 或它内部调用的 HTTP 库读取这些标准代理变量,就会走 NetBridge。

CLI 首次下载安装也可能被覆盖

如果插件安装 CLI 时使用的是 Extension Host 内部的 fetch/http/https/undici,会被 preload 拦截。

如果插件安装 CLI 时是通过 child_process 拉起 npm、curl、node 等命令,0.0.5 也会给这些子进程注入代理环境。

需要重启/重连的情况

如果 Codex CLI 或某个 AI CLI 在安装 0.0.5 前已经启动成常驻后台进程,它已经继承不到新环境变量。

处理方式:

  1. 退出该 AI 插件或停止它的后台 CLI。
  2. 重连 VS Code Remote 窗口。
  3. 重新从 VS Code 侧边栏启动该插件。

不能保证覆盖的情况

以下情况纯 VS Code 作用域代理无法保证:

CLI 完全不读取 HTTP_PROXY / HTTPS_PROXY / ALL_PROXY
CLI 是静态二进制并直接 syscall connect
CLI 被 systemd、cron、手工 SSH shell 等 VS Code 之外的进程启动
CLI 自己清空 env 后再联网
CLI 使用非 TCP/HTTP 协议且不支持代理

这种要靠系统级透明代理或 TUN/tun2socks,但那会修改远程系统网络,不属于 NetBridge 0.0.5 默认目标。

配置项

默认配置已经全亮。一般不需要手动改。

代理服务

{
  "netbridge.remote.proxyServer.enabled": true,
  "netbridge.remote.proxyServer.host": "127.0.0.1",
  "netbridge.remote.proxyServer.httpPort": 0,
  "netbridge.remote.proxyServer.socksPort": 0
}

端口为 0 表示随机选择高位端口并持久化。

PAC 服务

{
  "netbridge.remote.pacServer.enabled": true,
  "netbridge.remote.pacServer.port": 0
}

终端环境变量

{
  "netbridge.remote.terminal.autoConfigureEnv": true,
  "netbridge.remote.terminal.noProxy": "localhost,127.0.0.1,::1"
}

子进程代理注入

{
  "netbridge.remote.childProcess.injectProxyEnv": true
}

远端文件说明

~/.netbridge/preload.cjs       启动级 preload 文件
~/.netbridge/ports.json        当前 HTTP/SOCKS/PAC 实际端口
~/.netbridge/proxy-env.sh      可手动 source 的代理环境变量
~/.netbridge/preload.log       preload 日志
~/.vscode-server/server-env-setup  VS Code Server 启动环境注入点

故障排查

1. 终端没有代理变量

关闭旧终端,重新打开一个新终端。

检查:

env | grep -i proxy

2. 插件请求可以走,但终端不走

确认远程代理服务已启动:

NetBridge Remote: Proxy Status

然后新开终端测试:

source ~/.netbridge/proxy-env.sh
curl -I https://github.com --connect-timeout 10

3. AI CLI 还是不能联网

优先判断它是不是安装前已经启动的常驻进程。

处理:

重连远程 VS Code
关闭旧 AI 会话
重新点击侧边栏启动 AI 插件

如果它仍然不走,说明该 CLI 可能不读代理环境变量,或自己清理了环境变量。

4. 端口冲突

0.0.5 会自动随机高位端口并重试。

当前端口查看:

cat ~/.netbridge/ports.json

5. preload 没生效

检查:

cat ~/.vscode-server/server-env-setup
ls -l ~/.netbridge/preload.cjs
cat ~/.netbridge/preload.log

如果缺失,可执行修复命令:

NetBridge Remote: Install Startup Preload

然后重连远程窗口。

安全边界

  • 远程代理默认只监听 127.0.0.1。
  • 不默认暴露到局域网或公网。
  • 不修改远程系统全局网络。
  • 不写 /etc、iptables、路由表。
  • 不默认修改 git/npm/pip 全局配置。
  • 日志应避免记录 Authorization、token、key 等敏感信息。

版本说明

0.0.5

  • 默认全亮启用 HTTP Proxy、SOCKS5 Proxy、PAC。
  • 代理端口高位随机并持久化。
  • 自动安装 startup preload。
  • 自动注入 VS Code 新终端代理环境。
  • 自动为 AI 插件拉起的子进程注入代理环境。
  • preload 阶段也 patch child_process。
  • 保留命令作为排障和修复入口。

Marketplace ID

本版本使用新的 Marketplace 扩展 ID:

Aurorix.aurorix-netbridge-remote

旧的 netbridge.* 或 Aurorix.netbridge-* 包不会自动升级到这个新 ID;如果本机已经装过旧包,建议先卸载旧扩展,再安装本版本。

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft