xmppbl.org

Real-time blocklists for XMPP

xmppbl.org provides a Real-Time Block List (RTBL) service for XMPP.

What is an RTBL?

Internet blocklists are not a new idea. Such lists are commonly used in email to identify sources of spam, for example. Typically these are served over a protocol such as HTTP or DNS, and must be periodically downloaded or selectively queried in order to obtain information.

XMPP RTBLs are served over XMPP, using XMPP’s publish-subscribe protocol (XEP-0060) and this allows blocklist subscribers to receive updates immediately when entries are added to, or removed from, the blocklist.

What blocklists are available?

We currently host one RTBL:

muc_bans_sha256
SHA256 hashes of JIDs that have been identified as sources of spam in public channels.

How do I use the RTBLs?

To configure software to use our RTBLs, you will need to provide two pieces of information:

  1. The service address (JID): xmppbl.org
  2. The RTBL ‘node’: use one of the nodes listed above (e.g. muc_bans_sha256)

For server operators

If you are a server operator, support may be available for your server.

Prosody

Install and enable mod_muc_rtbl. Example configuration:

Component "channels.example.net" "muc"
  modules_enabled = { "muc_rtbl" }
  
  muc_rtbl_jid = "xmppbl.org"
  muc_rtbl_node = "muc_bans_sha256"

Openfire

Use the MUC RTBL plugin.

ejabberd

ejabberd supports RTBL from version 23.04. Enable the mod_muc_rtbl module and you’re good to go!

For channel admins

If you are an administator of a public channel affected by spam, you should first point your server operator to the above resources. Using a server-wide integration is more efficient, reliable, and protects all the channels on a service.

Riddim bot

If your service does not support RTBLs, you can instead use a bot with RTBL support, such as Riddim. The bot will watch for RTBL updates and take the appropriate actions in channels it is an admin in.

We provide a guide on how to set up Riddim with RTBL support.

sid bot

The sid bot also now has experimental RTBL support.

For developers

How can developers add RTBL support to XMPP software?

The protocol is very simple. RTBLs are simply normal XEP-0060 pubsub nodes with the following rules:

For example, the JID ‘sales@stolen-cardz.example’ could be presented as:

<item id='7583a9b348a498d329089a20d51b4fa0da65da0cab52bf300e0d775750311fc9'>
    <report xmlns="urn:xmpp:reporting:1" reason="urn:xmpp:reporting:spam">
        <text>Spamming channels with advertisements for criminal activity</text>
    </report>
</item>

If you have any questions about implementing the RTBL protocol, feel free to ask them in the jdev developer chatroom.

Who operates xmppbl.org?

We do! The service is a collaboration, run by a number of community members.

About the lists

How can I propose new entries for the list?

We don’t currently have a method to accept public submissions, instead we rely on a distributed team of trusted operators. The best place to report issues with spam and abuse on the network is the XMPP Operators channel.

How can I get removed from the list?

It is unlikely that you’ll find yourself on our list unless you are deliberately trying to spam or abuse the XMPP network. If you think you are affected by an incorrect listing, you should report this to your server operator who can bring it to our attention in the operators channel.