From 7392165189df0c294b6b0dde1f737b3a2bfdc5a1 Mon Sep 17 00:00:00 2001 From: xboard Date: Sun, 19 Nov 2023 15:18:32 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E4=BF=AE=E6=94=B9=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v2b_1.7.3迁移指南.md | 0 .../v2b_1.7.4迁移指南.md | 0 v2b_dev迁移指南.md => docs/v2b_dev迁移指南.md | 0 .../v2b_wyx2685迁移指南.md | 0 docs/在线设备数限制构思.md | 59 +++++++++++++++++++ readme.md | 6 +- 6 files changed, 62 insertions(+), 3 deletions(-) rename v2b_1.7.3迁移指南.md => docs/v2b_1.7.3迁移指南.md (100%) rename v2b_1.7.4迁移指南.md => docs/v2b_1.7.4迁移指南.md (100%) rename v2b_dev迁移指南.md => docs/v2b_dev迁移指南.md (100%) rename v2b_wyx2685迁移指南.md => docs/v2b_wyx2685迁移指南.md (100%) create mode 100644 docs/在线设备数限制构思.md diff --git a/v2b_1.7.3迁移指南.md b/docs/v2b_1.7.3迁移指南.md similarity index 100% rename from v2b_1.7.3迁移指南.md rename to docs/v2b_1.7.3迁移指南.md diff --git a/v2b_1.7.4迁移指南.md b/docs/v2b_1.7.4迁移指南.md similarity index 100% rename from v2b_1.7.4迁移指南.md rename to docs/v2b_1.7.4迁移指南.md diff --git a/v2b_dev迁移指南.md b/docs/v2b_dev迁移指南.md similarity index 100% rename from v2b_dev迁移指南.md rename to docs/v2b_dev迁移指南.md diff --git a/v2b_wyx2685迁移指南.md b/docs/v2b_wyx2685迁移指南.md similarity index 100% rename from v2b_wyx2685迁移指南.md rename to docs/v2b_wyx2685迁移指南.md diff --git a/docs/在线设备数限制构思.md b/docs/在线设备数限制构思.md new file mode 100644 index 0000000..ce39d38 --- /dev/null +++ b/docs/在线设备数限制构思.md @@ -0,0 +1,59 @@ +# 在线设备数限制 +1. 在订阅上添加客户端连接数限制 +2. 用户订阅的时候将客户端限制附加到用户表字段上 +3. 后端获取用户信息的时候增加客户端显示字段显示 +4. 获取在线用户IP,判断是否达到了限制数量,当达到了限制IP数量拒绝新的IP连接 , 当有新的IP连接的时候立刻上报到xboard后端 +5. 上报用户流量时附带IP + + +#### xboard 需要增加接口 +1. 获取节点用户列表 +``` +{ + "id": 1, + "uuid":"cd692137-3f7b-47fb-b7a3-037a203d6489", + "speed_limit": null, + "device_limit": 10, + "online_ips": ['1.1.1.1', '2.2.2.2'] +} +``` +2. 后端上报新的在线用户IP (后端获取到在线数量没达到用户在线限制才会上报) +``` +{ + "id": 1, + "new_online_ip": "3.3.3.3" +} +``` +上报成功返回 ```{ "data":true }``` +当达到用户在线数量限制就返回,面板的在线用户的IPs +``` +{ + "data": ['1.1.1.1','2.2.2.2','3.3.3.3','4.4.4.4','5.5.5.5'] +} +``` +3. 后端上报用户流量(IP,ID,流量,三要素) +``` +{ + "id":1, + "u": 100, + "d": 100, + "ip": "1.1.1.1" +} +``` + +#### 安全设计 +1、为了不泄漏用户的在线IP, ip使用Hash加密处理, 后端有用户连接时,对用户的连接IP使用 hash验证 + +#### 界面反馈 +##### 后台界面 +- 在订阅界面增加用户设备限制 +- 编辑用户时增加用户设备限制 +- 在用户列表显示在线用户量 +- 在订阅列表显示当前订阅在线用户、IP数量 +- 在节点页面显示在线用户数量和IP数 +##### 用户前端 +- 首页增加在线链接设备数(旁边增加重置订阅按钮) + +#### 后续性能优化 +- 后端上报用户流量使用 brotli压缩,减少体积 +- 后端上报新的用户IP接口使用websocet或者grpc \ No newline at end of file diff --git a/readme.md b/readme.md index f25b5b5..a326906 100755 --- a/readme.md +++ b/readme.md @@ -130,9 +130,9 @@ docker compose up -d > 如果你需要从其他版本迁移过来,你需要手动配置好 .env之后按照以下引导操作 目前支持迁移的版本 - v2board dev 23/10/27的版本 [点击跳转迁移引导](./v2b_dev迁移指南.md) -- v2board 1.7.4 [点击跳转迁移引导](./v2b_1.7.4迁移指南.md) -- v2board 1.7.3 [点击跳转迁移引导](./v2b_1.7.3迁移指南.md) -- v2board wyx2685 [点击跳转迁移引导](./v2b_wyx2685迁移指南.md) +- v2board 1.7.4 [点击跳转迁移引导](./docs/v2b_1.7.4迁移指南.md) +- v2board 1.7.3 [点击跳转迁移引导](./docs/v2b_1.7.3迁移指南.md) +- v2board wyx2685 [点击跳转迁移引导](./docs/v2b_wyx2685迁移指南.md) ### 宝塔方式(aaPanel) (不推荐,太麻烦了) 1. 安装aaPanel