OpenSource-Hub
C

chat

SHA-256
13.3k stars·Privacy Protection·SHA-256 checksum verified

Open source instant messaging server with federated design, native apps for Android, iOS, Web, and gRPC support.

Smart Download

Download Download Version

v0.25.2 · 36.1 MB

Self-hostable instant messaging server like open-source WhatsApp/Telegram with federated privacy.

Core Features

  • One-on-one, group chats and channels
  • Voice/video calls and voice messages
  • Cross-device message sync
  • Rich formatting (Markdown, images, attachments)
  • Message status (delivered, read, typing)

What It Can't Do

  • Beta quality: may have minor bugs. Sandbox server resets daily. Web client requires TLS with SNI. Default debug verification code is 123456 (disable in production).

Use Cases

  • Private internal chat system for companies or teams
  • Alternative to WhatsApp/Telegram with full data control
  • Self-hosted replacement for Slack or Microsoft Teams

Detailed Introduction

Tinode is a full-stack instant messaging platform designed to replace XMPP with a modern, federated architecture. The backend is written in pure Go (GPL 3.0), while clients for Android (Java), iOS (Swift), and Web (ReactJS) are available under Apache 2.0. It supports JSON over WebSocket or Protobuf via gRPC. Key features include one-on-one and group messaging, voice/video calls, channels, cross-device synchronization, granular access control, rich formatting, message status notifications, and chatbot support. Tinode emphasizes privacy and decentralization, making it harder to track and block. It is beta-quality but feature-complete and stable. A public demo service is available.

Troubleshooting & FAQ (2)

Troubleshooting
Why does Tinode Docker container fail with 'invalid port ":3306)" after host' error when using MySQL DSN?

This is a known bug in the parsing of the MySQL DSN when a port is explicitly included in the host part (e.g., tcp(mysql:3306)). Workaround: remove the port number from the DSN since 3306 is the MySQL default. Use a DSN like: 'tinode:password@tcp(mysql)/tinode?parseTime=true'. The bug has been fixed in commit f1c4a4b; update to the latest development image if possible.

GitHub Issue #974
Troubleshooting
Why does Tinode server return 200 OK when password is shorter than the configured minimum length?

A bug caused the server to swallow the password policy error and delete the incomplete user record without notifying the client. The client would get a 200 OK but the user was not created. This is fixed in the development branch (commit 8678ed8b). Upgrade to the latest version or apply the patch to get a proper 422 policy violation response.

GitHub Issue #975

Tags

instant messagingfederateddecentralizedopen sourcegocross-platformprivacychatgroup chatvoice/video calls

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Double-click the downloaded installer and follow the prompts

3

Download latest release or clone the repo

4

Follow INSTALL.md or docker/README.md to configure and start the server

5

Connect with official Android/iOS/Web clients and start chatting

Install Guide
  1. Download latest release or clone the repo
  2. Follow INSTALL.md or docker/README.md to configure and start the server
  3. Connect with official Android/iOS/Web clients and start chatting
File Integrity

SHA-256 checksum verified

Checksum extracted from GitHub official Release page

SHA256 Checksum

f05064e6e0a44bb1e5117bb7284fadd51e29589f3a7e55cd6b68be5bbf7f030d

This checksum is extracted from the GitHub Release page. Verify file integrity after download.

All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.

Open Source Transparency

View GitHub Source
Environment Guide

Uninstall Info

Remove the server binary, config file, and database (e.g., SQLite file or MySQL database). For Docker, delete the container and image.

No Extra Dependencies

Ready to use after download. No additional runtime required.

Project Info
LicenseGPL 3.0
Last Updated2026-06-27 11:55:07
GitHub RepositoryOfficial Website

Having issues? Check the FAQ below

2 FAQs

Similar Projects