NPSNPS
首页
  • 安装与部署
  • 快速开始
  • 运行命令速查
  • 隧道模式
  • 使用示例
  • 使用说明
  • 配置文件
  • 增强功能
  • Docker 部署
  • 参数与安全速查
  • 使用说明
  • 增强功能
  • 配置与启动
  • 配置文件参考
  • SDK
  • 功能概览
  • 域名代理与路由
  • 平台域名与证书诊断
  • 访问控制与配额
  • 运行说明
  • 配置示例
  • API 鉴权
  • API 清单
  • 用户体系
  • FAQ
  • 升级迁移
  • 本项目更新日志
  • 上游更新日志
GitHub
首页
  • 安装与部署
  • 快速开始
  • 运行命令速查
  • 隧道模式
  • 使用示例
  • 使用说明
  • 配置文件
  • 增强功能
  • Docker 部署
  • 参数与安全速查
  • 使用说明
  • 增强功能
  • 配置与启动
  • 配置文件参考
  • SDK
  • 功能概览
  • 域名代理与路由
  • 平台域名与证书诊断
  • 访问控制与配额
  • 运行说明
  • 配置示例
  • API 鉴权
  • API 清单
  • 用户体系
  • FAQ
  • 升级迁移
  • 本项目更新日志
  • 上游更新日志
GitHub
  • 文档首页
  • 快速上手

    • 安装与部署
    • 快速开始
    • 运行命令速查
    • 完整部署参考
    • 隧道模式
    • 使用示例
  • 服务端

    • 服务端使用
    • 配置文件参考
    • 服务端增强功能
    • 服务端介绍
    • 部署安全与参数速查
    • Docker 部署
    • 宝塔面板部署
  • 客户端

    • 客户端使用
    • 客户端增强功能
    • NPC SDK
    • 客户端配置与启动
    • 配置文件参考
    • NPC GUI 客户端
  • 扩展功能

    • 功能概览
    • 域名代理与路由
    • 平台域名与证书诊断
    • 访问控制与配额
    • 运行说明
    • Web API 鉴权
    • Web API 清单
    • 使用示例
  • 项目与社区

    • 用户体系
    • 系统架构
    • 升级迁移
    • 构建发布
    • 本项目更新日志
    • 上游更新日志
    • FAQ
    • 贡献
    • 交流
    • 捐助
    • 致谢

系统架构

NPS 由服务端 nps、内网客户端 npc 和可选的 NPC GUI 组成。服务端负责公网监听、认证、隧道调度和 Web 管理;客户端负责连接服务端并访问内网目标。

组件关系

公网访问者
    |
    +--> NPS Web 管理面板 :8081
    +--> NPS 代理入口      :80/:443/隧道端口
                              |
                         Bridge :8024/:8025
                              |
                         NPC 内网客户端
                              |
                         内网目标服务

Bridge 连接类型

客户端建立 Bridge 连接后,先发送版本和 VerifyKey 完成认证,再按连接类型进入对应的数据通道:

类型用途
main控制连接、心跳、UDP 协商、客户端局域网地址上报
chan普通 TCP/UDP/HTTP/SOCKS5 数据通道,使用多路复用
conf客户端配置交换和状态查询
rgst注册或探测客户端地址
sertSecret 私密代理连接
file文件访问通道
p2pmP2P 中继和 NAT 协商

认证失败、握手超时或协议读取异常时,服务端会主动关闭连接。客户端主连接每 5 秒发送心跳;连接中断后会按重连策略重新建立 Bridge。

数据持久化

服务端使用 JSON 文件保存运行配置和管理数据,默认位于 conf/:

文件内容
nps.conf服务端端口、Web、TLS、权限和限制开关
clients.json客户端、VerifyKey、认证、流量和连接限制
tasks.jsonTCP/UDP/代理/文件等隧道任务
hosts.jsonHTTP(S) 域名、路径和证书规则
users.json普通用户、客户端归属和用户级配额

修改 Web 面板中的客户端、隧道或域名后,服务端会更新对应 JSON 数据。升级前应完整备份 conf/ 目录,回滚时也必须恢复同一目录下的配置和数据文件。

请求路径选择

  • TCP、UDP、HTTP 正向代理和 SOCKS5:访问服务端为任务分配的公网端口。
  • HTTP(S) 域名代理:先将域名解析到服务端,再由 Host 和路径规则选择客户端目标。
  • Secret:访问端使用相同密钥启动本地端口,服务端只负责匹配连接。
  • P2P:服务端负责协商,实际直连是否成功取决于双方 NAT 类型和防火墙。
  • 文件访问:服务端端口映射到客户端本地目录,必须限制目录范围和访问来源。

安全边界

Bridge 端口使用 VerifyKey 认证,Web 管理使用 web_username/web_password,HTTP/SOCKS5 代理认证使用客户端的 Basic 认证配置。公网部署建议:

  1. 只开放实际使用的端口。
  2. 为管理面板、代理和客户端设置强密码或密钥。
  3. 对 Web、Bridge 和代理端口配置防火墙、IP 白名单或反向代理限制。
  4. 定期备份 conf/,并保护其中的密钥和证书文件。
在 GitHub 上编辑此页
最后更新: 2026/8/30 14:51
Prev
用户体系
Next
升级迁移