表结构设计以及接口清单
需求:将用户的不同种类的文件 按照配置不同的规则下发到对应的终端
1.表结构设计
用户资源表[resource]
| 字段 | 类型 | 描述 | 备注 | |
|---|
| id | bigint | | | |
| passport_name | varchar | 通行证信息 | | |
| title | varchar | 资源的名称 | | |
| description | varchar | 资源的描述 | | |
| type | int | 资源的类型 | 1:dll,2:exe | |
| file_type | int | 文件类型 | 1:本地文件 2:云端文件 3: 脚本 | |
| file_path | varchar | 本地文件目录 | | |
| file_id | bigint | 文件id | 云端文件对应的id | |
| shell_id | int | 脚本id | | |
用户网吧id和resource关系表 [bar_resource_rel]
| 字段 | 类型 | 描述 | 备注 | |
|---|
| id | bigint | | | |
| passport_name | varchar | 通行证信息 | | |
| bar_id | int | 网吧id | | |
| resource_id | bigint | 资源的id | | |
| create_time | datetime | 创建时间 | | |
| status | int | 开启状态 | | |
dll资源 策略[dll_strategy]
| 字段 | 类型 | 描述 | 备注 | |
|---|
| id | bigint | | | |
| file_resource_id | bigint | 资源id | 代理商资源表对应的id | |
| loader_type | int | 加载类型 | | |
| hide_dll_flag | int | 隐藏dll开关 | [不隐藏0,隐藏1] | |
| inject_timer | int | 注入时机 | 启动时1,启动后 2 | |
| delayed_injection | int | 延时注入()秒 | 秒数 | |
| begin_ip | varchar | 起始ip | | |
| end_ip | varchar | 结束ip | | |
| fit_os | varchar | 支持系统 | 【1 win7,2 win10,3 win11】 | |
| inject_num | int | 注入次数 | 0 | |
| super_flag | int | 超级状态下执行 | 0:不是超级执行 1:超级执行 | |
| status | int | 策略的启用状态 | 0:不启用 1:启用 | |
| update_time | datetime | 更新时间 | | |
| create_time | datetime | 创建时间 | | |
Dll 注入对象 表[dll_obj]
| 字段 | 类型 | 描述 | 备注 | |
|---|
| id | bigint | | | |
| strategy_id | bigint | Dll 策略id | | |
| parent_progress | varchar | 父进程信息 | | |
| parent_progress_key | varchar | 父进程key | | |
| subprogress | varchar | 子进程信息 | | |
| subprogress_key | varchar | 子进程key | | |
| match_subprogress_flag | int | 是否匹配子进程 | 0:不匹配1:匹配 | |
| match_subprogress_level | int | 匹配子进程层级 | | |
通道资源 策略[exe_strategy]
| 字段 | 类型 | 描述 | 备注 | |
|---|
| id | bigint | | | |
| file_resource_id | bigint | 资源id | 代理商资源表对应的id | |
| execute_time | varchar | 执行时间 | 【0,1,2】 类似这样的数组 | |
| show_flag | int | 运行界面开关 | [0:不显示 1:显示] | |
| begin_ip | varchar | 起始ip | | |
| end_ip | varchar | 结束ip | | |
| fit_os | varchar | 支持系统 | 【1 win7,2 win10,3 win11】 | |
| delayed_execute | int | 延时执行多少秒 | 秒数 | |
| super_flag | int | 超级状态下执行 | 0:不是超级执行 1:超级执行 | |
| execute_probability | int | 执行机率· | 100% | |
| status | int | 策略的启用状态 | 0:不启用 1:启用 | |
| update_time | datetime | 更新时间 | | |
| create_time | datetime | 创建时间 | | |
文件表[file]
| 字段 | 类型 | 长度 | 描述 | 备注 | |
|---|
| file_id | bigint | 20 | 文件主键id | | |
| file_code | bigint | 20 | 文件编码,本号升级的依据,解决一个文件多个版本问题,多次上传文件编码不变 | | |
| file_version | int | 11 | 文件版本,从1开始 | | |
| file_status | char | 1 | 当前状态:0-历史版,1-最新版 | | |
| file_location | tinyint | 4 | 文件存储位置:1-阿里云,2-腾讯云,3-minio,4-本地 | | |
| file_bucket | varchar | 255 | 文件仓库(文件夹) | | |
| file_origin_name | varchar | 255 | 文件名称(上传时候的文件全名) | | |
| file_suffix | varchar | 255 | 文件后缀,例如.txt | | |
| file_size_kb | bigint | 20 | 文件大小kb为单位 | | |
| file_size_info | varchar | 255 | 文件大小信息,计算后的 | | |
| file_object_name | varchar | 255 | 存储到bucket中的名称,主键id+.后缀 | | |
| file_path | varchar | 255 | 存储路径 | | |
| secret_flag | char | 1 | 是否为机密文件,Y-是机密,N-不是机密 | | |
| del_flag | char | 1 | 是否删除:Y-被删除,N-未删除 | | |
| create_time | datetime | 0 | 创建时间 | | |
用户shell 表
| 字段 | 类型 | 描述 | 备注 | | |
|---|
| shell_id | bigint | 脚本id | | | |
| content | varchar(2000) | 脚本内容 | | | |
| create_time | datetime | 创建时间 | | | |
dll注入日志表【dll_debug_log】
这个结构,通过公有的方法生成表,生成代码执行存储以及获取开关
| 字段 | 类型 | 描述 | 备注 | | |
|---|
| pid | bigint | 进程id | | | |
| progress_path | varchar | 进程路径 | | | |
| create_time | datetime | 创建时间 | | | |
| exe_result | varchar | 执行结果 | | | |
通道执行日志表【exe_debug_log】
| 字段 | 类型 | 描述 | 备注 | | |
|---|
| exe_id | bigint | 任务id | | | |
| exe_time | datetime | 执行时间 | | | |
| create_time | datetime | 创建时间 | | | |
| exe_result | varchar | 执行结果 | | | |
2.Web 接口清单:
1.dll注入
1.分页查询通行证设置的的dll 清单
2.新增dll /更新dll
3.批量删除dll
4.批量启用/停用dll
5.查询单个dll 注入的对象列表
2.开机通道
1.分页查询通行证设置的的任务开机通道 按照分类:【脚本/文件】
2.新增 开解通道/更新 开解通道
3.批量删除 开解通道
4.批量启用/停用 开解通道
5.查询单个 开解通道注入的对象列表
3.网吧管理页面新增的接口
1.查询网吧id 配置过的dll 插件清单
2..查询网吧id 配置过的通道清单
3.控制dll注入 或者 通道对单个网吧的启用禁用接口
4.设置网吧的通道开关
4.公共功能
-
1.关联资源和网吧id的关系
-
1.将资源应用到安全组
-
2.将资源应用到网吧
-
3.文件管理接口
-
1.上传文件
-
2.编辑文件信息
-
3.删除文件
-
4.分页查询用户已上传文件清单
3.vc端接口清单
1.根据客户端的环境信息来查询配置的dll注入清单
2.根据客户端的环境信息来查询配置的通道策略清单
3.上报dll注入调试日志
4.上报任务执行日志