File

mod_muc_rtbl/README.md @ 5390:f2363e6d9a64

mod_http_oauth2: Advertise the currently supported id_token signing algorithm This field is REQUIRED. The algorithm RS256 MUST be included, but isn't because we don't implement it, as that would require implementing a pile of additional cryptography and JWT stuff. Instead the id_token is signed using the client secret, which allows verification by the client, since it's a shared secret per OpenID Connect Core 1.0 § 10.1 under Symmetric Signatures. OpenID Connect Discovery 1.0 has a lot of REQUIRED and MUST clauses that are not supported here, but that's okay because this is served from the RFC 8414 OAuth 2.0 Authorization Server Metadata .well-known endpoint!
author Kim Alvefur <zash@zash.se>
date Sun, 30 Apr 2023 16:13:40 +0200
parent 4807:62a65c52c3f5
line wrap: on
line source

---
summary: 
rockspec:
  dependencies:
  - mod_pubsub_subscription
labels:
- Stage-Alpha
...

This module subscribes to a real-time blocklist using pubsub (XEP-0060). As
entries are added and removed from the blocklist, it immediately updates a
local service-wide ban list.

# Configuring

Load this module on your existing MUC component like so:

```lua
Component "channels.example.com" "muc"
modules_enabled = {
	-- other modules etc
	"muc_rtbl";
}
```

Then there are two options, which must be set under the component or in the
global section of your config:

```
muc_rtbl_jid = "rtbl.example"
muc_rtbl_node = "muc_bans_sha256"
```

# Compatibility

Should work with Prosody >= 0.11.x

# Developers

## Protocol

This version of mod_muc_rtbl assumes that the pubsub node contains one item
per blocked JID. The item id should be the SHA256 hash of the JID to block.
The payload is not currently used, but it is recommend to use a XEP-0377
report element as the payload.