Tinode

A federated instant messaging platform with a Go backend and native clients for mobile and web.

Tinode screenshot 1

Tinode is an open-source, self-hosted instant messaging platform. It provides a full-stack communication system consisting of a backend server and multiple client implementations for different platforms. The software is designed to support federated messaging, allowing for decentralized communication that is difficult to track or block. It is intended as a modern platform for mobile-first communication and a replacement for older federated protocols.

The system is deployed as a server that handles message routing and user management. Users access the service through native applications for Android and iOS, a ReactJS-based web application, or via gRPC for custom integrations. It supports various transport methods, including JSON over websockets, long polling, and protobuf with gRPC. The server can be installed via standard instructions or through Docker for easier deployment.

Key features

  • One-on-one and group messaging with synchronized chats across devices
  • Video and voice calls alongside voice message support
  • Channels with an unlimited number of read-only subscribers
  • Markdown-style rich formatting with inline images and file attachments
  • Support for chatbots using forms and templated responses
  • Sharded clustering with failover for high availability
  • Integration with local file systems or Amazon S3 for large object storage
  • Support for multiple database backends including MySQL, PostgreSQL, and MongoDB
  • Granular access control and custom authentication backend support

The backend is written in Go and utilizes a pluggable architecture to extend functionality for moderation or automation. It is built for developers and administrators who require a scalable messaging infrastructure with flexible client options. The server supports a wide range of language bindings, including C++, C#, Java, Node, PHP, Python, and Ruby through gRPC. For administrative tasks, the software includes a scriptable command-line tool and supports anonymous users for specific use cases like technical support.

Tinode positions itself as a modern platform for federated instant messaging with a specific emphasis on mobile communication.

Last Modified
Software TypeWeb App / Server
Platform
Last Activity1 month ago
Repository Age11 years
LicenseGPL-3.0
Open Source Alternative to
Open Source Software.io

Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.