Giter VIP home page Giter VIP logo

xxim-server's Introduction

xxim

xxim-server是一个功能超多的开箱即用的IM服务器。它的诞生是为了让每个人都能使用自己的IM APP,不需要再使用令人不爽的第三方IM APP。xxim-server是一个开源项目,欢迎大家一起来完善它。

Go Go Report Card Release Go Reference Awesome Go License: MIT XXIM

⚠️⚠️⚠️⚠️⚠️⚠️

Status:

代码重构升级中,在线体验暂时不可用。

⚠️⚠️⚠️⚠️⚠️⚠️

🤷‍ xxim 介绍

简体中文 | English

xxim-server代码不复杂,im大多逻辑都在于客户端,所以xxim-server只是一个简单的im服务器,但它具备了一个IM应有的全部功能。

在线体验:惺惺企业

全平台sdk:xxim_sdk_universal 正在开发中,欢迎各原生平台开发者加入。通用sdk选择使用rust开发,因为rust的性能和安全性都是目前最好的。

包括但不限于:

  • 发送消息(可定时的、可群发),包括:文本、图片、语音、视频、文件、位置、名片、撤回、转发、@、表情、对方正在输入、自定义消息等
  • 按需拉取离线消息,且没有消息数量/天数限制
  • 群聊20万成员上限
  • 端对端加密(ECOD密钥协商算法)
  • p2p连接,无公网ip也能搭建属于自己的im服务器。(也可以使用传统网络方式)
  • 当用户不在线时,通过厂商推送(极光、腾讯、Mob)将消息推送给用户

xxim的背景

2022年初,我们公司的社交产品需要一个IM,但是我们不想使用第三方IM,所以我们自己开发了一个IM,但是我们发现开发一个IM并不容易,所以我们决定开源出来,让更多的人能够使用自己的IM。

  • 服务端使用 Go 语言开发
    • 高性能
    • 简单语法,易于维护代码
    • 部署简单
    • 服务器资源占用少
  • 客户端sdk使用 rust 开发
    • 高性能
    • 安全性高
    • 原生async/await,很适合客户端开发
    • 动静态库体积小

xxim的设计原则

通过im服务器,我们希望解决以下问题:

  • 聊天受监控
  • 消息漫游天数有限制
  • 群聊人数有限制
  • 消息占用磁盘空间过大

xxim-server 架构

点点star! ⭐

如果你喜欢或正在使用这个项目来学习或开始你的解决方案,请给它一个星。谢谢!

Star History Chart

帮助我们 🙏

如果你想帮助我们,可以投几个币给我们,你们的支持是我们开发的最大动力。

支付宝 微信 币安(USDT)
AliPay WechatPay binance

xxim-server's People

Contributors

showurl 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.