joemunene-by/sentinelpulse

GitHub: joemunene-by/sentinelpulse

企业级网络安全威胁情报实时可视化仪表盘,提供全球威胁态势感知和事件追踪能力。

Stars: 0 | Forks: 0

# SentinelPulse **实时威胁情报仪表盘** 由 CEO Joe Munene 构建 SentinelPulse 是一款企业级网络安全威胁情报仪表盘,专为政府、非政府组织 (NGO)、企业和安全团队设计。它通过精致的深色模式优先界面,提供对全球网络威胁的实时可见性。 ## 功能特性 - 📊 **实时威胁订阅源** - 聚合网络安全新闻和事件 - 🗺️ **全球威胁热力图** - 按区域可视化事件密度 - 📈 **交互式时间轴** - 安全事件按时间顺序展示 - 🔍 **高级过滤** - 按时间范围、严重程度、区域、标签和关键词筛选 - 📱 **响应式设计** - 在桌面、平板和移动设备上无缝运行 - ♿ **无障碍访问** - 符合 WCAG 标准,支持键盘导航和屏幕阅读器 - 🎨 **深色模式** - 具有高对比度的战术控制室美学 ## 技术栈 - **React 18** - UI 框架 - **Vite** - 构建工具和开发服务器 - **Tailwind CSS** - 实用优先的样式框架 - **Framer Motion** - 流畅动画 - **Recharts** - 数据可视化 - **React Window** - 虚拟化列表以提升性能 ## 快速开始 ### 前置条件 - Node.js 18+ 和 npm ### 安装说明 1. 克隆或下载此仓库 2. 安装依赖: ``` npm install ``` 3. 启动开发服务器: ``` npm run dev ``` 4. 在浏览器中打开 `http://localhost:3000` 应用程序将自动在您的默认浏览器中打开。 ## 生产环境构建 创建生产构建: ``` npm run build ``` 优化后的文件将位于 `dist/` 目录中。 预览生产构建: ``` npm run preview ``` ## 部署 ### Vercel 1. 安装 Vercel CLI:`npm i -g vercel` 2. 在项目目录中运行 `vercel` 3. 按照提示进行部署 或者将您的 GitHub 仓库连接到 Vercel 以实现自动部署。 ### Netlify 1. 安装 Netlify CLI:`npm i -g netlify-cli` 2. 运行 `netlify deploy` 进行草稿部署,或运行 `netlify deploy --prod` 进行生产部署 3. 按照提示操作 或者将 `dist/` 文件夹拖放到 Netlify 的仪表盘中。 ### 其他平台 由于这是一个静态站点,您可以将其部署到任何静态托管服务: - GitHub Pages - AWS S3 + CloudFront - Azure Static Web Apps - Google Cloud Storage - 任何 CDN 或 Web 服务器 ## 集成真实 API 目前,应用程序使用模拟数据。要集成真实的威胁情报 API: 1. 阅读 API 集成指南:`src/api/README_API.md` 2. 将 API 密钥设置为环境变量(见下文) 3. 更新 `src/utils/mockApi.js` 以使用真实的 API 调用 4. 处理 CORS 问题(生产环境使用后端代理) ### 环境变量 在项目根目录创建 `.env` 文件: ``` # API Keys(替换为你的实际 keys) VITE_NEWSAPI_KEY=your_newsapi_key_here VITE_VIRUSTOTAL_KEY=your_virustotal_key_here VITE_MISP_BASE_URL=https://your-misp-instance.com VITE_MISP_API_KEY=your_misp_api_key VITE_RECORDEDFUTURE_TOKEN=your_rf_token # Feature flags VITE_USE_REAL_API=false ``` **重要提示**:切勿将 `.env` 文件提交到版本控制。将 `.env` 添加到 `.gitignore`。 ## 项目结构 ``` sentinelpulse/ ├── public/ # Static assets │ ├── index.html # HTML template │ ├── favicon.svg # Favicon │ └── manifest.json # PWA manifest ├── src/ │ ├── components/ # React components │ │ ├── Nav.jsx │ │ ├── HeroSummary.jsx │ │ ├── NewsFeed.jsx │ │ ├── ThreatCard.jsx │ │ ├── ArticleModal.jsx │ │ ├── FiltersPanel.jsx │ │ ├── MetricCounters.jsx │ │ ├── IncidentTimeline.jsx │ │ ├── HeatmapGlobe.jsx │ │ └── Footer.jsx │ ├── data/ # Mock data │ │ ├── sampleNews.json │ │ └── sampleIncidents.json │ ├── api/ # API integration docs │ │ └── README_API.md │ ├── utils/ # Utility functions │ │ ├── formatters.js │ │ └── mockApi.js │ ├── App.jsx # Main app component │ ├── main.jsx # Entry point │ └── index.css # Global styles ├── package.json ├── vite.config.js ├── tailwind.config.js └── README.md ``` ## 自定义 ### 联系信息 更新以下文件中的联系详情: - `src/components/Footer.jsx` - `src/components/App.jsx`(About 部分) - `public/index.html`(meta 标签) ### 颜色与样式 编辑 `tailwind.config.js` 以自定义调色板和字体。 ### 模拟数据 修改 `src/data/sampleNews.json` 和 `src/data/sampleIncidents.json` 以添加或更改模拟条目。 ## 无障碍性 - 语义化 HTML 元素 - ARIA 标签和角色 - 键盘导航支持 - 屏幕阅读器兼容性 - 减少动画支持 - 高对比度颜色 ## 性能 - 长列表虚拟化 - 重型组件延迟加载 - 使用 Vite 优化包体积 - 代码分割 - 图片优化 ## 浏览器支持 - Chrome/Edge(最新版) - Firefox(最新版) - Safari(最新版) - 移动浏览器(iOS Safari、Chrome Mobile) ## 许可证 本项目为 CEO Joe Munene 拥有的专有项目。 ## 支持 如有问题或需要支持: - 电子邮件:joemunene984@gmail.com - 电话:+254 718 733 968 ## 免责声明 本仪表盘使用模拟数据进行演示。所有威胁情报数据均为虚构,不得用于现实世界的安全决策。集成真实 API 时,请确保采取适当的数据验证和安全措施。 **由 CEO Joe Munene 用 ❤️ 构建**
标签:HTTP/HTTPS抓包, Open Source, React, Syscalls, Tailwind CSS, Vite, 交互式地图, 仪表盘, 企业安全, 威胁情报, 威胁热点图, 安全运营, 开发者工具, 态势感知, 态势感知大屏, 扫描框架, 政府安全, 暗黑模式, 网络安全, 网络资产管理, 自定义脚本, 隐私保护