Flowsint 部署与安装指南:基于图的可视化调查平台
Flowsint 是一个开源的 OSINT(开源情报)图探索工具,专为道德调查、透明度和验证而设计。它允许您通过可视化图界面和自动化丰富器(Enrichers),探索实体(如域名、IP、组织、加密货币钱包等)之间的关系。
1. 系统要求
1.1 硬件与软件要求
- 操作系统:Linux、macOS 或 Windows(通过 Docker Desktop)。
- 内存:建议至少 8GB(运行多个服务容器)。
- 存储:至少 10GB 可用空间。
- 网络:需要访问互联网以下载镜像和进行 OSINT 数据查询。
1.2 软件前提(所有平台)
- Docker 和 Docker Compose(必须安装并运行)。
- Git(用于克隆仓库)。
- (可选)Make:用于 Linux/macOS 的快捷命令。
2. 安装与部署步骤
2.1 Linux / macOS 部署(使用 Make)
克隆仓库:
1
2git clone https://github.com/reconurge/flowsint.git
cd flowsint运行安装命令:
1
make prod
此命令会自动处理环境设置,并拉取预构建的 Docker 镜像启动服务。
2.2 Windows 部署(使用 Docker Compose)
无需 make,在 命令提示符 (cmd) 或 PowerShell 中操作。
克隆仓库:
1
2git clone https://github.com/reconurge/flowsint.git
cd flowsint设置环境文件:
需要手动复制环境变量模板文件到各模块目录。1
2
3
4copy .env.example .env
copy .env.example flowsint-api\.env
copy .env.example flowsint-core\.env
copy .env.example flowsint-app\.env启动服务:
1
docker compose -f docker-compose.prod.yml up -d
此命令会从 GitHub Container Registry 拉取预构建镜像,并在后台启动所有服务。
2.3 首次登录与创建账号
服务启动后,在浏览器中访问 http://localhost:5173/register 并创建一个新账户。系统默认没有预设的凭证,所有数据均存储在您本地机器上。
3. 网络与团队部署
Flowsint 可以直接在服务器上运行,供同一网络中的团队使用。
- 在服务器上,按照上述 Linux/macOS 或 Windows 步骤部署。
- 编辑
.env文件,更改默认密钥(暴露到网络前必须执行):AUTH_SECRET:用于签名认证令牌。生成方法:openssl rand -hex 32MASTER_VAULT_KEY_V1:用于加密存储的 API 密钥。生成方法:python3 -c "import os, base64; print('base64:' + base64.b64encode(os.urandom(32)).decode())"NEO4J_PASSWORD:Neo4j 数据库密码。
- 添加服务器主机名/IP 到允许列表:编辑
flowsint-app/nginx.conf中的map $http_host $is_flowsint_host块,添加您服务器的 IP 或域名。 - 访问:同一网络中的其他用户可通过
http://<服务器IP>:5173访问。
HTTPS 推荐:在生产环境中,建议在 Flowsint 前放置一个反向代理(如 Caddy、Nginx)以启用 HTTPS。
4. 核心功能与架构
4.1 可用丰富器(Enrichers)
Flowsint 通过“丰富器”模块自动从实体中提取和关联信息。主要类别包括:
| 类别 | 示例丰富器 |
|---|---|
| 域名 | 反向 DNS 解析、子域名发现、WHOIS 查询、域名历史 |
| IP | IP 地理位置、ASN 信息 |
| ASN | ASN 到 CIDR 范围 |
| 组织 | 组织到 ASN/域名、公司信息 |
| 加密货币 | 钱包交易历史、NFT 查询 |
| 网站 | 网站爬虫、链接提取、追踪脚本识别 |
| 邮箱/电话 | 数据泄露检查、Gravatar 查询 |
| 社交媒体 | Maigret(用户名搜索) |
4.2 项目架构(模块化)
- flowsint-app:前端应用(用户界面)。
- flowsint-api:FastAPI 服务器,提供 REST API。
- flowsint-core:核心工具、编排器、加密保管库(Vault)和后台任务。
- flowsint-enrichers:所有丰富器模块的实现。
- flowsint-types:Pydantic 数据模型和类型定义。
服务之间通过 Docker Compose 编排,包括前端代理、API 服务、Celery 任务队列、PostgreSQL、Neo4j 图数据库和 Redis 缓存。
5. 开发环境设置(供贡献者)
如果您希望进行二次开发,可以启动开发模式。
前提条件:安装 Docker。
Linux/macOS(使用 Make):
1
make dev
Windows:
先按上述步骤创建各模块的.env文件,然后运行:1
docker compose -f docker-compose.dev.yml up -d --build
访问
http://localhost:5173。
6. 常见问题排查
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
make prod 或 docker compose 命令失败 |
Docker 服务未启动或端口冲突 | 确保 Docker Desktop 正在运行。检查端口 5173、5432(PostgreSQL)、7687(Neo4j)是否被占用。 |
访问 localhost:5173 显示连接被拒绝 |
前端容器未成功启动 | 运行 docker compose -f docker-compose.prod.yml logs 查看容器日志,找出具体错误。 |
| 注册后无法登录或认证失败 | AUTH_SECRET 未设置或不匹配 |
检查 .env 文件中的 AUTH_SECRET 是否已设置且一致。尝试清除浏览器缓存和 Cookie。 |
| 丰富器执行失败或数据未显示 | 目标 API 密钥未配置或网络连接问题 | 一些丰富器(如 VirusTotal、Shodan)需要您提供自己的 API 密钥。在应用的设置或 .env 中配置相应的 API_KEY。 |
| 主机名/IP 访问被拒绝 | Nginx 允许列表未包含您的访问主机名 | 按照“网络与团队部署”部分,在 flowsint-app/nginx.conf 中添加您的主机名或 IP。 |
7. 总结
Flowsint 是一个强大的、模块化的 OSINT 调查平台,适合网络安全分析师、调查记者等专业人士。
核心部署路径:
- 准备环境:确保 Docker 和 Git 已安装。
- 克隆并配置:
git clone仓库,并根据操作系统执行相应的安装命令(make prod或手动docker compose)。 - 首次登录:访问
http://localhost:5173/register创建您的账户。 - 开始调查:通过图形界面添加实体(如域名、IP),并运行丰富器来扩展关系图。
关键注意事项:
网络部署安全:将服务暴露到局域网或公网前,必须更改
.env中的默认密钥和 Nginx 允许列表。道德使用:Flowsint 严格用于合法、道德的调查和研究,请仔细阅读
ETHICS.md文件。API 密钥:许多丰富器需要您自己的第三方服务 API 密钥(如 VirusTotal、Shodan),请提前准备。










