介绍

OpenIM:由前微信技术专家打造的基于 Go 实现的即时通讯(IM)开源项目,包括IM服务端和客户端SDK。开发者私有化部署,基于SDK二次开发,可以轻松替代第三方IM云服务,打造具备聊天、社交功能的app。无论是开发同城交友、企业办公亦或是当今最热门的元宇宙,还是在应用中集成IM功能,都非常便捷。OpenIM代码100%开源,开源协议Apache-2.0 License任何企业和个人都可以免费使用(包括商用)。

请各位看官多多支持,转发和宣传,助力OpenIM成为开源IM的No1

web端体验地址

http://121.37.25.71:23232/

项目成果

在这里插入图片描述

截止到今天,github star数量达到6k,开源IM项目的领跑者

  • 开发者文档:https://doc.rentsoft.cn/
  • github地址:https://github.com/OpenIMSDK/Open-IM-Server

OpenIM不是个人兼职项目, 是商业化全职团队运作,有针对性VIP客户的收费服务,保证项目长期健康发展。

本周重点特性

客户端SDK v1.0.7

特性类别
pc web demo第二版发布,多端同步,群组功能完善新特性
支持免打扰功能:设置接收消息不提醒;设置不接收消息新特性
修复bug:同一个手机重复登录和踢出bug修复

服务端 v1.0.6

特性类别
支持免打扰功能:设置接收消息不提醒;设置不接收消息新特性
支持iOS推送新特性

docker已更新,请拉取最新镜像,docker部署常见问题总结分析和解决办法 见文档: https://doc.rentsoft.cn/demo/server_deploy/docker_singe.html

OpenIM每周都会迭代发布新版本,主要针对bug修复和系统优化,特别值得注意的是,版本号的第一位数字代表大版本,一般是做了协议改造升级,服务器和客户端两者必须保持大版本一致。

分支说明:(1)dev:外部开发者在此分支上提交pr; (2)tuoyun:OpenIM内部专用;(3)main:最新可用分支;

服务端一键部署

docker 安装、启动

安装
curl -sSL https://get.daocloud.io/docker | sh

或者

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
启动、停止

重启docker服务

 sudo service docker restart

关闭docker

 sudo service docker stop

docker-compose安装

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

部署

如果确定是首次安装,可以直接采用如下命令完成1-4步

git clone https://github.com/OpenIMSDK/Open-IM-Server.git --recursive; cd Open-IM-Server/script ; chmod +x *.sh ; ./env_check.sh;cd .. ; docker-compose up -d;cd script ; ./docker_check_service.sh

在这里插入图片描述

端口开放

需要开通外网端口(TCP):17778(消息,必须开),10000(API,必须开), 30000(jssdk专用,需要才开), 42233 (短信验证码端口,需要才开),25(邮箱验证码端口,需要才开)

如果check成功,但是端口连接不上,一般是端口开放或者防火墙问题导致。

当然也可以不开通以上端口,而通过nginx做转发。

web端一键部署

环境要求

  • node 14.17.5+

开发测试

  • 拉取项目
    git clone https://github.com/OpenIMSDK/Open-IM-PC-Web-Demo.git
    
  • 安装依赖
    npm install
    
  • 修改配置

    配置文件位置为: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 port
    export const IMURL = "ws://47.112.160.66:30000"
    //	获取cos临时密钥地址
    export const COSAUTHORIZATIONURL = "http://47.112.160.66:10000"
    //	cos bucket
    export const COSBUCKET = "echat-1302656840"
    //	cos	region
    export const COSREGION = "ap-chengdu"
    //	cos 缩略图格式配置
    export const PICMESSAGETHUMOPTION = "?imageView2/1/w/200/h/200/rq/80"
    
  • Web运行调试

    默认运行端口为3000

    npm run start:renderer
    
  • 打包部署

    打包生成文件在项目根目录build文件夹下,将文件夹内容上传服务器部署即可。

    npm run build:renderer
    

重点特性展示

在这里插入图片描述
在这里插入图片描述

关于我们

托云信息技术(成都)有限公司

我们致力于通过开源模式,为全球企业/开发者提供简单、易用、高效的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都具备即时通讯能力。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐