BenediktSchackenberg/octofleet

GitHub: BenediktSchackenberg/octofleet

一个开箱即用的跨平台端点管理解决方案,整合了资产清单、补丁编排、安全合规与远程运维功能。

Stars: 10 | Forks: 3

# 🐙 Octofleet

Octofleet Banner

开源端点管理平台
通过单一仪表板监控您的设备群、部署软件、跟踪漏洞、管理补丁以及控制设备。

Release License Stars Issues Tests

快速开始功能文档贡献路线图

## 🎯 为什么选择 Octofleet? - **🚀 5 分钟安装** — Docker Compose 启动即可运行 - **💯 100% 自托管** — 您的数据保留在您的基础设施中 - **🔓 完全开源** — 无许可费用,无供应商锁定 - **🪶 轻量级 Agent** — < 20MB 占用,极低的资源消耗 - **🔌 API 优先** — 通过 REST API 访问 509 个端点 - **🌐 跨平台** — 支持 Windows 和 Linux - **🌙 深色模式** — 所有页面全面支持深色模式 ## ✨ 功能
### 📊 资产清单与监控 - 带热点矩阵的实时设备群仪表板 - 硬件清单 (CPU, RAM, 磁盘, 网络) - **硬件设备群仪表板** — CPU/磁盘/存储聚合、磁盘健康监控、物理磁盘清单 - 带版本跟踪的软件清单 - 带热力图可视化的性能监控 - 进程和网络监控 - 全设备群趋势迷你图 ### 🚀 部署与任务 - 远程任务执行 - 带跟踪的包管理 - 推出策略 (金丝雀, 分阶段) - 维护窗口 - 服务编排
### 🔐 安全与合规 - **安全中心**,包含监控、发现和取证专用页面 - 漏洞扫描 (NVD/CVE) + 全设备群聚合 - 自动修复 - **文件审计** — 实时监控 (Windows + Linux) - **行为规则** — 阈值、模式与基于时间的检测 - **发现与风险评分** — 自动生成,按严重性加权 - **配置态势快照** — 基线偏移检测 - **活动仪表板** — 文件与用户活动,非工作时间警报 - **证据导出** & 保留 / 法定保留 - 基于角色的访问控制 (RBAC) + UI 审计日志 ### 🩹 补丁与更新编排 — v0.6.0 新增! - **补丁目录** — 集中式 KB/更新注册表 - **补丁环** — 金丝雀 → 试点 → 广泛推出策略 - **部署向导** — 创建、调度、暂停、恢复、取消 - **合规性跟踪** — 单节点及全设备群 - **Agent 端扫描器** — `PatchScanner.cs` 发现缺失的 Windows 更新
### 📐 配置基线 — v0.6.0 新增! - **CIS 基准模板** (Win Server 2022/2025, Win 11) - **基线规则** — 注册表、服务、安全策略检查 - **偏移检测** — 自动评估并生成偏移事件 - **自动修复** — 自动修正偏移的设置 - **合规仪表板**,带趋势图 ### 📦 内容生命周期 — v0.6.0 新增! - **仓库管理** — APT, YUM, Chocolatey, NuGet, WinGet, Generic - **内容快照** — 冻结某一时间点的仓库状态 - **环境流水线** — 开发 → 测试 → 生产推进 - **晋升与回滚** — 推进或还原环境 - **快照差异对比** — 比较任意两个快照
### 🔍 实时查询引擎 — v0.6.0 新增! - **DSL 转 SQL 查询构建器**,带可视化 WHERE 子句构建器 - **22 个可查询表**,覆盖设备群、软件、安全、指标、事件 - **18 个预置模板**,用于常见设备群问题 - **实时 Agent 查询** — 进程、服务、开放端口实时查询 - **CSV 导出**,用于外部分析 ### 📊 软件计量与许可 — v0.6.0 新增! - **软件目录**,自动从设备群清单中发现 - **许可合规** — 按设备、按用户、站点、企业 - **规范化规则** — 将名称变体映射到目录条目 - **使用量跟踪** & 回收候选 - **核对报告**,用于许可调整
### 🖥️ 远程访问与用户体验 - **屏幕镜像 (实时查看)** - 浏览器中的远程终端 - **Agent 活动监视器** — 实时 SSE 源 - **命令面板 (Ctrl+K)** — 即时节点搜索与导航 - **超级下拉导航** — 2 列安全与合规超级菜单 - **深色模式** — 所有页面全面支持深色模式 - Discord 警报通知 ### 🔌 零接触供应 - **PXE 启动** — 无需 USB/ISO - **WinPE 部署** — 全自动 - **VirtIO 支持** — KVM/QEMU 就绪 - **多 VLAN** — Tentacle 中继架构 - **驱动注入** — 自动硬件检测 - **Linux PXE** — 通过 NFS 安装 Ubuntu 22.04/24.04
### 🗄️ SQL Server 管理 - 自动化 SQL Server 安装 - 自动磁盘准备 - 版本支持:SQL Server 2025/2022/2019 - 累积更新部署与合规 ### 🔄 自更新 Agent - Windows Agent 从 GitHub Releases 自动更新 - SHA256 验证 & 降级保护 - 零接触部署 - 用于批量推出的注册令牌
### 📊 报告与导出 - **PDF 报告** — 设备群摘要、安全、清单 - **Excel/CSV/JSON 导出** — 针对所有数据类型 - **日期范围过滤** — 7d/30d/90d 预设 - 报告生成器页面 (`/reports`) ### 🏗️ 硬件设备群仪表板 - CPU、磁盘和存储设备群聚合 - 磁盘健康监控 (SMART) - 跨所有节点的物理磁盘清单 - 硬件导出
## 🚀 快速开始 ### 选项 1: Docker (推荐) ``` git clone https://github.com/BenediktSchackenberg/octofleet.git cd octofleet docker compose up -d ``` 打开 http://localhost:3000 — 登录:`admin` / `admin` ### 选项 2: 安装 Agent **Windows (以管理员身份运行 PowerShell — 单行命令):** ``` irm https://github.com/BenediktSchackenberg/octofleet/releases/latest/download/Install-OctofleetAgent.ps1 | iex ``` 然后配置 `C:\ProgramData\Octofleet\service-config.json`: ``` { "InventoryApiUrl": "http://your-server:8080", "InventoryApiKey": "your-api-key", "GatewayUrl": "http://your-server:18789", "GatewayToken": "your-gateway-token", "DisplayName": "MY-SERVER", "AutoPushInventory": true, "ScheduledPushEnabled": true, "ScheduledPushIntervalMinutes": 30 } ``` | 字段 | 描述 | 必填 | |-------|-------------|----------| | `InventoryApiUrl` | 后端 API URL (端口 8080) | **是** | | `InventoryApiKey` | 用于认证的 API 密钥 | **是** | | `GatewayUrl` | 用于远程访问的 Gateway URL (端口 18789) | 否 | | `GatewayToken` | Gateway 认证令牌 | 否 | | `DisplayName` | UI 中的节点显示名称 | 否 (默认为主机名) | 配置更改后重启服务: ``` Restart-Service OctofleetNodeAgent ``` **Linux:** ``` API_URL="http://your-server:8080" API_KEY="your-api-key" \ curl -sSL https://raw.githubusercontent.com/BenediktSchackenberg/octofleet/main/linux-agent/install.sh | sudo -E bash ``` 然后配置 `/opt/octofleet-agent/config.env`: ``` API_URL="http://your-server:8080" API_KEY="your-api-key" ``` 📖 **[完整 Agent 设置指南 →](docs/AGENT-SETUP.md)** · **[安装 Wiki →](../../wiki/Installation)** ## 🏗️ 架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ Frontend │ │ (Next.js + React) │ │ localhost:3000 │ └─────────────────────┬───────────────────────────────────────┘ │ REST API ┌─────────────────────▼───────────────────────────────────────┐ │ Backend │ │ (FastAPI + Python 3.12 — 22 Routers) │ │ 509 endpoints · localhost:8080 │ └─────────────────────┬───────────────────────────────────────┘ │ SQL ┌─────────────────────▼───────────────────────────────────────┐ │ Database │ │ (PostgreSQL 16 + TimescaleDB) │ │ localhost:5432 │ └─────────────────────────────────────────────────────────────┘ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ Windows │ │ Windows │ │ Linux │ │ Agent │ │ Agent │ │ Agent │ │ (.NET 8) │ │ (.NET 8) │ │ (Bash) │ └────┬─────┘ └────┬─────┘ └────┬─────┘ │ │ │ └─────────────┴─────────────┘ HTTPS to Backend ``` ## 📚 文档 | 主题 | 链接 | |-------|------| | 快速开始 | [docs/GETTING-STARTED.md](docs/GETTING-STARTED.md) | | 架构 | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | | 配置 | [docs/CONFIGURATION.md](docs/CONFIGURATION.md) | | **API 参考** | [docs/API-REFERENCE.md](docs/API-REFERENCE.md) • [Swagger UI](http://localhost:8080/docs) | | 安全中心 | [docs/SECURITY-CENTER.md](docs/SECURITY-CENTER.md) | | 补丁管理 | [docs/PATCH-MANAGEMENT.md](docs/PATCH-MANAGEMENT.md) | | 内容生命周期 | [docs/CONTENT-LIFECYCLE.md](docs/CONTENT-LIFECYCLE.md) | | 查询引擎 | [docs/QUERY-ENGINE.md](docs/QUERY-ENGINE.md) | | 软件计量 | [docs/SOFTWARE-METERING.md](docs/SOFTWARE-METERING.md) | | Agent 设置 | [docs/AGENT-SETUP.md](docs/AGENT-SETUP.md) | | 路线图 | [docs/ROADMAP-ENTERPRISE.md](docs/ROADMAP-ENTERPRISE.md) | ### 🔌 API 端点 (约 450 个) 后端通过自动 OpenAPI 文档公开完整的 REST API: ``` # 交互式 API 文档 (Swagger UI) open http://localhost:8080/docs # 替代方案:ReDoc open http://localhost:8080/redoc # OpenAPI JSON 规范 curl http://localhost:8080/openapi.json ``` **主要端点组:** | 分类 | 端点数 | 描述 | |----------|-----------|-------------| | `/api/v1/nodes` | 15 | 节点清单、搜索、树状视图 | | `/api/v1/inventory/*` | 17 | 硬件、软件、修补程序、安全 | | `/api/v1/jobs` | 10 | 任务创建、调度、结果 | | `/api/v1/packages` | 12 | 包管理、winget/choco | | `/api/v1/vulnerabilities` | 6 | CVE 跟踪、抑制 | | `/api/v1/remediation` | 23 | 自动修复、健康检查 | | `/api/v1/services` | 10 | 服务编排 | | `/api/v1/deployments` | 8 | 软件部署 | | `/api/v1/patches` | 20 | 补丁目录、环、部署、合规 | | `/api/v1/baselines` | ~25 | 配置基线、规则、评估、偏移、模板、修复 | | `/api/v1/content` | 22 | 内容仓库、项目、快照、环境、晋升 | | `/api/v1/query` | 4 | 查询引擎 (执行、模式、模板、实时) | | `/api/v1/metering` | ~20 | 软件目录、许可证、合规、回收 | | `/api/v1/hardware` | 2 | 硬件设备群聚合与导出 | | `/api/v1/security/*` | 34 | 安全监控、事件、发现、证据、审计 | ## 🛠️ 开发 ``` # 后端 (FastAPI) cd backend && python -m venv venv && source venv/bin/activate pip install -r requirements.txt uvicorn main:app --reload --port 8080 # 前端 (Next.js) cd frontend && npm install && npm run dev # Windows Agent (.NET 8) cd src/OctofleetAgent.Service && dotnet run # 运行测试 cd tests/api && pytest cd tests/e2e && npx playwright test ``` ## ⚙️ 配置 ### 环境变量 | 变量 | 默认值 | 描述 | |----------|---------|-------------| | `API_KEY` | `octofleet-inventory-dev-key` | 用于 Agent 认证的 API 密钥 | | `DATABASE_URL` | `postgresql://octofleet:...@127.0.0.1:5432/inventory` | PostgreSQL 连接字符串 | | `JWT_SECRET` | 自动生成 | JWT 令牌密钥 (持久化) | | `NVD_API_KEY` | None | 用于漏洞扫描的 NVD API 密钥 | | `OCTOFLEET_GATEWAY_URL` | `http://192.168.0.5:18789` | Octofleet Gateway URL | | `OCTOFLEET_GATEWAY_TOKEN` | 空 | Gateway 认证令牌 | 📖 **[完整配置参考 →](docs/CONFIGURATION.md)** ## 🗺️ 路线图 请参阅 [企业路线图](docs/ROADMAP-ENTERPRISE.md) 和 [公开路线图](../../wiki/Roadmap) 了解计划功能。 ### ✅ v0.6.0 已完成 - E30 补丁与更新编排 - E31 配置基线与偏移管理 - E33 内容仓库与生命周期管理 - E34 实时查询引擎 - E38 软件计量与许可证跟踪 ### 🔜 即将推出 - macOS Agent - LDAP/Active Directory & SSO/OIDC 集成 - Ansible/DSC 集成 - 云提供商集成 (Azure, AWS, Proxmox) - 多租户 - 高可用性 [完整路线图 →](docs/ROADMAP-ENTERPRISE.md) ## 📄 许可证 MIT 许可证 — 详情见 [LICENSE](LICENSE)。 ## 🙏 致谢 基于 [FastAPI](https://fastapi.tiangolo.com/), [Next.js](https://nextjs.org/), [.NET 8](https://dotnet.microsoft.com/), [TimescaleDB](https://www.timescale.com/) 构建 漏洞数据来自 [NVD](https://nvd.nist.gov/) • 图标由 [Lucide](https://lucide.dev/) 提供

🐙 触达您设备群中的每一个端点

⭐ 在 GitHub 上为我们加星 · 🐛 报告 Bug · 💡 请求功能

标签:Awesome, Docker, IT运维, MDM, REST API, Socks5代理, 仪表盘, 占用监测, 多人体追踪, 安全防御评估, 开源, 测试用例, 漏洞追踪, 端点安全, 端点管理, 系统管理, 自动化攻击, 自托管, 补丁管理, 设备控制, 请求拦截, 资产管理, 软件部署, 轻量级代理, 远程监控, 逆向工具