Skip to content

nnfish/OSINT-Python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

OpenOSINT - 互联网舆情采集分析系统

Version Python License

一款面向政企及专业人员使用的网络舆情分析处理系统

功能特点快速开始系统架构API 文档使用手册


📋 系统简介

OpenOSINT 是一款互联网舆情采集分析系统,可以实现网络上开源情报的采集、分析、监控、预警等功能。系统支持从搜索引擎、社交媒体、指定网站/博客等多种数据源采集数据,并通过智能分析生成评估报告,帮助用户及时掌握网络舆情动态。

主要功能

功能模块 说明
🕷️ 采集情报 从搜索引擎、社交媒体、指定的源(网站/博客)获取数据,保存到本地数据库
📊 监控情报 根据指定关键字监控情报的产生,当关注情报发生时发送消息通知用户
📈 分析情报 对数据进行分析,形成评估报告,将情报要素、关键字、关联事件等写入数据库
⚠️ 预警情报 根据情报分析结果进行预测,当关联关键字发生时生成预警报告通知用户

✨ 功能特点

  • 多源数据采集:支持搜索引擎、社交媒体、RSS 订阅等多种数据源
  • 智能情感分析:自动识别情报内容的情感倾向(正面/负面/中性)
  • 实时监控预警:7×24 小时不间断监控,支持多种通知方式
  • 可视化报告:自动生成结构化的情报分析评估报告
  • 定时任务调度:支持一次性任务和周期性任务
  • 多用户权限管理:支持管理员和普通用户角色
  • 国际化支持:支持中英文等多种语言切换
  • 夜间模式:支持白色/夜间主题切换
  • MCP 协议兼容:提供 CLI 接口,可与 AI 智能体对接
  • 大模型集成:可调用大语言模型 API 进行智能分析

🚀 快速开始

环境要求

  • Python 3.9+
  • MySQL 8.0+
  • Windows 10 / Windows Server 2019
  • Docker(可选,用于容器化部署)

安装步骤

1. 克隆项目

git clone https://github.com/your-org/openosint.git
cd openosint

2. 安装依赖

pip install -r src/backend/requirements.txt

3. 配置数据库

创建 MySQL 数据库并修改配置文件 src/backend/app/config.py

DATABASE_URL = "mysql+pymysql://user:password@localhost:3306/openosint"

4. 初始化数据库

python src/dev/init_db.py

5. 启动服务

cd src/backend
python -m app.main

访问 http://localhost:8000/docs 查看 API 文档。

Docker 部署

# 构建镜像
docker build -t openosint .

# 运行容器
docker run -d -p 8000:8000 --name openosint openosint

🏗️ 系统架构

技术栈

┌─────────────────────────────────────────────────────────────┐
│                        前端界面                              │
│              (Vue3 + Element Plus / React)                   │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│                      API 网关层                               │
│                  (FastAPI + JWT 认证)                        │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│                      业务服务层                              │
│  认证服务 │ 任务服务 │ 情报服务 │ 报告服务 │ 监控服务 │ 预警服务  │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│                      数据采集层                              │
│         搜索引擎采集 │ 社交媒体采集 │ RSS 采集               │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│                      数据存储层                              │
│                    MySQL 8.0+                                │
└─────────────────────────────────────────────────────────────┘

目录结构

OpenOSINT/
├── Doc/                    # 文档目录
│   ├── api/               # API 文档
│   └── db.sql             # 数据库脚本
├── RD/                     # 需求文档
│   ├── RD.md              # 需求说明
│   └── Project.md         # 项目设计文档
├── src/
│   ├── backend/           # 后端代码
│   │   └── app/
│   │       ├── api/       # API 路由
│   │       ├── models/    # 数据模型
│   │       ├── schemas/   # 数据模式
│   │       ├── services/  # 业务服务
│   │       ├── utils/     # 工具函数
│   │       ├── config.py  # 配置文件
│   │       └── main.py    # 应用入口
│   └── dev/               # 开发工具
│       ├── init_db.py     # 数据库初始化
│       └── reset_db.py    # 数据库重置
├── README.md              # 项目说明
└── User-manual.md         # 用户手册

📖 API 文档

启动服务后,访问以下地址查看 API 文档:

主要 API 模块

模块 前缀 说明
认证 /api/v1/auth 用户登录、注册、密码管理
采集任务 /api/v1/tasks 任务创建、管理、进度查询
情报数据 /api/v1/intelligence 情报查询、搜索、统计
分析报告 /api/v1/reports 报告生成、管理、收藏
监控配置 /api/v1/monitors 监控规则管理
预警 /api/v1/alerts 预警规则、预警记录管理
管理 /api/v1/admin 用户管理、系统配置(仅管理员)

👥 用户角色

角色 权限
管理员 所有权限,包括用户管理、系统配置
普通用户 创建和管理自己的任务、报告、监控、预警

🔔 通知方式

系统支持多种通知方式:

  • 📧 电子邮件:通过 SMTP 发送邮件通知
  • 💬 钉钉:通过钉钉机器人发送消息
  • 📱 短信:通过短信服务商 API 发送短信

📝 许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。


🤝 贡献

欢迎贡献代码、报告问题或提出建议!


📮 联系方式


OpenOSINT - 让舆情监控更智能

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors