即时通讯(IM)开源项目 OpenIM 本周版本发布 - v1.0.7web 端一键部署
介绍
OpenIM:由前微信技术专家打造的基于 Go 实现的即时通讯(IM)开源项目,包括 IM 服务端和客户端 SDK。开发者私有化部署,基于 SDK 二次开发,可以轻松替代第三方 IM 云服务,打造具备聊天、社交功能的 app。无论是开发同城交友、企业办公亦或是当今最热门的元宇宙,还是在应用中集成 IM 功能,都非常便捷。OpenIM 代码 100%开源,开源协议 Apache-2.0 License 任何企业和个人都可以免费使用(包括商用)。
请各位看官多多支持,转发和宣传,助力 OpenIM 成为开源 IM 的 No1
web 端体验地址
项目成果
截止到今天,github star 数量达到 6k,开源 IM 项目的领跑者
开发者文档:https://doc.rentsoft.cn/
github 地址:https://github.com/OpenIMSDK/Open-IM-Server
OpenIM 不是个人兼职项目, 是商业化全职团队运作,有针对性 VIP 客户的收费服务,保证项目长期健康发展。
本周重点特性
客户端 SDK v1.0.7
服务端 v1.0.6
docker 已更新,请拉取最新镜像,docker 部署常见问题总结分析和解决办法 见文档: https://doc.rentsoft.cn/demo/server_deploy/docker_singe.html
OpenIM 每周都会迭代发布新版本,主要针对 bug 修复和系统优化,特别值得注意的是,版本号的第一位数字代表大版本,一般是做了协议改造升级,服务器和客户端两者必须保持大版本一致。
分支说明:
(1)dev:外部开发者在此分支上提交 pr;
(2)tuoyun:OpenIM 内部专用;
(3)main:最新可用分支;
服务端一键部署
docker 安装、启动
安装
或者
启动、停止
重启 docker 服务
关闭 docker
docker-compose 安装
部署
如果确定是首次安装,可以直接采用如下命令完成 1-4 步
端口开放
需要开通外网端口(TCP):17778(消息,必须开),10000(API,必须开), 30000(jssdk 专用,需要才开), 42233 (短信验证码端口,需要才开),25(邮箱验证码端口,需要才开)
如果 check 成功,但是端口连接不上,一般是端口开放或者防火墙问题导致。
当然也可以不开通以上端口,而通过 nginx 做转发。
web 端一键部署
环境要求
node 14.17.5+
开发测试
拉取项目
安装依赖
修改配置配置文件位置为:src/config/index.ts 项目默认配置地址为 OpenIM 测试服务器地址,若您已部署 OpenIM-Server 在自己的服务器上,需要修改为对应地址,否则可跳过此步骤。项目默认使用腾讯云 COS 服务,可根据需求自行更改文件存储服务。
// 注册服务地址 export const AXIOSURL = "http://47.112.160.66:42233"// axios 请求超时时间 export const AXIOSTIMEOUT = 60000// OpenIM-Server JS SDK portexport const IMURL = "ws://47.112.160.66:30000"// 获取 cos 临时密钥地址 export const COSAUTHORIZATIONURL = "http://47.112.160.66:10000"// cos bucketexport const COSBUCKET = "echat-1302656840"// cos regionexport const COSREGION = "ap-chengdu"// cos 缩略图格式配置 export const PICMESSAGETHUMOPTION = "?imageView2/1/w/200/h/200/rq/80"
Web 运行调试
默认运行端口为 3000
打包部署
打包生成文件在项目根目录 build 文件夹下,将文件夹内容上传服务器部署即可。
重点特性展示
关于我们
托云信息技术(成都)有限公司
我们致力于通过开源模式,为全球企业/开发者提供简单、易用、高效的 IM 服务和实时音视频通讯能力,帮助开发者降低项目的开发成本,并让开发者掌控业务的核心数据。
开源的价值
从公司成立之初就将“开源”作为核心战略来推进,开源充分体现了自由、平等、分享的互联网精神。
全球范围频繁发生的数据泄露、勒索病毒、隐私滥用等安全事件一次次给企业敲响警钟,企业管理者对数据资产的价值、数据安全的重要性有了更清晰的认识,数据安全成就企业核心价值。
IM 作为核心业务数据,安全的重要性毋庸置疑,OpenIM 开源以及私有化部署让企业能更放心使用。
我们的团队
创始团队来自前微信技术团队,我们致力于用开源技术创造服务价值,打造轻量级、高可用的 IM 架构,开发者只需简单调用 SDK,即可在应用内构建多种即时通讯及实时音视频互动场景。
OpenIM 邀请全球技术极客参与技术优化,让开发者轻松集成,让每一个应用都具备 IM 功能,同时考虑企业的接入成本、服务器资源以及最重要的数据安全性和私密性。
OpenIM 有什么特色
(1) 开源永久免费
代码全部开源,永久免费,包括客户端和服务端,由前微信技术专家打造,并邀请全球技术极客参与建设。开源协议 Apache-2.0 License 任何企业和个人都可以免费使用(包括商用),但必须在应用启动页加上 :由 OpenIM 提供技术支持
(2) 易扩展
服务端采用 golang 实现,首创“一切皆消息”的通讯模型,轻松实现自定义消息和扩展功能。,无论是已读回执,群通知等都采用此模型,复用消息通道。
(3) 专业技术服务
每个技术人员都承担技术客服的角色,强化社区,及时解答。搭建微信社区,telegram 群组,github 上 issue 和社群互动,提升问题解决效率。
(4) 高性能
借鉴并优化通讯架构,抽象在线消息、离线消息、历史消息存储模型,分层治理架构,支持集群部署,平行扩展。
(5) 安全
代码全部开源,服务端私有化部署,数据自我掌控。数据安全大于天,中华人民共和国个人信息保护法有效保护用户信息不受侵犯。
(6) 全平台支持
sdk 通过 golang 实现,通过 gomobile 生成 aar 和 framework,统一架构,支持 Andorid、iOS 原生开发,支持 Flutter、uni-app 跨端开发,支持小程序、React 等所有主流 web 前端技术框架, PC 支持 Electron,Flutter、iOS、uni-app、pc 已有成熟 demo 可以体验。
开发者可以使用 OpenIM 替代市场上各种 IM 云服务,除了降低成本,还赋予开发者更多的灵活性和自主性。我们通过开源的方式,邀请全球技术极客来参与 OpenIM 建设,使每位开发者都能免费使用最优秀的 IM 组件,让每个 app 都具备即时通讯能力。
评论