848 字
4 分钟
Windows下Electron程序及其子进程代理设置方案

Windows 下 Electron 程序及其子进程代理设置方案#

有些 Electron 应用需要走代理才能正常工作,但不想修改系统全局设置影响其他程序。通过批处理脚本可以实现单个程序(包括其子进程)的代理隔离。

场景描述#

  • 主程序:F:\HillsLite-v0.4.0\hills_desktop.exe(Electron 应用)
  • 子进程:MPV 播放器
  • 代理地址:127.0.0.1:6(混合 HTTP/SOCKS 代理)
  • 目标:仅该程序及其子进程走代理,不影响系统其他程序

方案一:批处理启动脚本(推荐)#

Windows 的环境变量具有继承性:在批处理中设置的临时变量,会被该批处理启动的程序及其所有子进程继承,但不会影响系统全局。

创建启动脚本#

在程序目录下创建 Start_With_Proxy.bat

Start_With_Proxy.bat
@echo off
:: 设置 HTTP 和 HTTPS 代理
set HTTP_PROXY=http://127.0.0.1:6
set HTTPS_PROXY=http://127.0.0.1:6
:: 设置 ALL_PROXY,这对 MPV/FFmpeg 很重要,通常建议用 socks5
set ALL_PROXY=socks5://127.0.0.1:6
:: 针对 Electron/Chromium 内核的额外保险变量
set NO_PROXY=localhost,127.0.0.1
:: 启动主程序
:: start "" "路径" 用于异步启动,关闭CMD窗口后程序继续运行
start "" "F:\HillsLite-v0.4.0\hills_desktop.exe"
exit

使用方法#

  1. 右键编辑 .bat 文件,修改代理地址和程序路径
  2. 双击运行批处理脚本
  3. Electron 和 MPV 都会继承这些环境变量

方案二:快捷方式参数(仅 Electron)#

Electron 程序支持命令行代理参数,但子进程(MPV)不一定能继承。

  1. 创建程序的快捷方式
  2. 右键 -> 属性 -> “目标”
  3. 在末尾添加参数:
"F:\HillsLite-v0.4.0\hills_desktop.exe" --proxy-server="http://127.0.0.1:6"
限制

这种方法只对 Electron 主程序生效,MPV 子进程是否能继承取决于 Electron 内部实现。

方案三:Proxifier(终极方案)#

如果上述方法都无效,使用 Proxifier 在网络层强制接管。

配置步骤#

  1. 添加代理服务器

    • 地址:127.0.0.1
    • 端口:6
    • 类型:HTTPS 或 SOCKS5
  2. 添加代理规则

    • Applications:hills_desktop.exe; mpv.exe
    • Action:选择刚才添加的代理服务器
    • 确保这条规则在 Default 规则之上
  3. 设置默认直连

    • Default 规则设为 Direct(直连)
    • 这样只有指定程序走代理,其他程序不受影响

方案对比#

方案适用性优点缺点
批处理脚本最佳主进程和子进程都能继承,零成本需要多一个启动文件
快捷方式参数一般干净简洁子进程可能无法继承
Proxifier终极手段强制生效,可监控流量需要安装第三方软件

验证代理是否生效#

方法1:查看环境变量#

在批处理脚本末尾添加:

Terminal window
@echo HTTP_PROXY=%HTTP_PROXY%
@echo HTTPS_PROXY=%HTTPS_PROXY%
pause

方法2:使用代理检测网站#

在程序内访问 https://ip.sbhttps://httpbin.org/ip,查看出口 IP 是否变化。

方法3:查看代理软件日志#

检查代理软件(Clash、V2RayN 等)的连接日志,看是否有该程序的请求记录。

常见问题#

MPV 无法加载视频

  • 尝试将 ALL_PROXY 改为 HTTP 协议:set ALL_PROXY=http://127.0.0.1:6
  • 部分旧版本 MPV/FFmpeg 对 SOCKS5 支持不完善

程序仍然直连

  • 检查是否有其他配置文件覆盖了环境变量
  • 尝试使用 Proxifier 强制代理

影响其他程序

  • 确保批处理脚本中没有使用 setx(这会修改系统环境变量)
  • 只使用 set,这样变量只在当前 CMD 会话生效

参考链接#

Windows下Electron程序及其子进程代理设置方案
https://im.awsl.app/posts/system-ops/050-electron-proxy/
作者
uu
发布于
2026-03-10
许可协议
CC0 1.0