Dhruv0306/Antivirus
GitHub: Dhruv0306/Antivirus
一个遵循 X.800 安全架构的全栈杀毒应用,提供实时文件扫描、威胁检测与隔离管理功能。
Stars: 0 | Forks: 0
# 杀毒软件项目
一个使用 Spring Boot(后端)和 React(前端)构建的全栈杀毒软件应用,提供实时文件扫描、隔离管理和系统防护。
## 🚀 项目概述
本项目实现了一个遵循 X.800 安全架构标准的综合杀毒解决方案,具有以下主要功能:
- 实时文件扫描与监控
- 隔离管理系统
- 系统防护与安全
- 扫描历史追踪与报告
- 用户友好的仪表盘界面
- 文件分析与威胁检测
- 基于数据库的病毒特征库管理
## 🛠️ 技术栈
### 后端
- **框架**:Spring Boot
- **数据库**:H2 Database
- **构建工具**:Maven
- **Java 版本**:17+
- **主要依赖**:
- Spring Web
- Spring Data JPA
- Spring Security
- H2 Database
- Lombok
- JUnit 5
### 前端
- **框架**:React.js
- **状态管理**:React Hooks
- **UI 库**:Material-UI
- **构建工具**:npm/yarn
- **主要依赖**:
- React Router
- Axios
- Material-UI
- React Query
- Jest & React Testing Library
## 📁 项目结构
```
antivirus/
├── src/
│ ├── main/
│ │ ├── java/com/antivirus/
│ │ │ ├── config/ # Configuration classes
│ │ │ ├── controller/ # REST controllers
│ │ │ ├── model/ # Data models
│ │ │ ├── repository/ # JPA repositories
│ │ │ ├── service/ # Business logic
│ │ │ └── util/ # Utility classes
│ │ └── resources/
│ │ ├── application.properties
│ │ └── static/ # Static resources
│ └── test/
│ └── java/com/antivirus/ # Test classes
├── frontend/
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── pages/ # Page components
│ │ ├── services/ # API services
│ │ ├── utils/ # Utility functions
│ │ └── App.js # Main App component
│ └── public/ # Static assets
├── quarantine/ # Quarantine storage
├── logs/ # Application logs
└── flowchart/ # Project documentation
```
## 🚀 快速开始
### 前置条件
- JDK 17 或更高版本
- Node.js 14.x 或更高版本
- Maven 3.6.x 或更高版本
- npm 6.x 或更高版本
### 后端设置
1. 导航到项目根目录
2. 运行 Maven 构建:
mvn clean install
3. 启动 Spring Boot 应用:
mvn spring-boot:run
4. 后端服务将在 `http://localhost:8080` 提供
5. H2 控制台将在 `http://localhost:8080/h2-console` 提供
### 前端设置
1. 导航到前端目录:
cd frontend
2. 安装依赖:
npm install
3. 启动开发服务器:
npm start
4. 前端服务将在 `http://localhost:5000` 提供
## 🔧 配置
### 后端配置
- 数据库配置:`src/main/resources/application.properties`
- 日志配置:`src/main/resources/logback.xml`
- 安全配置:`src/main/java/com/antivirus/config/SecurityConfig.java`
### 前端配置
- API endpoint 配置:`frontend/src/config.js`
- 环境变量:`frontend/.env`
- 主题配置:`frontend/src/theme.js`
## 📝 开发指南
### 代码风格
- 后端:遵循 Google Java 风格指南
- 前端:遵循 Airbnb React/JSX 风格指南
### Git 工作流
1. 从 `develop` 分支创建功能分支
2. 使用约定式提交(conventional commits)
3. 提交 PR 以供审查
4. 批准后合并至 `develop` 分支
### 测试
- 后端:使用 JUnit 5 进行单元测试
- 前端:使用 Jest 和 React Testing Library
- 运行测试:
# 后端
mvn test
# 前端
npm test
## 🔍 核心功能实现
### 文件扫描系统
- 使用 Java NIO 进行实时文件监控
- 基于病毒数据库的特征检测
- 针对未知威胁的启发式分析
- 带有隔离机制的文件隔离系统
- 扫描历史追踪与报告
### 仪表盘功能
- 实时系统状态监控
- 扫描历史可视化
- 隔离管理界面
- 系统健康指标
- 威胁检测统计
### 安全功能
- 基于角色的访问控制
- 安全的文件处理
- 隔离区隔离
- API 身份验证
- 会话管理
## 📊 日志与监控
- 应用日志:`logs/` 目录
- 扫描历史:`scan_history.log`
- 数据库日志:`antivirus_db.trace.db`
- 性能指标:集成 Prometheus
- 健康检查:Actuator endpoints
## 🔒 安全注意事项
- 文件系统权限
- 隔离区隔离
- API 身份验证
- 安全的文件处理
- 输入验证
- XSS 防护
- CSRF 防护
## 📄 许可证
本项目基于 MIT 许可证授权 - 详情请参阅 LICENSE 文件。
## 👥 作者
- [Dhruv0306](https://github.com/Dhruv0306) - 初始工作
- [Sameer7188](https://github.com/Sameer7188) - 前端工作
## 🙏 致谢
- Spring Boot 团队
- React 团队
- Material-UI 团队
- 所有贡献者和维护者
标签:JS文件枚举, React, Spring Boot, Syscalls, 域名枚举, 安全防护, 文件扫描, 无摄像头检测, 防病毒软件