Software /
code /
prosody-modules
File
mod_s2sout_override/README.md @ 6195:886c985ece61
mod_lastlog2: Skip initializing internal API (and storage) in prosodyctl
Initializing storage in the global context under prosodyctl causes the
module.command to fail to execute because the storage module has already
been loaded.
Introduced in 7b722955c59b
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 08 Feb 2025 14:12:18 +0100 |
parent | 5632:ae62d92506dc |
line wrap: on
line source
--- summary: Override s2s connection targets --- This module replaces [mod_s2soutinjection] and uses more modern and reliable methods for overriding connection targets. # Configuration Enable the module as usual, then specify a map of XMPP remote hostnames to URIs like `"tcp://host.example:port"`, to have Prosody connect there instead of doing normal DNS SRV resolution. Currently supported schemes are `tcp://` and `tls://`. A future version could support more methods including alternate SRV lookup targets or even UNIX sockets. URIs with IP addresses like `tcp://127.0.0.1:9999` will bypass A/AAAA DNS lookups. The special target `"*"` may be used to redirect all servers that don't have an exact match. One-level wildcards like `"*.example.net"` also work. Standard DNS SRV resolution can be restored by specifying a truthy value. ```lua -- Global section modules_enabled = { -- other global modules "s2sout_override"; } s2sout_override = { ["example.com"] = "tcp://other.host.example:5299"; ["xmpp.example.net"] = "tcp://localhost:5999"; ["secure.example"] = "tls://127.0.0.1:5270"; ["*.allthese.example"] = = "tcp://198.51.100.123:9999"; -- catch-all: ["*"] = "tls://127.0.0.1:5370"; -- bypass the catch-all, use standard DNS SRV: ["jabber.example"] = true; } ``` # Compatibility Prosody version status --------------- ---------- 0.12.4 Will work 0.12.3 Will not work 0.11 Will not work