野火IM是专业级的即时通讯和实时音视频整体解决方案,由北京野火无限网络科技有限公司维护和支持。
- 极致地硬件利用率,IM服务最低128M内存即可运行,上不封顶。
- 协议先进,采用MQTT+Protobuf组合,流量和性能极致优化。
- 性能强大,专业版IM服务支持百万在线和集群部署,业内顶尖性能水平,详情参考野火性能报告。
- 部署运维简单,依赖服务少,稍加配置一键启动。
- 安全加密。网络连接AES加密。客户端数据库SqlCipher加密。安全无小事。
- 全平台客户端,支持Android、iOS、Web、小程序、UniApp、Flutter、Windows、Mac OS、Linux等所有常见平台。
- 四端同时在线(移动端,pc端,web端和小程序端),数据和状态多端完美同步。
- 支持国产化。支持国产化操作系统、国产化芯片和国产操作系统。支持国密加密。
- 客户端使用微信mars连接库,野火IM可能是最适应**网络国情的即时通讯服务。
- 支持加速点加速,即可用于全球应用,也可用于政企内外双网复杂的网络环境。
- 支持阅读回执和在线状态功能,适用于办公环境。
- 音视频多种解决方案,丰俭由人,可自由选择。
- 高级音视频功能强大,支持9人以上的群组视频通话,支持1080P视频,支持会议模式,支持百人以上会议,支持服务器端录制。
- 全私有部署,可不依赖任何第三方服务,完全内网部署。
- 功能齐全,涵盖所有常见即时通讯功能。另外具有强大的可扩展能力。代码开源率高,二次开发简单。
- 结构设计合理,客户端分功能库、UI库和应用三层。应用成熟完善,开箱即用,也可把SDK嵌入其它应用。
- 拥有应用开放平台,可以开发和创建自建应用,扩展您的工作台。
- API丰富,方便与其它服务系统的对接。
- 拥有机器人和公众号功能。
- 社区版IM服务和移动端免费商用,可以免费构建出完备的移动互联网应用。
- 收费项目非常便宜,野火独有的试用模式,可以先部署到客户环境试用6个月,试用满意后再购买,避免上当受骗。
- 技术支持专业和高效,核心研发人员及时处理issue和论坛回复。
主要包括以下项目:
GitHub仓库 | 码云仓库 | 说明 |
---|---|---|
im-server | im-server | 野火社区版IM服务,野火IM的核心服务,处理所有IM相关业务。 |
app-server | app-server | Demo应用服务,模拟客户的应用服登陆处理逻辑及部分二次开发示例。 |
robot_server | robot_server | 机器人服务,演示野火机器人对接其它系统的方法。 |
push_server | push_server | 推送服务器,可以对接所有的系统厂商推送服务或者第三方推送服务。 |
wf-minio | wf-minio | 私有对象存储服务,用来支持野火IM专业版的文件存储。 |
wf-janus | wf-janus | 高级音视频媒体服务。 |
open-platform | open-platform | 野火开放平台服务。 |
daily-report | daily-report | 野火开放平台日报 demo服务。 |
channel-platform | channel-platform | 野火频道(公众号)平台服务。 |
android-chat | android-chat | 野火IM Android SDK源码和App源码。 |
ios-chat | ios-chat | 野火IM iOS SDK源码和App源码。 |
pc-chat | pc-chat | 基于Electron的PC 端,支持Windows、Mac、Linux(包括国产化linux系统和CPU)。 |
web-chat | web-chat | 野火IM Web 端, 体验地址。 |
wx-chat | wx-chat | 小程序平台的Demo(支持微信、百度、阿里、字节、QQ 等小程序平台)。 |
uni-chat | uni-chat | UniApp平台移动端应用(使用原生插件)。 |
uni-wfc-client | uni-wfc-client | UniApp平台原生插件。已商店上架 |
flutter_imclient | flutter_imclient | Flutter平台原生插件。 |
docs | docs | 野火IM相关文档,包含设计、概念、开发、使用说明,在线查看。 |
请使用微信扫码下载安装体验野火IM移动客户端
Web客户端点击这里
PC客户端点这里下载安装。
小程序客户端请用微信扫码
可以按照快速开始来部署应用服务和IM服务,然后打包移动端,就可以完成聊天和通话功能。
之后再部署开放平台服务、频道(公众号)服务、机器人服务、推送服务、Turn服务(音视频服务)来实现完整的应用功能,详情可以详细阅读文档。
商务合作请微信联系:
- 微信1:wildfirechat
- 微信2:wfchat
- 如果大家发现bug,请在GitHub或码云提issue;如果有需求也请给我们提issue。
- 其他问题,请到野火IM论坛进行交流学习
- 关注我们的公众号。我们有新版本发布或者有重大更新会通过公众号通知大家,另外我们也会不定期的发布一些关于野火IM的技术介绍。
我们有核心研发工程师轮流值班处理issue和论坛,会及时处理的,疑难Bug的修改和新需求的开发我们也会尽快解决。
mvn clean package
生成的目标文件在./distribution/target/distribution-xxxx-bundle-tar.tar.gz
解压distribution-xxxx-bundle-tar.tar.gz
,修改解压出来的config
目录下的wildfirechat.conf
,可以阅读配置文件注释和文档,对其它配置项进行调整。
在解压distribution-xxxx-bundle-tar.tar.gz
后的目录下运行如下命令:
./bin/wildfirechat.sh
- 在浏览器中输入地址
http://${ip}/api/version
可以看到返回一个json文件。 - 部署应用服务,配置和编译Android客户端和iOS客户端进行验证。详情可参考快速开始。
打包会生成Java包和deb安装包,如果需要rpm安装包,请在distribution/pom.xml
中取消注释生成rpm包的plugin。另外还需要本地安装有rpm,在linux或者mac系统中很容易安装,在windows系统需要安装cygwin并安装rpm,具体信息请百度查询。
修改之后运行编译命令mvn clean package
,rpm包生成在distribution/target
目录下。
- 从0.42 版本增加了群成员数限制,默认为2000。如果您从之前的版本升级到这个版本或以后,需要注意到群成员数的限制。升级之后超出限制的群不受影响,但不能继续加人,如果您想修改默认值,可以在升级版本之后,修改t_setting表,把默认的大小改为您期望的人数。另外修改t_group表,把已经存在的群组max_member_count改成您期望的,然后重启。
- 0.50版本添加了是否允许客户端发送群操作通知的配置。如果您在客户端自定义群通知,需要在服务器端配置允许,没有使用自定义群操作通知的不受影响。***
- 0.46和0.47版本升级到0.48及以后版本时,可能会提示flyway migrate 38错误,请执行 修复脚本 进行修复。0.46和0.47版本之外的版本不会出现此问题。
- 从0.54之前版本升级到0.54及以后版本时,会提示flyway migrate错误。因为0.54版本删除了sql脚本中默认敏感词的内容,flyway checksum失败。请执行
update flyway_schema_history set checksum = 0 where script = 'V17__add_default_sensitive_word.sql';
来修复。 - 从0.59之前的版本升级到之后的版本执行数据库升级时间比较长,请耐心等待提示运行成功,避免中途中断。
- 0.62/0.63 版本有严重的问题,请使用0.64及以后版本,或者0.61版。
- 从0.68 版本起添加了pc在线是否默认手机接收推送的开关,默认为开,与以前版本作用相反,请注意兼容(可以关掉与之前保持一致或者升级客户端)
- 从0.78 版本起把MySQL数据库中关键字都改为大小写敏感,另外生成id的方法也做了改变,只生成小写的id,避免出现id重复的问题,建议所有客户都升级
- 从0.79 版本起把log4j升级到log4j2,因为log4j已经不再维护而且还有已知的漏洞,建议所有客户都升级,升级时注意更新log4j2的配置文件
- 0.97版本更改了启动脚本
wildfirechat.sh
,如果是升级服务,请注意更新启动脚本。
登录界面
会话列表
好友列表
工作台
发现
我的页面
消息聊天
动态表情
语音消息
位置消息
拍摄图片或者小视频
会话设置
朋友圈
新好友
多人视频通话
会议主页
会议详情
会议界面
PC客户端界面
移动客户端、PC客户端和Web客户端三端同框
小程序客户端
公众号管理后台
开放平台管理后台
IM服务管理后台
更多详细信息请下载demo进行体验。
*** 对他们表示诚挚的感谢🙏 ***
- Under the Creative Commons Attribution-NoDerivs 3.0 Unported license. See the LICENSE file for details.