No description
This repository has been archived on 2026-06-16. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • JavaScript 85.6%
  • Java 14%
  • Python 0.2%
  • HTML 0.1%
  • Shell 0.1%
Find a file
maiohao 47a16db7c3 1、任务停止,收到告警信息不入库了。
2、指令状态记录,插入时间以查询到流量回传的当前时间为指令状态日志表的effective_time,而不是查到的流量的开始时间。因为后者有可能导致流量开始时间在上一个下发周期导致频繁往上一个下发周期插入。
2024-10-28 15:51:48 +08:00
docker-doris 1. 更新防护对象和模板的查询,添加更多筛选条件 2024-02-01 09:07:01 +08:00
docker-nginx 1、修改dockerfile网络配置 2024-02-01 12:53:32 +08:00
docker-springboot 1、】 2024-06-09 05:02:32 +08:00
docker-ubuntu 1. 更新前端界面和nginx配置文件 2024-01-25 17:58:58 +08:00
fake_dynamic_test 1、fakecc删去发来掩码 2024-04-29 22:53:35 +08:00
gradle/wrapper 修改gradle-wrapper.jar文件 2024-01-22 23:57:16 +08:00
sql 1、alertmssage入库增加alertmssage的uuid 2024-03-11 16:05:59 +08:00
src 1、任务停止,收到告警信息不入库了。 2024-10-28 15:51:48 +08:00
.gitignore 1. 修复指令协议字段为Null的bug 2024-04-10 15:45:09 +08:00
build.gradle 1、新增com.alibaba:druid依赖 2024-05-29 22:05:17 +08:00
et --hard commit-hash 1、前端20240408更新至gitlab 2024-04-08 20:53:51 +08:00
gradlew 1. 新增AuditStatusValidator类,用以作为审核状态机 2024-01-05 21:42:19 +08:00
gradlew.bat 1. application.yml修改为application-dev.yml和application-prod.yml 2024-01-11 19:49:07 +08:00
load_nginx.sh 1. 前端界面更新,添加部分按钮 2024-01-27 02:34:51 +08:00
load_springboot.sh 1、protocolnum解決 2024-06-09 04:16:06 +08:00
load_springboot_multi.sh 1. 前端界面更新,添加部分按钮 2024-01-27 02:34:51 +08:00
qodana.yaml 1. 修改setDataMap函数为addDataMap以防止swagger将DataMap视为一种属性 2024-01-19 15:09:23 +08:00
README.md ft: 2024-08-29 00:56:46 +08:00
settings.gradle Init Commit 2024-01-02 10:16:15 +08:00

SSFY系统 README

若要直接运行,请使用如下指令:

./gradlew clean && ./gradlew bootRun

项目文件夹结构说明:

目前整体分为两大板块:configurationserver

Configuration

所有业务的配置,包括切面、拦截器、中间件、消息处理等配置全部放置于此处。 任何带@Configuration注解的配置均放置于此

  1. entity文件夹均为下述业务模块的实体类
  2. exception文件夹用于存放自定义类和全局异常处理配置类
  3. response文件夹用于存放返回配置类和审计类
  4. satoken文件夹用于存放用户登录相关配置类
  5. swagger文件夹用于存放swagger文档配置类
  6. threadpool文件夹用于存放线程池配置
  7. utils文件夹用于存放其他类型配置

Server

server主要存放所有的业务逻辑以及Mapper接口。业务逻辑和Mapper需要按照业务进行划分进行分开放置。

目前包含的业务有:

  1. alertmessage告警xx模块处理告警相关信息
  2. command指令模块处理下/发/指令
  3. defense防御模块包括fy对象、fy策略模板两个子模块用于处理fy对象、fy策略模板信息
  4. log日志模块目前无文件
  5. rule规则模块用于处理静态/动态规则
  6. task任务模块用于处理任务相关信息
  7. user用户模块用于处理权限系统对接的用户登录等
  8. whitelist白名单模块用于处理白名单配置

Resources

除了项目文件夹外,还有静态资源resources部分,主要存放configmappers和静态网页资源以及下载文件。

mappers文件夹主要存放所有的Mybatis Mappers以便于MyBatis进行扫描。

config文件夹存放包括

  1. application.yml
  2. application-dev.yml
  3. application-test.yml
  4. application-prod.yml

等文件, 用于进行SpringBoot和MyBatis基础配置以及方便进行配置切换。

nginx文件夹包括了所有的前端界面和Nginx配置其中

  1. nginx.conf用于进行Nginx服务器基础配置关键设置为include /root/nginx/configs/project.conf;
  2. project.conf.template文件是project.conf的模板文件其可以利用环境变量以及envsubst指令生成project.conf文件详细代码位于start_nginx.sh文件)
  3. defense文件夹是前端界面文件夹

Docker相关配置

在docker-ubuntu文件夹中存放的是nginx和springboot的Dockerfile中的protection_ubuntu镜像的制作方法, 如果想要重新制作protection_ubuntu.tar文件请重新运行docker-ubuntu文件夹中的Dockerfile以制作基础ubuntu镜像。可以使用如下指令制作

docker build -t protection_ubuntu .

同时在docker部署之前请执行以下指令以联网获取GRADLE相关资源依赖以便进行断网部署

export set GRADLE_USER_HOME=./gradle
./gradlew build && ./graldew clean

在docker-nginx中存放的是nginx前端服务镜像的制作方法全程理论可以做到断网部署具体制作方法请检查Dockerfile以及start_nginx.sh

在docker-springboot中存放的是springboot后端服务镜像的制作方法全程理论可以做到断网部署具体制作方法请检查Dockerfile以及start_springboot.sh

如果想要制作前后端Docker镜像并开启docker容器请使用load_nginx.shload_springboot.sh两个脚本(load_springboot_multi.sh仅用于测试Nginx服务器负载均衡用

数据库相关配置

目前该项目使用两种数据库Doris和MySQL导入Doris和MySQL表结构可使用如下语句

# 导入Doris数据库以及表结构IP、端口、用户名均需要修改
mysql -u root -h 192.168.107.89 -P 9030 < realtime_protection/sql/doris-2024-1-23.sql -p
# 导入MySQL数据库以及表结构IP、端口、用户名均需要修改
mysql -u root -h 192.168.107.89 -P 3306 < realtime_protection/sql/mysql-2024-1-23.sql -p
# 导入MySQL数据库以及表结构和表中所有数据IP、端口、用户名均需要修改
mysql -u root -h 192.168.107.89 -P 3306 < realtime_protection/sql/mysql-2024-1-23-with-data.sql -p

如果需要导出Doris表结构和MySQL表结构以及数据可使用如下语句

# 导出MySQL表结构和数据
mysqldump -u root -h 192.168.107.89 -P 3306 --databases realtime_protection > mysql-2024-01-23-with-data.sql -p
# 导出MySQL表结构不导出数据
mysqldump -u root -h 192.168.107.89 -P 3306 --databases realtime_protection -no-data > mysql-2024-01-23-without-data.sql -p
# 导出doris表结构
mysqldump -u root -h 192.168.107.89 -P 9030 --databases command --no-tablespaces -no-data > doris-2024-01-23.sql -p