多平台部署 NPS/NPC,以系统服务方式实现内网穿透
服务端 nps 安装为系统服务,客户端 npc 反向连接,多平台客户端覆盖路由器与手机场景
方案简介
本配方为 djylb/nps(原版 ehang-io/nps 停更后的社区二次开发版本)的脚本化部署方案:在服务端通过 install.sh 或 install.ps1 将 NPS 安装为系统服务,在客户端通过相同方式安装 NPC,实现 Linux、Windows、Android、OpenWrt 多平台的内网穿透部署。NPS 提供多协议转发与 Web 管理界面,NPC 连接服务器建立隧道,适合希望以系统服务长期稳定运行内网穿透的用户。
亮点与能力
- 多协议支持:TCP/UDP、HTTP/HTTPS 转发、HTTP/SOCKS5 代理、P2P、Proxy Protocol、HTTP/3
- 跨平台:Linux、Windows 可安装为系统服务,另有 Android 客户端 npsclient 与 OpenWrt 插件 nps-openwrt
- Web 管理界面实时监控流量、连接情况与客户端状态
- 内置加密传输、流量限制、到期限制、证书管理续签
- 支持 TCP、KCP、TLS、QUIC、WS、WSS 连接协议
- 客户端支持同时连接多个服务器
- 内置 update 命令便捷更新
组成与分工
- NPS:服务端,多协议内网穿透代理服务器,提供 Web 管理
- NPC:客户端,连接 NPS 服务端建立隧道,支持多服务器连接
- npsclient(djylb/npsclient):Android 平台客户端
- nps-openwrt(djylb/nps-openwrt):OpenWrt 平台支持
- install.sh / install.ps1:Linux 与 Windows 的一键安装脚本
前置要求
实施步骤
1. Linux 安装服务端
默认配置路径:/etc/nps/;二进制文件路径:/usr/bin/
bash
wget -qO- https://fastly.jsdelivr.net/gh/djylb/nps@master/install.sh | sudo sh -s nps
nps install
nps start|stop|restart|uninstall
首次安装后请先编辑 /etc/nps/nps.conf,确认配置无误后再执行 nps start。
2. Windows 安装服务端
powershell
.\install.ps1 nps
.\nps.exe install
.\nps.exe start|stop|restart|uninstall
3. Linux 安装客户端
bash
wget -qO- https://fastly.jsdelivr.net/gh/djylb/nps@master/install.sh | sudo sh -s npc
/usr/bin/npc install -server=xxx:123,yyy:456 -vkey=xxx,yyy -type=tls -log=off
npc start|stop|restart|uninstall
npc install 命令中的参数请以 NPS Web 管理端客户端页面生成的命令为准。
4. Windows 安装客户端
powershell
.\install.ps1 npc
.\npc.exe install -server="xxx:123,yyy:456" -vkey="xxx,yyy" -type="tls,tcp" -log="off"
.\npc.exe start|stop|restart|uninstall
使用与配置要点
- 更新服务端(Linux):
nps update && nps restart - 更新服务端(Windows):
nps.exe stop→nps-update.exe update→nps.exe start - 更新客户端(Linux):
npc update && npc restart - 更新客户端(Windows):
npc.exe stop→npc-update.exe update→npc.exe start - 客户端多服务器连接示例:
npc -server=xxx:123,yyy:456,zzz:789 -vkey=key1,key2,key3 -type=tcp,tls,xxx:123使用 tcp,yyy:456和zzz:789使用 tls - 接入 v0.35.0 管理控制面可从「节点管理与平台对接」和「管理接口说明」文档开始
注意事项与常见问题
- 首次安装后必须先编辑
/etc/nps/nps.conf确认配置无误再启动 - Windows 7 / 8 / 8.1 用户请使用 old 结尾版本
- 客户端参数以 Web 管理端生成命令为准
- 连接旧版本服务器需添加
-proto_version=0 - 由于 GitHub 限制浏览器语言为中文访问 *.githubusercontent.com,图标可能无法正常显示
优缺点
- ✓ 跨平台覆盖广,含 OpenWrt 与 A
- ✓ 安装脚本一键部署为系统服务
- ✕ Windows 7/8/8.1 需用 o
出处
本方案挖掘自开源项目 djylb/nps,方案内容与实施命令均来自其 README 原文。
本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。