diff mod_s2sout_override/README.md @ 5653:62c6e17a5e9d

Merge
author Stephen Paul Weber <singpolyma@singpolyma.net>
date Mon, 18 Sep 2023 08:24:19 -0500
parents ae62d92506dc
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mod_s2sout_override/README.md	Mon Sep 18 08:24:19 2023 -0500
@@ -0,0 +1,54 @@
+---
+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