# hive-im **Repository Path**: xiaobait9/im ## Basic Information - **Project Name**: hive-im - **Description**: No description available - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-27 - **Last Updated**: 2026-09-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Hive IM 0.2.0 Hive IM 是一组可嵌入 Java 服务的即时通信组件:服务端通过 Spring Boot Starter 接入,Java 调用方使用 SDK,客户端密钥与消息协议由 Crypto SDK 提供,调试人员可用 Debug CLI。仓库另含 React + Arco 单应用,集成了聊天客户端、开发者接口调试台、套餐计费与管理后台。 项目提供端到端加密实现与安全控制基线,不承诺“绝对安全”。密钥信任、设备安全、部署配置和多节点基础设施仍由集成方负责。详见[安全说明](docs/SECURITY.md)。 ## 模块 | 模块 | 用途 | | --- | --- | | `hive-im-crypto-sdk` | 消息签名、AES-GCM、ECDH、HMAC v2 等协议工具 | | `hive-im-core` | 会话、消息、已送达/已读回执、未读数、同步、撤回、加密附件和一对一通话状态 | | `hive-im-spring-boot-starter` | 可嵌入 Spring Boot 服务的 HTTP/WebSocket、认证、安全和 OpenAPI | | `hive-im-java-sdk` | Java 服务调用 OpenAPI 的客户端 | | `hive-im-local-store-sqlite` | Java 客户端本地 AES-GCM 加密 SQLite 消息缓存 | | `hive-im-debug-cli` | 面向开发调试的可执行 JAR | | `hive-im-app` | React + Arco 演示客户端、管理后台和计费示例 | | `hive-im-sample-host` | Starter 宿主接入示例 | ## 已实现能力 - 单聊/群聊、密文消息、幂等发送、已送达/已读游标、单消息回执、未读总数、撤回、设备增量同步和离线恢复。 - 任意二进制文件分片上传/下载;浏览器与 Java SDK 在客户端执行 AES-256-GCM 加解密,并校验分片、清单及完整文件摘要。服务端只保存密文和必要元数据。 - 一对一语音/视频通话;React 客户端使用 WebRTC,SDP/ICE 信令以会话密钥端到端加密,媒体使用 WebRTC DTLS-SRTP。生产必须配置受控 TURN。 - HMAC v2 开放接口、API key 双 key 轮换、scope、nonce 防重放、设备绑定、JWT、审计/日志、速率限制及跨应用隔离。 - 数据库动态套餐、充值示例、消息/存储/附件/并发通话/月通话分钟额度,以及 MySQL/PostgreSQL 两套 Flyway 迁移。 - Java 加密 SQLite 本地缓存按会话与全库容量自动裁剪,避免终端消息无限增长。 当前通话范围是浏览器端一对一 WebRTC;Java SDK 提供通话控制、ICE 配置和加密信令 API,不内置桌面/移动端音视频采集、编解码或渲染引擎。群组通话、推送网关、分布式 WebSocket broker、对象存储实现和支付渠道属于集成方扩展边界,不能把 Demo 当成未经部署设计即可无限横向扩展的托管云服务。 ## 快速入口 - [接入指南:本地 Maven 安装、Starter、Java SDK、CLI](docs/INTEGRATION.md) - [OpenAPI 与 HMAC v2 签名](docs/OPENAPI.md) - [安全模型与部署要求](docs/SECURITY.md) - [数据库与迁移](docs/MIGRATION.md) - [性能、保留与扩展边界](docs/PERFORMANCE.md) - [本地构建与发行流程](docs/PUBLISHING.md) - [React 客户端契约](web/CONTRACT.md) 源码推送到 Gitee 只发布 Git 仓库内容,不会把 Maven JAR 发布到 Maven Central 或其他 Maven 仓库。需要由维护者另行部署制品库,具体见[发布说明](docs/PUBLISHING.md)。 ## 演示应用 开发环境运行可执行演示应用前,先构建前端并将 `web/dist` 放入应用静态资源目录,再构建、启动 `hive-im-app`。完整命令和配置示例在[接入指南](docs/INTEGRATION.md)与[数据库指南](docs/MIGRATION.md)。 本地演示的默认账号是 `admin`,密码是 `Admin@123456`,**只能用于开发环境**。直接运行 JAR 时服务默认只监听 `127.0.0.1`;需要通过反向代理访问时应显式设置 `SERVER_ADDRESS`,并先完成 TLS、可信代理和来源配置。生产模式会拒绝已知默认管理员密码及未更换/不足 32 字符的 JWT secret;生产部署必须设置独立强密码与密钥。 ## 版本与要求 版本:`0.2.0`。JDK 17+、Maven 3.8+;演示前端需要 Node.js 和 npm。当前父 POM 使用 Spring Boot `3.5.16`、JJWT `0.13.0` 和 springdoc `2.9.1`。可复用模块通过 Maven 安装到本机后由宿主项目依赖;仓库尚未配置远端 Maven 发布目标。 ## 许可证 Apache License 2.0,见 [LICENSE](LICENSE)。