Robust, Ubiquitous and Massively Scalable Messaging Platform (XMPP, MQTT, SIP Server) https://www.process-one.net/ejabberd/
  • Erlang 77.4%
  • omnetpp-msg 17.3%
  • Shell 1.8%
  • Elixir 0.8%
  • TSQL 0.7%
  • Other 2%
Find a file
Holger Weiss a816495f83 mod_pubsub: Fix PEP item 'from' sent on presence
When a user with an explicit subscription to another user's PEP node
came online, the last item was sent from the PubSub service's JID rather
than the node owner's bare JID.  Fix the sender address.

Thanks to Thilo Molitor for reporting the issue.
2026-10-09 22:38:57 +02:00
.devcontainer Improve .devcontainer to use use devcontainer image and .vscode 2022-12-13 23:24:01 +01:00
.github Runtime: Test only oldest, newest and stable-used versions 2026-09-30 12:56:09 +02:00
.vscode Fix support for compiling in VSCode 2025-01-21 13:45:28 +01:00
_checkouts/configure_deps Fix typos 2022-01-24 08:02:04 +08:00
config Add ExSync tool to "make relive" with Mix 2024-04-30 18:00:06 +02:00
include Update mod_roster serializer with info about approved field 2026-09-08 14:45:27 +02:00
lib Improve example Elixir modules 2024-11-25 16:20:19 +01:00
m4 Fix portability issue with some shells (#3970) 2023-01-09 16:26:36 +01:00
man Update man page to 26.09 2026-09-29 11:07:24 +02:00
plugins Rename plugin to not clash with plugin from dep 2020-01-08 10:41:48 +01:00
priv Update Catalan and Spanish translations 2026-09-28 11:42:24 +02:00
rel Improve some script shebangs and add to shellcheck (#4553) 2026-05-08 16:33:39 +02:00
sql fix: set overuse limits 2026-03-06 17:11:09 +01:00
src mod_pubsub: Fix PEP item 'from' sent on presence 2026-10-09 22:38:57 +02:00
test Add XEP-0158 SHA-256 hashcash CAPTCHA challenge (thanks Pounceandmiss)(#4594) 2026-09-29 11:00:04 +02:00
tools Improve update-deps-releases script 2026-09-28 14:07:59 +02:00
.dockerignore Dockerfile: Cosmetic changes 2023-06-09 00:01:49 +02:00
.gitignore invites: migrate to bootstrap5 2026-03-06 15:18:25 +01:00
.shellcheckrc Disable some shellcheck warnings 2021-12-23 13:57:06 +01:00
autogen.sh Force regeneration of configure script 2014-04-18 12:13:17 +02:00
CHANGELOG.md CHANGELOG.md: Update missing section 2026-09-30 12:56:43 +02:00
CODE_OF_CONDUCT.md Update moved or broken URLs in documentation 2025-03-20 12:52:52 +01:00
COMPILE.md Raise softly Erlang/OTP minimum requirement from 25.0 to 27.0 2026-07-30 17:20:36 +02:00
configure.ac Set version to 26.09 2026-09-29 11:35:05 +02:00
configure.bat Switch to rebar build tool 2013-06-13 11:11:02 +02:00
CONTAINER.md CONTAINER.md: Document Erlang and Elixir versions in ECS image 2026-09-30 12:56:39 +02:00
CONTRIBUTING.md Update moved or broken URLs in documentation 2025-03-20 12:52:52 +01:00
CONTRIBUTORS.md CONTRIBUTORS: Add Stefan Strigler 2026-03-06 18:19:26 +01:00
COPYING Update FSF address 2014-02-22 10:27:40 +00:00
cover.spec Add Coveralls support 2016-03-21 12:01:20 +01:00
ejabberd.doap Result of running "make doap format" 2026-07-23 10:45:18 +02:00
ejabberd.init.template Replace Jabber->XMPP and Ejabberd (thanks to Neustradamus)(#3469) 2021-01-11 21:11:20 +01:00
ejabberd.service.template Disable the systemd watchdog by default 2024-11-05 15:37:21 +01:00
ejabberd.yml.example Remove mod_muc_occupantid in example config: feature is now in mod_muc 2026-02-09 16:47:19 +01:00
ejabberdctl.cfg.example ejabberdctl.cfg: Move FIREWALL_WINDOW down, as it is used only for EPMD 2025-12-19 01:36:39 +01:00
ejabberdctl.template ejabberdctl: Ammend a22c88a text when ERL_DIST_PORT is already used 2025-12-19 01:36:35 +01:00
elvis.config Fix some Elvis reports 2025-09-03 12:20:42 +02:00
erlang_ls.config Remove HAVE_URI_STRING 2025-11-13 18:24:00 +01:00
inetrc Switch to rebar build tool 2013-06-13 11:11:02 +02:00
install-sh Grant execution permission to install-sh 2024-01-22 17:29:10 +01:00
Makefile.in mod_invites: remove dependency on jquery 2026-04-01 14:32:03 +02:00
mix.exs Update xmpp to fix pubsub child element ordering 2026-10-03 15:08:06 +02:00
mix.lock Update xmpp to fix pubsub child element ordering 2026-10-03 15:08:06 +02:00
package-lock.json mod_invites: remove dependency on jquery 2026-04-01 14:32:03 +02:00
package.json mod_invites: remove dependency on jquery 2026-04-01 14:32:03 +02:00
README.md Update moved or broken URLs in documentation 2025-03-20 12:52:52 +01:00
rebar Rebar/Rebar3: Update binaries to work with Erlang/OTP 26-29 2026-05-08 17:50:28 +02:00
rebar.config Update xmpp to fix pubsub child element ordering 2026-10-03 15:08:06 +02:00
rebar.config.script Update copyright year to 2026 2026-01-05 12:22:57 +01:00
rebar.lock Update xmpp to fix pubsub child element ordering 2026-10-03 15:08:06 +02:00
rebar3 Rebar/Rebar3: Update binaries to work with Erlang/OTP 26-29 2026-05-08 17:50:28 +02:00
SECURITY.md Add security policy and reporting guidelines 2024-12-18 15:51:08 +01:00
vars.config.in Update copyright year to 2026 2026-01-05 12:22:57 +01:00


ejabberd is an open-source, robust, scalable and extensible realtime platform built using Erlang/OTP, that includes XMPP Server, MQTT Broker and SIP Service.

Check the features in ejabberd.im, ejabberd Docs, ejabberd at ProcessOne, and the list of supported protocols in ProcessOne and XMPP.org.

Installation

There are several ways to install ejabberd:

More info can be found in the Installation part of ejabberd Docs.

Documentation

Please check the ejabberd Docs website.

When compiling from source code, you can get some help with:

./configure --help
make help

Once ejabberd is installed, try:

ejabberdctl help
man ejabberd.yml

Development

Bug reports and features are tracked using GitHub Issues, please check CONTRIBUTING for details.

Translations can be improved online using Weblate or in your local machine as explained in Localization.

Documentation for developers is available in ejabberd docs: Developers.

There are nightly builds of ejabberd, both for master branch and for Pull Requests:

Security reports or concerns should preferably be reported privately, please send an email to the address: contact at process-one dot net or some other method from ProcessOne Contact.

For commercial offering and support, including ejabberd Business Edition and Fluux (ejabberd in the Cloud), please check ProcessOne ejabberd page.

Security

For information on how to report security vulnerabilities, please refer to the SECURITY.md file. It contains guidelines on how to report vulnerabilities privately and securely, ensuring that any issues are addressed in a timely and confidential manner.

Community

There are several places to get in touch with other ejabberd developers and administrators:

License