将 v2rayN 核心封装为 Windows 系统后台服务:实现开机不进桌面静默自动运行

一、摆脱“桌面依赖”的网关诉求

很多技术极客和家庭网络爱好者,手头都有一台闲置的低功耗工控机、NUC 迷你主机或旧笔记本。

大家都希望把这台电脑作为局域网里 24 小时开机的旁路由或代理服务器,让同局域网里的其他设备(如电视盒子、手机、Switch)免安装客户端直接享受代理。

但常规的 v2rayN 部署方式面临一个极其致命的限制:

v2rayN 本质上是一个依赖 Windows 桌面环境的 GUI(图形用户界面)前端应用程序。

每次这台主机意外断电重启、或者触发了 Windows 自动更新重启后,它会停留在用户登录密码输入框;

如果没有人去物理敲打键盘、输入开机密码正式登入桌面,v2rayN 就绝对不会启动!整屋局域网的代理服务直接跟着瘫痪。

要打造一台真正合格的无人值守网关,就必须打破“必须进桌面”的桎梏,直接利用 Windows Service(系统原生服务) 机制,让底层代理内核在系统内核加载完毕的第一时间,在黑屏后台自主拉起。

二、NSSM(最佳服务封装工具)的降维打击

将普通的控制台程序封装为标准系统服务,业界公认最稳定、最轻量的开源工具是 NSSM (Non-Sucking Service Manager)。

它体积只有几百 KB,能够把任何命令行工具(如 `xray.exe` 或 `sing-box.exe`)包装成一个完全遵循 Windows SCM(服务控制管理器)规范的正规后台服务,还自带进程崩溃瞬间毫秒级自动拉起守护。

三、四步完成脱离 UI 的无头服务封装

第一步:准备 Xray 核心与纯净配置文件

打开平时正常使用的 v2rayN 目录,选中并调试好一个完全通畅的节点。

找到 v2rayN 安装根目录下的 `guiConfigs` 文件夹,复制当前正在生效的配置文件模板(例如 `config.json`)。

在电脑的固定系统盘根目录下,创建一个干净的独立部署目录,例如:

`C:/XrayService/`

将 v2rayN 根目录 `bin/Xray/` 下的 `xray.exe`,以及调试好的 `config.json`,完整复制到 `C:/XrayService/` 中。

第二步:获取并部署 NSSM 实用工具

访问 NSSM 官方或知名开源镜像,下载最新版的 Windows 64 位版本(`nssm.exe`)。

NSSM服务管理器配置Xray核心为Windows系统后台原生自启服务

将 `nssm.exe` 复制存放到 `C:/XrayService/` 目录下。

第三步:通过命令行唤出服务安装向导

按 `Win + S` 搜索 `cmd`,右键选择 「以管理员身份运行」。

依次键入以下命令进入工作目录并启动安装向导:

```cmd

cd /d C:/XrayService

nssm install XrayGatewayService

```

屏幕上会立刻弹出一个清晰小巧的 NSSM 图形配置窗口:

  • Path(应用程序路径):点击浏览,选中 `C:/XrayService/xray.exe`;
  • Startup directory(工作目录):填入 `C:/XrayService`;
  • Arguments(启动参数):填入核心启动指令:

```text

-config C:/XrayService/config.json

```

切换到「Details」选项卡:

  • Display name(显示名称):填入 `Xray Core Gateway Service`;
  • Startup type(启动类型):选择 Automatic(自动);

切换到「Restart」选项卡:

  • 确认“Delay between restart attempts”保持默认,开启自动崩溃守护。

点击左下角的 「Install service」 按钮,系统提示服务注册成功。

第四步:启动服务与无人值守开机验证

在同一管理员终端中,直接运行启动指令:

```cmd

net start XrayGatewayService

```

终端回显:“Xray Gateway Service 服务已经启动成功。”

断网与断电硬重启测试:

拔掉这台电脑的显示器、键盘和鼠标,直接按下电源键强行断电关机,再重新按电源键通电开机。

电脑甚至不需要进入 Windows 密码登录界面,在通电开机的第 10 秒,同局域网的其他设备就已经能正常通过该主机的局域网 IP 端口享受到极速网络加速,真正实现工业级 7x24 小时无人值守。