Poezio is a free console XMPP client (the protocol on which the Jabber IM network is built). Its goal is to let you connect very easily (no account creation needed) to the network and join various chatrooms, immediately. It tries to look like the most famous IRC clients (weechat, irssi, etc). Many commands are identical and you won't be lost if you already know these clients. Configuration can be made in a configuration file or directly from the client. You'll find the light, fast, geeky and anonymous spirit of IRC while using a powerful, standard and open protocol.
Says it can even be used without an account. Maybe link-layer chat via mDNS?
The first messaging platform operating without user identifiers of any kind - 100% private by design! iOS, Android and desktop apps! The channel through which you share the link does not have to be secure - it is enough that you can confirm who sent you the message and that your SimpleX connection is established.
SimpleX is a client-server network with a unique network topology that uses redundant, disposable message relay nodes to asynchronously pass messages via unidirectional (simplex) message queues, providing recipient and sender anonymity.
Unlike P2P networks, all messages are passed through one or several server nodes, that do not even need to have persistence. In fact, the current SMP server implementation uses in-memory message storage, persisting only the queue records. SimpleX provides better metadata protection than P2P designs, as no global participant identifiers are used to deliver messages, and avoids the problems of P2P networks.
Unlike federated networks, the server nodes do not have records of the users, do not communicate with each other and do not store messages after they are delivered to the recipients. There is no way to discover the full list of servers participating in SimpleX network. This design avoids the problem of metadata visibility that all federated networks have and better protects from the network-wide attacks.
Modern XMPP is an independent project launched to improve the quality of user-to-user messaging applications that use XMPP. XMPP is a mature open standard for internet messaging. If you are reading this, you have probably heard of it.
We are developing a handful of simple documents aimed at people who wish to build on top of XMPP. The recommendations are derived from healthy discussions between developers from multiple XMPP projects and other members of the XMPP community.
Our recommendations highlight only the XEPs you need to implement for a modern messaging application, ignoring historical cruft and excessive backwards-compatibility.
We also intend to provide a comprehensive set of guidelines for UI and UX design. Developing a client was never just about the protocol. In fact in most cases the protocol is a secondary concern. Having a concrete set of guidelines will help to provide a more uniform user experience between different applications, ensuring they use the same terminology, and provide interoperable feature sets.
A fork of the Psi IM client which is actually maintained and updated. Rolling releases - as new features and fixes are added, new releases come out. Cross platform - I use it on my Linux desktops and my OSX machine for work and it's quite solid. The configuration menus are a little tricky and hard to navigate, so you'll have to go through them a couple of times before you get things set up the way you want them. Customizable - themes, fonts, et al can be tweaked. Also has a plugin system so you can install add-ons.
An open source XMPP client for Android. Supports OMEMO. Supports multiple accounts simultaneously. Uses your Google Contacts to store its contact information. Available in both the Google Play store and F-Droid.
Profanity is a console based XMPP client written in C using ncurses and libstrophe, inspired by Irssi. Cross platform, lightweight, very handy. Takes a bit of fiddling to manage multiple accounts, though.
Telegram is a popular messaging application. This library is meant to make it easy for you to write Python programs that can interact with Telegram. Think of it as a wrapper that has already done the heavy job for you, so you can focus on developing an application. Designed for use with a user or a bot account (bot API alternative).
An XMPP library for use with Python 3.4+ asyncio. Can be used with v3.3 if you install the asyncio module (it comes with v3.4 and later). Tries to shield you from working with XML. Requires TLS by default.
Please note that this does not point to the Github repo, but the maintained Codeberg repo.
A CLI tool for interacting with the Matrix chat network. Can probably be used as a client, but it's actually designed to build other tools on top. Only uses the matrix-python-sdk module.
Instant messaging server. Backend in pure Go (license GPL 3.0), client-side binding in lots of different languages. Also supports gRPC and HTTP(S)+Websockets. Supports persistent storage with a back-end database.
This is not XMPP, but I added the tag so it's easier to find later.
This is also a proof-of-concept web client: https://github.com/tinode/webapp/
An Ansible playbook for setting up an Ansible XMPP server as a Tor hidden services. Notable because there's a main.yml file that describes how to configure the Tor hidden service itself. It lists all the ports that have to be available at the hidden service. It also has a sample Prosody config file that describes how to configure Prosody to serve up a hidden service and have it work.
This is a module for Prosody that allows federation to other XMPP servers running as Tor hidden services. If you just want to set up a hidden service, you don't really need this.
Another Jabber client for the Linux desktop. Gnome-aware but does not require Gnome. Supports multiple accounts.
One of the earliest (and still maintained) F/OSS IM applications out there. Interfaces with most of the communication networks out there. Has a plugin architecture as well.
Off-the-Record (OTR) Messaging allows you to have private conversations over instant messaging by providing encryption, authentication, deniability and perfect forward secrecy.
Somebody implemented an interactive fiction adventure on a Jabber server. add soul_tracker.jabber.org to your contact list and send something to that account.
Element is an IM and chat application running on top of the Matrix protocol that features interoperability with several other systems, including IRC, Gitter, and Slack. It features a full implementation of end-to-end encryption. Support for service integrations.
Github: https://github.com/vector-im/element-web
Save yourself some trouble, just download the latest releases.