即时通讯IM
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
chao c7a934e8db
Merge pull request #3341 from openimsdk/cherry-pick-56c5c1f
7 months ago
.github feat: check if the secret in config/share.yml has been changed during registration (#3223) 7 months ago
assets feat: Enhance Script Details and Add MacOS Compatibility with Documentation Updates (#1794) 2 years ago
build deps: Merge #2716 #2718 #2719 #2724 #2730 #2770 #2772 #2773 #2775 #2777 #2779 #2782 #2785 #2786 #2789 #2790 #2792 PRs into pre-release-v3.8.2 (#2797) 1 year ago
cmd feat: provide the interface required by js sdk (#2712) 1 year ago
config Merge branch 'pre-release-v3.8.4' into cherry-pick-fa3d251 7 months ago
deployments docs: improve deployment docs in kubernetes. (#2973) 11 months ago
docs fix #2860 migrate jpns to jpush (#2861) 1 year ago
internal Merge pull request #3341 from openimsdk/cherry-pick-56c5c1f 7 months ago
pkg Merge pull request #3341 from openimsdk/cherry-pick-56c5c1f 7 months ago
scripts/template build: update mongo and kafka start logic. (#2858) 1 year ago
test refactor: move stress-test tools location. (#3295) 7 months ago
tools Merge pull request #3340 from openimsdk/cherry-pick-91db181 7 months ago
version fix: oss specifies content-type when uploading (#3267) 7 months ago
.dockerignore 3.6.1 code conventions (#2202) 2 years ago
.env feat: add backup volume && optimize log print (#3066) 10 months ago
.gitattributes remove \r 2 years ago
.gitignore feat: new features merged (#2409) 1 year ago
.golangci.yml License (#3293) 7 months ago
CHANGELOG.md feat: add link file 2 years ago
CODE_OF_CONDUCT.md Feat/add test scripts (#1341) 2 years ago
CONTRIBUTING-zh_CN.md Fix: solve conversation blocking in private chat when non friendship. (#2542) 1 year ago
CONTRIBUTING.md Fix: solve conversation blocking in private chat when non friendship. (#2542) 1 year ago
Dockerfile fix: improve crontask delete outdated Data. (#2901) 12 months ago
LICENSE Update LICENSE 8 months ago
README.md License (#3293) 7 months ago
README_zh_CN.md License (#3293) 7 months ago
bootstrap.bat refactor: 3.7.0 code conventions. (#2148) 2 years ago
bootstrap.sh 3.6.1 code conventions (#2202) 2 years ago
docker-compose.yml feat: add backup volume && optimize log print (#3066) 10 months ago
go.mod Merge branch 'pre-release-v3.8.4' into cherry-pick-1697651 7 months ago
go.sum feat: GetConversationsHasReadAndMaxSeq support pinned (#3281) 7 months ago
install.sh fix: reconstruct the script of 'make start' 'make stop' and 'make check' (#1953) 2 years ago
magefile.go Skip minio check (#2281) 2 years ago
magefile_unix.go refactor: 3.7.0 code conventions. (#2148) 2 years ago
magefile_windows.go refactor: 3.7.0 code conventions. (#2148) 2 years ago
start-config.yml Fix err (#2608) 1 year ago

README.md

👥 Join Our Community

Ⓜ️ About OpenIM

Unlike standalone chat applications such as Telegram, Signal, and Rocket.Chat, OpenIM offers an open-source instant messaging solution designed specifically for developers rather than as a directly installable standalone chat app. Comprising OpenIM SDK and OpenIM Server, it provides developers with a complete set of tools and services to integrate instant messaging functions into their applications, including message sending and receiving, user management, and group management. Overall, OpenIM aims to provide developers with the necessary tools and framework to implement efficient instant messaging solutions in their applications.

App-OpenIM Relationship

🚀 Introduction to OpenIMSDK

OpenIMSDK, designed for OpenIMServer, is an IM SDK created specifically for integration into client applications. It supports various functionalities and modules:

  • 🌟 Main Features:

    • 📦 Local Storage
    • 🔔 Listener Callbacks
    • 🛡️ API Wrapping
    • 🌐 Connection Management
  • 📚 Main Modules:

    1. 🚀 Initialization and Login
    2. 👤 User Management
    3. 👫 Friends Management
    4. 🤖 Group Functions
    5. 💬 Session Handling

Built with Golang and supports cross-platform deployment to ensure a consistent integration experience across all platforms.

👉 Explore the GO SDK

🌐 Introduction to OpenIMServer

  • OpenIMServer features include:
    • 🌐 Microservices Architecture: Supports cluster mode, including a gateway and multiple rpc services.
    • 🚀 Diverse Deployment Options: Supports source code, Kubernetes, or Docker deployment.
    • Massive User Support: Supports large-scale groups with hundreds of thousands, millions of users, and billions of messages.

Enhanced Business Functions:

  • REST API: Provides a REST API for business systems to enhance functionality, such as group creation and message pushing through backend interfaces.

  • Webhooks: Expands business forms through callbacks, sending requests to business servers before or after certain events.

    Overall Architecture

🚀 Quick Start

Experience online for iOS/Android/H5/PC/Web:

👉 OpenIM Online Demo

To facilitate user experience, we offer various deployment solutions. You can choose your preferred deployment method from the list below:

System Support

Supports Linux, Windows, Mac systems, and ARM and AMD CPU architectures.

✍️ How to Contribute

We welcome contributions of any kind! Please make sure to read our Contributor Documentation before submitting a Pull Request.

Thank you for contributing to building a powerful instant messaging solution!

📕 License

This software is licensed under a dual-license model:

  • The GNU Affero General Public License (AGPL), Version 3 or later; OR
  • Commercial license terms from OpenIMSDK.

If you wish to use this software under commercial terms, please contact us at: contact@openim.io

For more information, see: https://www.openim.io/en/licensing

🔮 Thanks to our contributors!