Instant messaging server. Backend in pure Go (license GPL 3.0), custom client-side binding in Java and Javascript, as well as gRPC client support for C++, C#, Go, Java, Node, PHP, Python, Ruby, Objective-C (license Apache 2.0). Wire transport is JSON over websocket (long polling is also available) for custom bindings, or protobuf over plain TCP for gRPC. Persistent storage RethinkDB and MySQL (experimental). A third-party DynamoDB adapter also exists. Other databases can be supported by writing custom adapters.
Tinode is meant as a replacement for XMPP. On the surface it's a lot like open source WhatsApp or Telegram.
Version 0.14. This is beta-quality software: feature-complete but probably with a few bugs. Follow instructions to install and run. Read API documentation.
A javascript demo is usually available at https://api.tinode.co/x/example-react-js/ (source). Login as one of alice, bob, carol, dave, frank. Password is <login>123, e.g. login for alice is alice123. You can discover other users by email or phone by prefixing them with email: or tel: respectively. Emails are <login>@example.com, e.g. [email protected], phones are 17025550001 through 17025550009. The demo server is reset (all data wiped) every night at 3:15 am Pacific time. If you see an error message User not found or offline, it means the server was reset while you were connected. If yu see it just reload and relogin.
User Tino is a basic chatbot which responds with a random quote to any message.
Android demo is mostly stable and functional. See screenshots below.
A text-only command line client implements every possible command.
The demo server is configured to use ACME TLS implementation with hard-coded requirement for SNI. If you are unable to connect then the most likely reason is your TLS client's missing support for SNI. Use a different client.
XMPP is a mature specification with support for a very broad spectrum of use cases developed long before mobile became important. As a result most (all?) known XMPP servers are difficult to adapt for the most common use case of a few people messaging each other from mobile devices. Tinode is an attempt to build a modern replacement for XMPP/Jabber focused on a narrow use case of instant messaging between humans with emphasis on mobile communication.
Content type
Image
Digest
Size
310.8 MB
Last updated
over 8 years ago
docker pull masachi/docker-tinode:tinode-init-db