商品详情
分享
NPS多服务端管理系统 ❮ ❯
❮ ❯
NPS多服务端管理系统
NPS多服务端管理系统
1/2

NPS多服务端管理系统

50.00 /套
-
+
联系信息是查询订单的重要凭证(必填)
微信支付
微信支付
支付宝支付
支付宝支付
商品详情

# NPS 多服务端域名绑定面板 v2.0

一套对接 [ehang-io/nps](https://github.com/ehang-io/nps) 内网穿透服务端的 PHP 管理面板。

## v2.0 更新
- 全新现代化 UI 设计(渐变主题、卡片式布局、响应式侧边栏)
- 后端概览页增加 7 天绑定趋势图表、服务端状态面板
- 所有删除操作支持 AJAX 无刷新 + Toast 提示 + 确认弹窗
- 新增**系统设置**页面(站点名称、前端开关、频率限制、公告、DNS指引)
- 新增**客户端删除**功能
- 前端页面实时表单校验、绑定成功 DNS 指引卡片
- 登录安全加固(5次失败锁定15分钟)
- 操作日志支持 CSV 导出、按时间清理
- 黑名单支持批量添加(逗号分隔)
- 浏览器安装向导自动创建 settings 表

## 功能

### 前端(免登录)
- 仅提供**域名绑定提交**功能
- 选择 NPS 服务端 → 填写客户端ID/域名/协议/内网目标 → 一键绑定
- 实时域名/目标格式校验
- 自动黑名单拦截、频率限制、重复绑定检测
- 绑定成功后显示 DNS 解析指引

### 后端(需登录)
- **概览**:统计卡片 + 7天绑定趋势图 + 服务端状态 + 最近记录
- **NPS 服务端管理**:增删改查、测试连接、AJAX 启用/禁用切换
- **客户端管理**:按服务端查看/新增/删除客户端
- **域名绑定列表**:搜索/筛选/分页,删除并同步 NPS,AJAX 无刷新
- **黑名单**:域名+客户端ID黑名单,子域名通配,批量添加
- **操作日志**:完整记录,CSV 导出,按时间清理
- **系统设置**:站点名称、前端开关、频率限制、公告、DNS指引

## 目录结构

```
nps-multi-panel/
├── config.php              # 配置文件(数据库 + 面板账号)
├── install.sql             # 数据库初始化脚本
├── index.php               # 根入口(跳转前端)
├── .htaccess
├── lib/
│   ├── db.php              # PDO 数据库连接
│   ├── NpsApi.php          # NPS WebAPI 封装(多服务端)
│   ├── bootstrap.php       # 后端会话引导
│   └── functions.php       # 公共函数
├── backend/                # 后端管理(需登录)
│   ├── login.php
│   ├── logout.php
│   ├── index.php           # 概览
│   ├── server_list.php     # NPS服务端管理
│   ├── client_list.php     # 客户端管理
│   ├── bind_list.php       # 域名绑定列表
│   ├── black_list.php      # 黑名单管理
│   ├── bind_log.php        # 操作日志
│   ├── api/
│   │   └── server.php      # 前端获取服务端列表API
│   └── layout/
│       ├── header.php
│       └── footer.php
├── frontend/               # 前端(免登录)
│   ├── index.html          # 域名绑定表单
│   └── submit_bind.php     # 绑定提交接口
└── data/                   # NPS会话cookie存放(需可写)
```

## 部署步骤

### 方式一:浏览器安装向导(推荐)

1. **上传文件**:将整个 `nps-multi-panel` 目录上传到网站根目录,确保 `data/` 目录可写(755)。
2. **运行安装向导**:浏览器访问 `http://你的域名/install.php`
3. **按向导操作**:
   - 第 1 步:环境检测(PHP版本、PDO MySQL、cURL、目录权限)
   - 第 2 步:填写数据库信息 + 设置管理员账号密码,点击"开始安装"
   - 第 3 步:安装完成,自动创建数据库、导入数据表、生成 config.php
4. **删除 install.php**:安装完成后务必删除 `install.php` 文件。
5. **配置 NPS 服务端**:登录后端 → NPS服务端 → 添加服务端,填写 NPS 的 Web 管理地址(如 `http://1.2.3.4:8080`)、账号、密码,点击"测试连接"确认可用。

### 方式二:手动安装

1. **环境要求**:PHP 7.4+ / 8.x(需开启 pdo_mysql、curl 扩展),MySQL 5.7+ / MariaDB 10.3+
2. **创建数据库**:
   ```sql
   CREATE DATABASE nps_panel DEFAULT CHARSET utf8mb4;
   ```
3. **导入数据表**:
   ```bash
   mysql -u root -p nps_panel < install.sql
   ```
4. **修改配置**:编辑 `config.php`,填写数据库密码和面板登录账号密码
5. **上传文件**,确保 `data/` 目录可写

### 访问地址
- 前端域名绑定:`http://你的域名/frontend/index.html`
- 后端管理面板:`http://你的域名/backend/login.php`

## 使用流程

1. 后端添加 NPS 服务端并测试连接
2. 后端"客户端"页面查看/添加客户端,获取客户端 ID
3. 用户访问前端页面,选择服务端、填写客户端ID和域名,提交绑定
4. 后端"域名绑定"页面查看所有绑定记录,可删除
5. 后端"黑名单"页面添加禁止绑定的域名或客户端
6. 后端"操作日志"查看所有操作记录

## 安全建议

- 部署后立即修改 `config.php` 中的面板密码
- 后端目录建议加 IP 白名单或 Basic Auth 二次保护
- `data/` 目录已通过 .htaccess 禁止 Web 访问,Nginx 用户需手动配置
- 前端提交有频率限制(默认 3 秒/IP),可在 config.php 调整
- 生产环境建议使用 HTTPS

## NPS 接口说明

本面板对接 NPS 官方 WebAPI(beego 自动路由):
- `POST /login/verify` — 登录获取会话
- `POST /client/list` — 客户端列表
- `POST /client/add` — 新增客户端
- `POST /index/hostlist` — 域名绑定列表
- `POST /index/addhost` — 新增域名绑定
- `POST /index/delhost` — 删除域名绑定

会话过期自动重新登录。



× ❮ ❯ 1 / 1
买家帮助