delightful xmpp 
Software, implementations, and developer resources that are related to federated XMPP (Jabber) protocol and platform.
XMPP
XMPP (formerly Jabber) is the Extensible Messaging and Presence Protocol, a set of open technologies for instant messaging, presence, multi-party chat, voice and video calls, collaboration, lightweight middleware, content syndication, and generalized routing of XML data. For more information on the XMPP protocol see http://xmpp.org/about-xmpp/.
Legend
Brand
A component or plugin for which a particular software is designed for.
🦔 ejabberd
🔥 Openfire
🐦 Pelican
🪶 Poezio
🐯 Tigase
Feature
A highlighted feature of special characteristic.
📱 PDA - Mobile device compatibility.
📰 PubSub - Publishing support.
📝 XEP-0479: XMPP Compliance Suites 2023.
Message
A current attention message concerning to a project.
⚠ A message of concern
⛑ Developers wanted
🛟 Help wanted
🚧 Maintainers wanted
Mode
👥 Group chat
👤 Private chat
Contents
XMPP References
- XMPP - Official site.
- stpeter.im - Peter Saint-Andre.
- XMPP Providers - Curated List of Providers for Registration and Autocomplete.
- xmppbl.org - Provides a Real-Time Block List (RTBL) service for XMPP.
Documents
- manifesto - A public statement about ubiquitous encryption on the federated XMPP network.
- sip-xmpp - IETF specifications for SIP-XMPP interworking.
- RTBL protection for XMPP channels - Protect your public channels from known sources of spam and abuse.
Community
- JoinJabber - Community for XMPP.
- Modern XMPP - Project for XMPP.
- XMPP - Shadow Wiki
- XMPP - Shadow Wiki (I2P)
Campaign
- Off to XMPP - An introduction to XMPP.
- OMEMO - Tracking the progress of OMEMO integration in XMPP clients.
Applications
Chat clients
Adium
Adium is a free instant messaging application for macOS which lets you connect accounts on multiple chat networks simultaneously. This means that you can be chatting with friends on XMPP and sitting in an IRC channel at the same time.
another.im
The Another Instant Messenger is not a messenger, don't believe the words.
We offer a standardized xmpp-client with predicted features which work equally on all platforms.
For our clients we have realized pure XMPP and you won't step on a hedgehog unexpectedly when you communicate with another XMPP client or server.
📱 PDA compatible
Aparté
Simple XMPP console client written in Rust and inspired by Profanity.
It supports OMEMO and can display images thanks to sixel.
aTalk
XMPP/Jabber client with encrypted instant messaging and video calls.
An encrypted instant messaging with video call and GPS features for Divest OS.
- Homesite
- Package (F-Droid)
- Package (Play)
- Source code
📱 PDA compatible
BombusMod
BombusMod is a mobile XMPP client.
📱 PDA compatible
Beagle
Beagle IM by Tigase, Inc. is a lightweight and powerful XMPP client for macOS.
It provides an easy way to start using XMPP protocol (formelly known as Jabber) if you have never used it before.
Veterans of the protocol will find many features with which they are familiar and a few enhancements.
- Homesite
- Group chat (MIX)
- Group chat (MUC)
- Package
- Source code
📱 PDA compatible
blabber.im
blabber.im is a fork of Conversations. The changes aim to improve usability and ease transition from pre-installed and other widespread messengers.
📱 PDA compatible
Bruno
Bruno is the cutest Jabber/XMPP Instant Messaging (IM) app available. It is a themed version of the open source yaxim app.
You can use Bruno if the other IM apps are just not stylish enough.
Candy
A JavaScript-based multi-user chat client.
There are plenty of HTML-based chat clients out there. Most of them are built to emulate your instant messenger. They offer you tons of settings. They can join multiple networks, let you edit your profile, and even manage your message history.
Candy is different. It is built for your community.
Chat-O-Matic
A multi-protocol chat program for Haiku.
Protocols natively supported include IRC and XMPP.
ChatSecure
ChatSecure is a free and open source messaging app that features OMEMO encryption and OTR encryption over XMPP.
Unlike other apps that keep you stuck in their walled garden, ChatSecure is fully interoperable with other clients that support OMEMO or OTR and XMPP.
📱 PDA compatible
Chatty
A simple to use messaging app for 1:1 communication and small groups supporting SMS, MMS, Matrix and XMPP.
📱 PDA compatible
Cheogram
The Cheogram Android app allows you to join a worldwide communication network.
It especially focuses on features useful to people who want to contact those on other networks as well, such as SMS-enabled phone numbers.
- Homesite
- Group chat
- Package (Aptoide)
- Package (F-Droid)
- Source code
📱 PDA compatible
Conversations
The very last word in instant messaging. Conversations is an encrypted, easy-to use XMPP instant messenger for your mobile device.
It is compatible with Android 5.0+ smartphones and has been optimized to provide a unique mobile experience. It is easy to use, reliable, battery friendly, with built-in support for images, group chats and e2e encryption.
- Homesite
- Group chat
- Package (F-Droid)
- Package (Play)
- Source code
📱 PDA compatible
Converse
Converse is a free and open-source XMPP chat client that runs from browsers and desktops.
You can use it as a browser chat app, integrate it into your own site, or use it directly from your desktop or mobile devices.
It is 100% client-side JavaScript, HTML and CSS and the only backend required is a modern XMPP server.
📱 PDA compatible
Converse Ubuntu Touch
📱 PDA compatible
Convo
A Jabber/XMPP client for Project Pris / GerdaOS and KaiOS devices.
Convo is a basic XMPP messaging client for KaiOS which supports sending of messages to existing contacts and joining to existing groupchats.
The app is a bit limited on its own, but works well along with a companion desktop app.
Convo is still at the state of "work in progress" and is currently under development.
- Group chat
- Package
- Package (BananaHackers)
- Liberapay
- Source code
📱 PDA compatible
CoyIM
CoyIM is a standalone chat client for computers that focuses on safety and security.
It is a self-contained program that is safe from the moment it starts up.
CoyIM only supports one chat protocol - XMPP (sometimes known as Jabber).
When creating CoyIM, we carefully evaluate and pick the features that are necessary to create a good chat experience, while keeping the attack surface of the system to a minimum.
At the same time, we want CoyIM to be part of an open ecosystem. You will not be locked in by using CoyIM. You can talk to people using other XMPP and OTR clients as well. CoyIM also allows you to use accounts you have already created with other software.
- Homesite
- Package
- Package (FreeBSD)
- Source code
Dergchat
Dergchat is a small chat client for the XMPP protocol. It is written in Rust, based on xmpp-rs and Dioxus.
⛑ Developers wanted
Dino
Dino is a modern open-source chat client for desktop and mobile devices, which focuses on providing a clean and reliable Jabber/XMPP experience while having your privacy in mind.
Dino supports end-to-end encryption with OMEMO and OpenPGP and allows configuring privacy-related features such as read receipts and typing notifications.
Dino fetches history from the server and synchronizes messages with other services.
- Homesite
- Group chat
- Package
- Package (Flathub)
- Package (FreeBSD)
- Source code
📱 PDA compatible
eyeCU
Full-featured crossplatform Jabber/XMPP client, a Vacuum-IM fork. The core program is just a plugin loader, all functionality is made available via plugins. This enforces modularity and ensures well defined component interaction via interfaces.
The main idea of eyeCU is improving Jabber communication by adding geolocation-oriented features, like Map, Positioning and Points of Interest with an ability to exchange location with your buddies.
The second is implementation of mordern advanced XMPP extensions, like Personal Events (PEP), XHTML-IM, Message Delivery Receipts, Attention and so on.
Fnord
Fnord Messenger for XMPP.
A Jabber/XMPP chat client which is fair to the eyes.
📱 PDA compatible
Freetalk
GNU Freetalk is a console based chat client for Jabber and other XMPP servers.
It has context sensitive auto-completion for buddy names, commands, and even ordinary English words. Similar to GNU Emacs,
You can customize and extend GNU Freetalk with Scheme language.
- Homesite
- Mailing list
- Package (FreeBSD)
- Source code
Gajim
Gajim aims to be an easy to use and fully-featured XMPP client.
Chat securely, using End-to-End encryption, with your friends or family; easily share pictures and thoughts; or discuss the news with your groups.
Gajim integrates well with your other devices: simply continue conversations on your mobile device.
- Homesite
- Group chat
- Package (Flathub)
- Package (Linux)
- Package (Mac)
- Package (ReactOS)
- Package (Windows)
- Liberapay
- Source code
Irssi
Irssi is a modular text mode chat client. It comes with IRC support built in.
irssi-xmpp is an Irssi plugin to connect to the XMPP network (jabber).
- Homesite
- Package (FreeBSD)
- Package (Haiku)
- Source code
jabber.el
An XMPP client for Emacs
jabber.el is an XMPP client for Emacs. XMPP (also known as 'Jabber') is an IETF-standard federated instant messaging protocol.
Jabberwocky
A Jabber Client for Amiga Computer.
Jabwave
Yet another XMPP/Telegram (unofficial) messenger for Android, designed for modern Android versions with Material Design 2.
📱 PDA compatible
Jackline
A minimalistic secure XMPP client.
Jackline uses several clean-slate libraries (OCaml-TLS, OCaml-OTR) and only has a minimal few features: no support for HTML markup, avatars, which music you're playing, timezone you are living in, ...
Jappix
Jappix, a full-featured XMPP web-client (Jappix Desktop, Jappix Mobile & Jappix Mini).
Jappix is a fresh new open social platform which enables you to host your communication platform wherever you want to. People must be able to get in touch with all their friends on a free decentralized network!
🚧 Maintainers wanted
Jitsi Desktop
Jitsi Desktop (formerly SIP Communicator) is a free open-source audio/video and chat communicator that supports protocols such as SIP, XMPP/Jabber, IRC and many other useful features.
JSXC
JavaScript XMPP Client.
Real-time XMPP chat application with video calls, file transfer and encrypted communication.
- Homesite
- Package
- Package (Nextcloud)
- Source code (jsxc-na)
- Source code
🚧 Maintainers wanted
Kaidan
Kaidan is a user-friendly and modern chat app for every device.
It uses the open communication protocol XMPP (Jabber).
Unlike other chat apps, you are not dependent on one specific service provider, and your privacy is gauranteed more than ever before.
- Homesite
- Group chat
- Package (Android)
- Package (Flathub)
- Package (FreeBSD)
- Package (Linux)
- Install (Discover)
- Source code
📱 PDA compatible
Kaidan Ubuntu Touch
📱 PDA compatible
Kaiwa
Kaiwa is an open source HTML client for XMPP. Kaiwa is a fork of Otalk, a prototype application created by &yet.
Kopete
- Homesite
- IRC channel
- Project
- Package (Flathub)
- Package (FreeBSD)
- Install (Discover)
- Source code
Leech Craft
LeechCraft is a free open source cross-platform modular live environment and internet-client.
LeechCraft allows to chat, browse the internet, read Atom/RSS feeds, download files via BitTorrent, FTP, HTTP and DC, automatically download, play or stream podcasts (and other media files) and much more.
LeechCraft is a modular system, and by installing different modules you can customize the feature set, keeping off the things you do not need and have a decent IM client, media player or a feed reader, for example.
- Homesite
- Package (Linux)
- Package (Mac)
- Package (ReactOS)
- Source code
📰 PubSub
MCabber
mcabber is a small XMPP (Jabber) console client.
mcabber includes features such as SASL/SSL/TLS support, MUC (Multi-User Chat) support, history logging, command completion, OpenPGP encryption, OTR (Off-the-Record Messaging) support, dynamic modules and external action triggers.
- Homesite
- Group chat
- Package (FreeBSD)
- Source code
Miranda NG
A multi-protocol client with extended XMPP support.
Miranda NG is a successor of the popular multi-protocol instant messaging client Miranda IM.
It is very light on system resources and extremely fast.
- Homesite
- Package (ReactOS)
- Source code
Monal
Privacy like it's 1999.
Monal is an XMPP instant messaging client for macOS and iOS which strives to be the go-to client for these platforms just like the app Conversations is for Divest OS.
- Homesite
- Group chat
- Package (iOS)
- Package (Mac)
- Source code
📱 PDA compatible
monocles chat
monocles chat is a modern and secure Android XMPP chat client.
It is based on blabber.im and Conversations, yet has a lot of changes and offers additional features to improve usability and security.
- Homesite
- Group chat
- Package (F-Droid)
- Package (Play)
- Source code
📱 PDA compatible
Movim
Movim is a federated publishing and chat platform that acts as an HTML frontend for the XMPP protocol.
Movim offers a complete social and chat experience for the decentralized XMPP network, and it can easily connect to several XMPP servers at the same time.
Chatrooms, journals, video-conferences; Movim centralizes all that you need to communicate with your colleagues, friends or family in one simple interface.
It also fully adapts to all of your devices from your mobile devices to your desktop computer.
📱 PDA compatible
📰 PubSub
Movim Ubuntu Touch
📱 PDA compatible
📰 PubSub
Moxxy
Moxxy is an experimental XMPP client that aims to be modern and easy to use.
It is currently alpha software. This means that there will be issues with some functionalities. Please do not use Moxxy for anything important at this moment.
- Homesite
- Group chat
- Package (IzzyOnDroid)
- Source code
📱 PDA compatible
nuqql
nuqql is a command line instant messenger inspired by centericq and centerim written in Python and using ncurses.
Pàdé
Browser Extension based XMPP unified communications client
Pàdé is the Yoruba word for "Meet". It is a unified real-time collaboration client optimized for business and organizations implemented as a cross-platform browser extension.
Pandion NG
An easy to use instant messenger based on the open standard XMPP.
🚧 Maintainers wanted
Pidgin
Pidgin is a chat program which lets you log into accounts on multiple chat networks simultaneously. This means that you can be chatting with friends on XMPP and sitting in an IRC channel at the same time.
Pidgin is compatible with the following chat networks out of the box: Jabber/XMPP, Bonjour, Gadu-Gadu, IRC, Novell GroupWise Messenger, Lotus Sametime, SILC, SIMPLE, and Zephyr. It can support many more with plugins.
Pidgin supports many features of these chat networks, such as file transfers, away messages, buddy icons, custom smileys, and typing notifications. Numerous plugins also extend functionality above and beyond the standard features.
- Homesite
- Package
- Package (Flathub)
- Package (FreeBSD)
- Source code
Poezio
Poezio is a free console XMPP client (the protocol on which the Jabber IM network is built).
It allows you to connect very easily (no account creation needed) to the XMPP network, and join to various of chatrooms, immediately.
It mimics the appearance of the most famous IRC clients (weechat, irssi, etc), and it includes many identical commands. You will be immediately familiar, if you already know these clients. Configuration can be made in a configuration file or directly from the client. You will find the light, fast, geeky and anonymous spirit of IRC while using a powerful, standard and open protocol.
- Homesite
- Group chat
- Package
- Package (Flathub)
- Package (Haiku)
- Plugins
- Source code
Profanity
A console based XMPP client.
Profanity is a console based XMPP client written in C using ncurses and libstrophe, inspired by Irssi.
It supports XMPP chat services, MUC chat room, OTR, PGP and OMEMO encryption, roster management, including flexible resource and priority settings, desktop notifications, and it has a plugins system in Python and C.
- Homesite
- Group chat
- Mailing list
- Package (FreeBSD)
- Plugins
- Source code
Prose
Team messaging, built to last. All of your workplace communication lives here.
Decentralized Team Messaging in an Era of Centralized SaaS.
Psi
Psi is a cross-platform powerful XMPP client designed for experienced people.
Fast and lightweight, Psi is fully open-source and compatible with any Qt supported operating system.
Psi+
Psi+ is a development branch of Psi XMPP client. Thanks to rolling release development model Psi+ recieves new features and fixes very quickly.
Project purposes are: implementation of new features, writing of patches and plugins for transferring them to upstream.
- Homesite
- Group chat
- Package
- Package (Haiku)
- Liberapay
- Source code
qutIM
qutIM is module-based multiprotocol instant messenger, based on Nokia Qt. All its functionality and features are implemented through separate plugins.
Renga
A simple but powerful client for chatting on XMPP networks.
Renga supports personal one-to-one chat, group chat, transports, etc. and it provides a clean and easy to use interface.
- Homesite
- Group chat
- Package (Haiku)
- Source code
Siskin
Siskin IM by Tigase, Inc. is a lightweight and powerful XMPP client for iPhone and iPad. It provides an easy way to talk and share moments with your friends.
- Homesite
- Group chat (MIX)
- Group chat (MUC)
- Package (iOS)
- Source code
📱 PDA compatible
Shmoose
XMPP Client for Sailfish OS.
📱 PDA compatible
Smuxi
A free, distributed and user-friendly IRC, and XMPP/Jabber client for Linux, Windows and macOS based on GTK+.
Spark
Spark is an Open Source, cross-platform IM client optimized for businesses and organizations.
It features built-in support for group chat, telephony integration, and strong security.
It also offers a great end-user experience with features like in-line spell checking, group chat room bookmarks, and tabbed conversations.
Speeqe
Speeqe is an HTML based client to XMPP/MUC rooms.
Speeqe is an HTML based, group chat client that works with the XMPP/MUC protocol. It is chat made simple. The purpose is to give to anyone the best and easiest experience in creating chat rooms.
It is a combination of javascript and python code using a collection of open source software and software tools. This collection is nginx or apache for a frontend. The frontend serves the HTML client which is javascript using Strophe and JQuery.
It also proxies to Punjab for the BOSH connection to connect to XMPP XMPP based servers. To tie it all together there is a small amount of django.
⚠ Requires porting from Python version 2 to 3
⚠ Requires porting from SleekXMPP to Slixmpp
⚠ Requires porting from Flusk to FastAPI
Squawk
Squawk is a lightweight XMPP desktop messenger.
The primary objective of this project is to offer you a fast and user-friendly messaging experience that closely aligns with your system style, while also minimizing resource consumption.
Squawk is still at a very early stage and might not suit everyone but you are welcome to try it out.
Stork
Stork IM by Tigase, Inc. is a lightweight and powerful XMPP client for Android.
It provides an easy way to talk and share moments with your friends.
- Homesite
- Group chat (MIX)
- Group chat (MUC)
- Package
- Source code
📱 PDA compatible
Swift
An elegant, secure, adaptable and intuitive XMPP Client.
Swift's clean design and comprehensive feature set make it the logical choice for anyone looking for a cross-platform XMPP client.
Swift is free to use, with optional commercial support contracts available from Isode.
Tkabber
Tkabber is a Free and Open Source client for the Jabber instant messaging system. It's writen in Tcl/Tk, and works on many platforms (tested on Linux, FreeBSD, NetBSD, Solaris, MacOS X and Windows 98/2000/XP).
UWPX
UWPX is a Windows app for your UWP (Windows 10 and Windows 11) devices.
At the moment, development on UWPX has stopped, and we are looking for a new maintainer.
There is support for a wide range of features link bookmarks, user avatars, chat markers and experimental OMEMO support.
- Homesite
- Package (Windows)
- Source code
📱 PDA compatible
🚧 Maintainers wanted
WeeChat
XMPP for power users and digital masochists.
weechat-xmpp is a WeeChat plugin that extends WeeChat to support XMPP, and it currently has a minimal but ideally maximal set of XEPs.
- Homesite
- Package (Haiku)
- Source code
Xabber
Open source Jabber (XMPP) client with multi-account support, and a clean interface to provide you with a first-class chat experience.
Free (as in freedom!) and ad-free, Xabber looks and works great, and is built to provide people with a simple, fast and secure messaging, based on interoperable open standards.
- Homesite
- Package (Android)
- Package (F-Droid)
- Source code
📱 PDA compatible
Xabber Web
Open source Jabber (XMPP) client with multi-account support, and a clean interface to provide you with a first-class chat experience.
Free (as in freedom!) and ad-free, Xabber looks and works great, and is built to provide people with a simple, fast and secure messaging, based on interoperable open standards.
xmpp
XMPP client for Plan 9.
XMPP Web
A lightweight HTML chat client for XMPP servers.
It supports WebSocket, groupchat, roster, bookmarks, file transfer, password protected rooms, chat state notifications, formatting of messages, stickers, room creation and configuration, message moderation, vCard information.
It is lightweight (600 KB gzipped at the first loading and then less than 10 KB)
Guest access /guest?join={jid} (joining a MUC anonymously as described in RFC 4505)
xmppClientCore
A Python-based XMPP client that provides user authentication, contact management, group chat, and account management functionalities through a user-friendly interface built with Tkinter.
yaxim
yaxim (Yet Another XMPP Instant Messenger) is a lean Jabber/XMPP client for Android.
It aims at usability, low overhead and security, and works on low-end Android devices starting with Android 4.0.
- Homesite
- Group chat
- Package (Android)
- Package (Play)
- Source code
📱 PDA compatible
OTR
gajim-otrplugin
OTR plugin for Gajim 1.7+.
News clients
Newsline
Newsline is a news reader which appears as a horizontal bar and is intended to be utilized with feeds that are expected to be updated at a higher frequency, mostly announcements, issue trackers, forums, geographical (e.g. weather) and vehicle traffic data.
Reeder
Reeder is an Atom/RSS feed reader with the peculiar meticulousness that is purely based on the XMPP PubSub system. This means, that the content which Reeder fetches, does not come from typical HTTP feed sources but rather from XMPP PubSub services.
Plugins
Ejabberd Account Tools for WordPress
Provides a set of useful tools for the ejabberd server, both for the frontend and backend spaces of websites running on the WordPress engine. You will be able to place on any page e.g. new account registration form, account password reset form, webpresence support. From the administration panel side you will gain access to e.g. blocking accounts, unblocking IP addresses from the fail2ban database and sending system messages to specific users.
XMPP Authentication for WordPress
Allows people to authenticate without password via XMPP and for visitors to be filtered by XMPP verification.
XMPP chat for Hubzilla
Embedded XMPP (Jabber) client using Converse messenger.
XMPP chat for WordPress
Embedded XMPP (Jabber) client using Converse messenger.
XMPP Enabled for WordPress
XMPP Enabled provides a single function API for other plugins that use Jabber/XMPP messaging protocol.
See API section for details if you want to use XMPP protocol in your notifications.
Please contact the developer, Mr. Anton Smirnov (alias sandfox).
Please ignore the note about "Guideline Violation". This is an miserable attempt to discourage people.
🚧 Maintainers wanted
XMPP Statistics for WordPress
Displays the statistics from ejabberd XMPP server.
Publishing
Blasta
Blasta is a collaborative bookmarks manager for organizing online content.
It allows to add links to personal collections of links, to categorize them with keywords, to share them with people and synchronize them.
📰 PubSub
JabberCard
JabberCard is an HTML invite page for XMPP, which allows to present XMPP profiles as fancy HTML pages.
The main purpose, is to provide an interface to share and link to XMPP contacts and group chats via HTML browsers.
It also provides interfaces to view conference messages and PubSub posts, and to explore XMPP servers, pubsub nodes and other services and entities.
Libervia
Libervia is a all-in-one tool to manage all your communications needs: instant messaging, (micro)Journaling, file sharing, photo albums, events, forums, tasks, etc.
📰 PubSub
Movim
Movim is a federated publishing and chat platform that acts as an HTML frontend for the XMPP protocol.
Movim offers a complete social and chat experience for the decentralized XMPP network, and it can easily connect to several XMPP servers at the same time.
Chatrooms, journals, video-conferences; Movim centralizes all that you need to communicate with your colleagues, friends or family in one simple interface.
It also fully adapts to all of your devices from your mobile devices to your desktop computer.
📰 PubSub
Movim Ubuntu Touch
📰 PubSub
Pelican Pubsub
A Pelican plugin that publishes articles to XMPP pubsub, allowing them to be commented via XMPP.
📰 PubSub
Poezio Journal
Poezio Journal is a plugin for the software Poezio.
It allows to interact with people over Blasta, Libervia and Movim.
📰 PubSub
Rivista
Rivista is a cost-effective dynamic site generator, and an HTTP gateway to XMPP PubSub. It is usable with both, Syndication Feed Readers and Internet Browsers.
Rivista Journal is an open-source, minimalist journaling platform which is designed for writers who want a simple and distraction-free writing experience.
It is built to support the XMPP protocol, allowing people to publish content which can be shared and discovered across different platforms, such as Blasta, Libervia, and Movim, over the decentralized network.
In addition to being cost-effective and with less maintenance overhead, Rivista Journal focuses on providing a clean interface that emphasizes writing and reading without the clutter often associated with more complex content management systems.
Slixfeed
Slixfeed is a news aggregator bot for the XMPP communication network.
Slixfeed is easy to use and provides a convenient fashion to forward information from syndication feeds to XMPP PubSub nodes.
- Homesite
- Group chat
- Group chat (German)
- Source code
📰 PubSub
Utilities
Apprise
Apprise allows you to send a notification to almost all of the most popular notification services available to us today such as XMPP.
AtomToPubsub
AtomToPubsub is a simple Python script that parses Atom + RSS feeds and pushes the entries to a designated XMPP Pubsub Node.
📰 PubSub
django-xmpp-account
django-xmpp-account is a stand-alone Django application that manages registrations to your Jabber/XMPP server. It was written for account.jabber.at but can be used for any Jabber/XMPP server. Users can also use the site to reset their password or their email address or delete their account.
go-sendxmpp
A tool to send messages to an XMPP contact or MUC inspired by sendxmpp.
jj
jj is a simple FIFO and filesystem based Jabber/XMPP client. jj is inspired by ii IRC client.
jj is more tool than traditional instant messanger client. It can be easily extended with normal unix tools. It is perfect for bots and notifications. Interaction with jj is done by writing and reading files from the server directory which jj creates.
kiss-xmpp
kiss-xmpp is the simplest XMPP client possible (and usable for IRC through biboumi). It supports a single 1:1 or MUC chat at a time. It's primary use-case is doing XMPP & IRC over Telnet from a stock Atari 800XL (64kb RAM), which has, let's say, less than ideal vt100 emulation.
muchopper
Public chat room listing of the Jabber/XMPP Instant Messaging network https://search.jabber.network
Sendi
Sendi is just another xmppsend script. Sendi is based on python slixmpp library and support fews modern features like HTTP Upload and Omemo.
sendxmpp
sendxmpp is a perl-script to send xmpp (jabber), similar to what mail(1) does for mail.
sendxmpp-py
sendxmpp is the XMPP equivalent of sendmail.
sendxmpp-rs
sendxmpp is the XMPP equivalent of sendmail.
sj
Simple jabber client based on ideas from "Irc It".
The XMPP protocol is a monster and totally overengineered. But you have to deal with it because of its widespread use and good features. To beat this monster, this project tries to divide it into smaller parts and to create one program to handle one aspect of XMPP.
urlwatch
urlwatch is intended to help you watch changes in internet pages and get notified (via xmpp, e-mail, in your terminal or through various third party services) of any changes. The change notification will include the URL that has changed and a summary of what has changed.
- Homesite
- Package (pip)
- Source code
Frameworks
Gofra
Gofra is an XMPP bot engine which is written in Go.
Python JabberBot
Programming your own Jabber bot can be fun and helpful. This is python-jabberbot, a Jabber bot framework for Python that enables you to easily write simple Jabber bots. You can use your Jabber bots to provide information about your running systems, to make your website interact with your visitors or notify you about updates or changes you monitor with your Python scripts.
- Homesite
- Support
- Source code
- Source code (fork)
⚠ Requires porting from Python version 2 to 3
🚧 Maintainers wanted
Slidge
XMPP gateway framework to various of proprietary networks.
Slidge is a software library, built in Python, for creating gateways from XMPP to other networks, such as Telegram, Discord, or WhatsApp.
It allows for precise and feature-complete coverage of features in both networks, and makes it easy to bring all your contacts under the single umbrella of XMPP!
- Homesite
- Group chat
- Package (pip)
- Source code
XmppBot
The XmppBot framework is powered by Slixmpp and it allows to easily write bots that use the XMPP protocol.
It supports creation of commands by decorating functions in subclass or customize the bot operation completely.
MUC group chats are also supported.
Libraries
Erlang/Elixir XMPP
Erlang/Elixir XMPP parsing and serialization library on top of Fast XML
Fluux XMPP
Fluux XMPP is a Go XMPP library, focusing on simplicity, simple automation, and IoT.
Halcyon
Halcyon is an XMPP client library written in a Kotlin programming language. It provides implementation of core of the XMPP standard and processing XML. Additionally it provides support for many popular extensions (XEP's).
libcxmpp
A library for the open messaging and presence standard XMPP.
libomemo
Implements OMEMO (XEP-0384 v0.3.0) in C.
libstrophe
libstrophe is a minimal XMPP library written in C. It has almost no external dependencies, only an XML parsing library (expat or libxml are both supported). It is designed for both POSIX and Windows systems.
moxxmpp
moxxmpp is a XMPP library written purely in Dart for usage in Moxxy.
nbxmpp
python-nbxmpp is a Python library that provides a way for Python applications to use the XMPP network. This library was initially a fork of xmpppy.
📰 PubSub
network-protocol-xmpp
XMPP library in Haskell.
omemo_dart
A Dart implementation of the cryptography needed for OMEMO 0.8.3.
picomemo
Portable OMEMO implementation in C.
QXmpp
Cross-platform C++ / Qt XMPP client and server library.
SleekXMPP
SleekXMPP is deprecated in favor of Slixmpp, a fork which takes full advantage of Python 3 and asyncio.
SleekXMPP is an MIT licensed XMPP library for Python 2.7/3.4+, and is featured in examples in XMPP: The Definitive Guide by Kevin Smith, Remko Tronçon, and Peter Saint-Andre. If you've arrived here from reading the Definitive Guide, please see the notes on updating the examples to the latest version of SleekXMPP.
📰 PubSub
Slixmpp
Modern python XMPP library using asyncio.
📰 PubSub
Smack
Smack is an Open Source XMPP client library for instant messaging and presence. A pure Java library, it can be embedded into your applications to create anything from a full XMPP client to simple XMPP integrations such as sending notification messages and presence-enabling devices.
Strophe.js
Strophe.js is an XMPP library for JavaScript. Its primary purpose is to enable web-based, real-time XMPP applications that run in any browser.
xmpp-php
PHP client library for XMPP (Jabber) protocol.
This is low level socket implementation for enabling PHP to communicate with XMPP due to lack of such libraries online (at least ones I could find that had decent documentation).
xmpp-php
This class is designed for PHP backend to prebind a XMPP Session with XMPP servers like Openfire (tested), eJabberd etc.
XmppDotNet
A cross platform XMPP SDK for the full .NET Framework, .NET Core and Mono
aioxmpp
aioxmpp is a pure-python XMPP library using the asyncio standard library module from Python 3.4 (and available as a third-party module to Python 3.3).
xmpp.js
xmpp.js is a JavaScript library for XMPP.
XMPPHP
XMPPHP is an elegant PHP library for XMPP (Jabber).
xmpp.py
xmpppy is a Python library that is targeted to provide easy scripting with Jabber. Similar projects are Twisted Words and jabber.py.
This library was not designed from scratch. It inherits some code from jabberpy and have very similar API in many places. Though it is separate project since it have almost completely different architecture and primarily aims to work with jabberd2 - the new Open Source Jabber Server.
Bots
Angel
XMPP bot to preview links and file contents.
- Source code
- Source code (fork)
👥 Group chat
Blurbot
An anti XMPP spam bot based on mellium.im/xmpp in Go
👥 Group chat
BotLogMauve
XMPP bot which logs groupchat messages. Logs are in text format, with one file per day and per groupchat.
👥 Group chat
BukuBot
BukuBot is a bookmarks bot for the XMPP communication network.
👤 Private chat
feed-to-muc
feed-to-muc is an XMPP bot which queries Atom or RSS newsfeeds and posts the short summary to a XMPP MUC if there is a new article.
👥 Group chat
JabRSS by Christof
A simple syndication headline notification service for Jabber/XMPP.
👤 Private chat
JabRSS by Jens W. Wulf
Never miss a headline again! JabRSS is a simple syndication headline notification service for Jabber.
👤 Private chat
Jabber RSS Transport
Syndication feeds as contacts.
Jabber RSS Transport - одна из возможностей читать новости в Jabber'e через RSS, что позволяет не использовать отдельную программу, а получать их напрямую в вашем любимом Jabber-клиенте.
👥 Group chat
👤 Private chat
KaikOut
KaikOut is a moderation bot for XMPP which logs and suprvises group chat activity. It assists in blocking and preventing of abusive and unsolicited type of messages and activities.
- Homesite
- Group chat
- Group chat (German)
- Source code
👥 Group chat
LinkBot
This bot reveals the title of any shared link in a groupchat for quick content insight.
👥 Group chat
Llama-bot
Llama-bot enables engaging communication with the LLM (large language model) of llama.cpp, providing seamless and dynamic conversation with it.
👤 Private chat
Morbot
Morbo is a simple Slixmpp bot that will take new articles from listed RSS feeds and send them to assigned XMPP MUCs. This bot works better with TinyTinyRSS user's published articles feeds, since will look for a user's notes on shared articles.
👥 Group chat
panu
A Jabber (XMPP) bot. You can tell him quotes and it will reuse them in the appropriate context. It can compute how funny people in the room are according to other people's smileys, shorten URL and display the page's title... How cool is that?
sid
Moderation bot and also tracks activity and issues over the Debian project.
👥 Group chat
Slixfeed
Slixfeed is a news aggregator bot for the XMPP communication network.
Slixfeed is easy to use and provides a convenient access to Journal and News sites.
- Homesite
- Group chat
- Group chat (German)
- Source code
👥 Group chat
👤 Private chat
📰 PubSub
Stable Diffusion
XMPP bot that generates digital images from textual descriptions.
👥 Group chat
WhisperBot
XMPP bot that transliterates audio messages using OpenAI’s Whisper libraries.
👥 Group chat
👤 Private chat
XMPP Bot
An XMPP bot for making the link between XMPP conversations and webhooks.
👥 Group chat
Bridges
Biboumi
Biboumi is an XMPP gateway that connects to IRC servers and translates between the two protocols. It can be used to access IRC channels using any XMPP client as if these channels were XMPP MUCs.
cheogram-sip
Bidirectional bridge SIP <-> XMPP.
Jabagram
A lightweight and fast, full-featured bridge between XMPP and Telegram.
- Package (pip)
- Source code
👥 Group chat
MAXS
MAXS (Modular Android XMPP Suite), a set of open-source GPLv3 licensed Android applications, allows you to control your Android device and receive notifications over XMPP. For example, you can compose and send a SMS message on your desktop/laptop by sending a command message from every standard compliant XMPP client to MAXS running on your smartphone.
- Homesite
- IRC channel
- Package (F-Droid)
- Source code
👤 Private chat
Sip2Xmpp
Component for ejabberd server to receive call from a SIP account.
Slidge
XMPP gateway framework to various of proprietary networks.
Slidge is a software library, built in Python, for creating gateways from XMPP to other networks, such as Telegram, Discord, or WhatsApp.
It allows for precise and feature-complete coverage of features in both networks, and makes it easy to bring all your contacts under the single umbrella of XMPP!
- Homesite
- Group chat
- Package (pip)
- Source code
sms4you
sms4you forwards messages from and to SMS and connects either with sms4you-xmpp or sms4you-email to choose the other mean of communication. Nice for receiving or sending SMS, independently from carrying a SIM card.
Telegabber
Jabber transport to Telegram network.
tg4xmpp
XMPP <-> Telegram Gateway.
XMPP MUC Message Gateway
A multipurpose JSON forwarder microservice from HTTP POST to XMPP MUC room over TLSv1.2 with Slixmpp.
xmpp-discord-bridge
A Discord to XMPP bridge that tries to look as native in each of the two chat systems as possible.
- Source code
- Source code (fork)
zhabogram
Jabber transport to Telegram network.
Servers
ejabberd
Robust, Scalable and Extensible Realtime Platform
XMPP Server + MQTT Broker + SIP Service
jackal
Instant messaging server for the Extensible Messaging and Presence Protocol (XMPP).
MongooseIM
MongooseIM is Erlang Solutions' robust, scalable and efficient XMPP server, aimed at large installations. Specifically designed for enterprise purposes, it is fault-tolerant and can utilise the resources of multiple clustered machines.
Openfire
Openfire is a real time collaboration (RTC) server licensed under the Open Source Apache License. It uses the only widely adopted open protocol for instant messaging, XMPP Openfire is incredibly easy to setup and administer, but offers rock-solid security and performance.
Prosody
Prosody is a modern XMPP communication server. It aims to be easy to set up and configure, and efficient with system resources. Additionally, for developers it aims to be easy to extend and give a flexible system on which to rapidly develop added functionality, or prototype new protocols.
Snikket
Snikket is a simple, secure and private messaging server.
Tigase
Tigase XMPP Server is our flagship server software for building Instant Communication systems.
This is not just a chat server. It allows to maintain connections of millions of people or devices and transmit in real-time any kind of data. It is currently running on over 4,000 servers worldwide, connects tens of millions people and hundreds of millions devices and transmits millions of messages per second.
- Homesite
- Group chat (MIX)
- Group chat (MUC)
- Source code
xmppd
The xmppd.py version 0.2 is a minimal XMPP server. It is so minimal that it lacks even a roster implementation and offline message delivery support. In fact - it complies [almost] only to XMPP Core (RFC 3920). I have not read XMPP IM (RFC 3921) yet ;)
xmppd.py is under development now. The goals of this development can be found here: http://www.saint-andre.com/blog/2004-08.html#2004-08-10T17:01
⚠ Requires porting from Python version 2 to 3
🚧 Maintainers wanted
Services
Software development and telecommunication services with expertise with XMPP.
Software
&yet
&yet, Design, Marketing Design, Illustration, Web Development, Web Design, App Design, App Development, Software Development.
Buddycloud
Tools, libraries and services for secure cloud & on-premise user and group messaging. Saves time. Scales up. Supports you.
Digicoop
Digicoop, based in France, develops online collaborative tools to help team work better together so that they can deliver their projects or reach their goals more efficiently with a more collaborative approach.
MBOA
Tackling your serious software development and maintenance needs.
Telecommunication
Goodbytes - Openfire Hosting
Designed for small and medium sized enterprises, our hosting allows you to run your own Openfire-based real-time communications platform with ease.
Gultsch & Weiß GbR
Become truly independent and let us host your XMPP domain for your business or family.
Isode - Secure Messaging Software
A company which specializes of providing secure telecommunication services to government, military and intelligence agencies.
JMP
JMP gives you a real phone number that is yours for calling and texting, including group and picture messages, that works from from your phone, computer, tablet, and anything else all at once. Because we use the Jabber network, you can use many existing apps even if we do not have an official recommendation for your device yet.
Sopranica
Soprani.ca is a vision of freedom-respecting and interoperable communication using open standards, including projects that generalize phone numbers so they're easier to use from computers, tablets, and any other device.
Maintainer
If you have questions or feedback regarding this list, then please create
an Issue in our tracker, and optionally @mention
the maintainer:
Contributors
With delight we thank our delightful contributors (please add yourself if you are missing).
In addition we would also like to thank MobilityData and all of the contributors who contributed to their list who have also released their contributions under CC0-1.0. This list started off as a fork of their list but with the non-FOSS and outdated entries removed after the maintainer of this list was compelled to sign a CLA that required their mailing address and telephone number.
License
To the extent possible under law, the maintainers and other contributors have waived all copyright and related or neighboring rights to this work.