Giter VIP home page Giter VIP logo

im-server's Introduction

野火IM解决方案

野火IM是专业级的即时通讯和实时音视频整体解决方案,由北京野火无限网络科技有限公司维护和支持。

功能特性

  • 极致地硬件利用率,IM服务最低128M内存即可运行,上不封顶。
  • 协议先进,采用MQTT+Protobuf组合,流量和性能极致优化。
  • 性能强大,专业版IM服务支持百万在线和集群部署。
  • 部署运维简单,依赖服务少,稍加配置一键启动。
  • 安全加密。网络连接AES加密。客户端数据库SqlCipher加密。安全无小事。
  • 全平台客户端,四端同时在线(移动端,pc端,web端和小程序端),数据和状态多端完美同步。
  • 支持国产化。支持国产化操作系统、国产化芯片和国产操作系统。支持国密加密。
  • 客户端使用微信mars连接库,野火IM可能是最适应**网络国情的即时通讯服务。
  • 支持加速点加速,即可用于全球应用,也可用于政企内外双网复杂的网络环境。
  • 支持阅读回执和在线状态功能,适用于办公环境。
  • 音视频多种解决方案,丰俭由人,可自由选择。
  • 高级音视频功能强大,支持9人以上的群组视频通话,支持1080P视频,支持会议模式,支持百人以上会议,支持服务器端录制。
  • 全私有部署,可不依赖任何第三方服务,完全内网部署。
  • 功能齐全,涵盖所有常见即时通讯功能。另外具有强大的可扩展能力。Demo成熟完善,基本可以做到开箱即用,也可把SDK嵌入其它应用。
  • 拥有应用开放平台,可以开发和创建自建应用,扩展您的工作台。
  • API丰富,方便与其它服务系统的对接。
  • 拥有机器人和频道功能。
  • 代码开源率高,二次开发简单。可以先试用3到6个月,二开搞定后再购买。

野火开源项目

主要包括以下项目:

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相关文档,包含设计、概念、开发、使用说明,在线查看

野火开发文档

在线文档

野火Demo

请使用微信扫码下载安装体验野火IM移动客户端

野火IM

Web客户端点击这里

PC客户端点这里下载安装。

小程序客户端请用微信扫码

野火IM

快速使用

野火提供免费的社区版IM服务和移动端,包括完整的移动端即时通讯和实时音视频功能,可以无条件商用。您可以直接从开源项目里下载到完整的后端和移动端产品,包括社区版IM服务、应用服务、开放平台服务、频道(公众号)服务、机器人服务、推送服务以及Android和iOS端源码。可以按照快速开始来部署应用服务和IM服务,然后打包移动端,以最小化运行。之后可以详细阅读文档部署其他支撑服务。

应用截图

ios-demo

编译

在安装JDK1.8以上及maven的前提下,在命令行中执行mvn clean package,生成的目标文件在./distribution/target/distribution-xxxx-bundle-tar.tar.gz

由于使用了一个git的maven插件,如果本地没有git信息就会编译出错,请使用git clone的方法下载代码,或者下载压缩包解压后在根目录创建.git的空目录。建议用git clone的方式下载代码。

配置

解压distribution-xxxx-bundle-tar.tar.gz,修改解压出来的config目录下的wildfirechat.conf。修改如下部分:

  1. 修改server.ip为您的服务器的公网IP,或者域名。如果用域名需要做好域名解析。
  2. 可以阅读配置文件注释和文档,对其它配置项进行调整。

运行

在程序目录运行如下命令:

./bin/wildfirechat.sh

验证

  1. 在浏览器中输入地址 http://${ip}/api/version可以看到返回一个json文件。
  2. 部署应用服务,配置和编译Android客户端iOS客户端进行验证。详情可参考快速开始

升级说明

  1. 从0.42 版本增加了群成员数限制,默认为2000。如果您从之前的版本升级到这个版本或以后,需要注意到群成员数的限制。升级之后超出限制的群不受影响,但不能继续加人,如果您想修改默认值,可以在升级版本之后,修改t_setting表,把默认的大小改为您期望的人数。另外修改t_group表,把已经存在的群组max_member_count改成您期望的,然后重启。
  2. 0.46和0.47版本升级到0.48及以后版本时,可能会提示flyway migrate 38错误,请执行 修复脚本 进行修复。0.46和0.47版本之外的版本不会出现此问题。
  3. 从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';来修复。
  4. 从0.59之前的版本升级到之后的版本执行数据库升级时间比较长,请耐心等待提示运行成功,避免中途中断。

联系我们

商务合作请使用如下邮箱和微信联系:

邮箱: [email protected] 微信1:wfchat 微信2:wildfirechat

问题交流

  1. 如果大家发现bug,请在GitHub提issue;如果有需求也请给我们提issue。
  2. 其他问题,请到野火IM论坛进行交流学习
  3. 关注我们的公众号。我们有新版本发布或者有重大更新会通过公众号通知大家,另外我们也会不定期的发布一些关于野火IM的技术介绍。

我们有研发工程师轮流值班处理issue和论坛,一般简单问题几个小时就会回复一遍,疑难Bug的修改和新需求的开发我们也会尽快解决。

特别感谢

  1. moquette 本项目是基于此项目二次开发而来,处理MQTT相关业务。
  2. loServer 本项目使用loServer处理HTTP相关业务。

*** 对他们表示诚挚的感谢🙏 ***

License

  1. Under the Creative Commons Attribution-NoDerivs 3.0 Unported license. See the LICENSE file for details.

im-server's People

Contributors

andsel avatar heavyrain2012 avatar imhao183 avatar imndx avatar andreasmager avatar swarwick avatar dependabot[bot] avatar wagnerluis1982 avatar muka avatar mackristof avatar teranisi avatar mscheibler avatar maggu2810 avatar hylkevds avatar siqiii avatar sbouchexiv avatar windbender avatar stannislin avatar zhangliangbo avatar runafter avatar mpaatz avatar kevto avatar fjcyue avatar salmanebah avatar ricardojlrufino avatar ningg avatar konradmichael avatar bemisguided avatar mwilliford avatar jcroig avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.