77
88!!! info "Please note"
99
10- This section describes modules options of ejabberd [25.07 ](../../archive/25.07 /index.md). If you are using an old ejabberd release, please refer to the corresponding archived version of this page in the [Archive](../../archive/index.md).
10+ This section describes modules options of ejabberd [25.08 ](../../archive/25.08 /index.md). If you are using an old ejabberd release, please refer to the corresponding archived version of this page in the [Archive](../../archive/index.md).
1111
1212 The modules that changed in this version are marked with 🟤.
1313
@@ -244,8 +244,8 @@ only.
244244- ** use\_ cache** : ` true | false `
245245Same as top-level [ use_cache] ( toplevel.md#use_cache ) option, but applied to this module only.
246246
247- mod\_ antispam 🟤
248- ----------------
247+ mod\_ antispam
248+ -------------
249249
250250<!-- md:version added in [25.07](../../archive/25.07/index.md) -->
251251
@@ -665,8 +665,8 @@ modules:
665665 access : configure
666666~~~
667667
668- mod\_conversejs 🟤
669- ------------------
668+ mod\_conversejs
669+ ---------------
670670
671671<!-- md:version improved in [25.07](../../archive/25.07/index.md) -->
672672
@@ -707,6 +707,13 @@ configuration](https://conversejs.org/docs/html/configuration.html).
707707Only boolean, integer and string values are supported; lists are not
708708supported.
709709
710+ - **conversejs\_plugins**: `[Filename]`
711+ List of additional local files to include as scripts in the homepage.
712+ Please make sure those files are available in the path specified in
713+ ` conversejs_resources` option, in subdirectory `plugins/`. If using the
714+ public Converse client, then `"libsignal"` gets replaced with the URL of
715+ the public library. The default value is `[]`.
716+
710717- **conversejs\_resources**: `Path`
711718<!-- md:version added in [22.05](../../archive/22.05/index.md) -->
712719 Local path to the Converse
@@ -743,6 +750,7 @@ listen:
743750modules :
744751 mod_bosh : {}
745752 mod_conversejs :
753+ conversejs_plugins : ["libsignal"]
746754 websocket_url : " ws://@HOST@:5280/websocket"
747755~~~
748756
@@ -761,7 +769,9 @@ listen:
761769
762770modules :
763771 mod_conversejs :
764- conversejs_resources : " /home/ejabberd/conversejs-9.0.0/package/dist"
772+ conversejs_resources : " /home/ejabberd/conversejs-x.y.z/package/dist"
773+ conversejs_plugins : ["libsignal-protocol.min.js"]
774+ # File path is: /home/ejabberd/conversejs-x.y.z/package/dist/plugins/libsignal-protocol.min.js
765775~~~
766776
767777Configure some additional options for Converse
@@ -1213,8 +1223,10 @@ XMPP clients.
12131223- **put\_url**: `URL`
12141224This option specifies the initial part of the PUT URLs used for file
12151225uploads. The keyword `@HOST@` is replaced with the virtual host name.
1216- NOTE : different virtual hosts cannot use the same PUT URL. The default
1217- value is `"https://@HOST@:5443/upload"`.
1226+ And `@HOST_URL_ENCODE@` is replaced with the host name encoded for
1227+ URL, useful when your virtual hosts contain non-latin characters. NOTE :
1228+ different virtual hosts cannot use the same PUT URL. The default value
1229+ is `"https://@HOST@:5443/upload"`.
12181230
12191231- **rm\_on\_unregister**: `true | false`
12201232This option specifies whether files uploaded by a user should be removed
@@ -1471,12 +1483,14 @@ default value is `false`.
14711483mod\_matrix\_gw 🟤
14721484------------------
14731485
1474- <!-- md:version improved in [25.07 ](../../archive/25.07 /index.md) -->
1486+ <!-- md:version improved in [25.08 ](../../archive/25.08 /index.md) -->
14751487
14761488
1477- [Matrix](https://matrix.org/) gateway. Erlang/OTP 25 or higher is
1478- required to use this module. This module is available since ejabberd
1479- 24.02.
1489+ [Matrix](https://matrix.org/) gateway. Supports room versions 9, 10 and
1490+ 11 since ejabberd [25.03](../../archive/25.03/index.md); room versions 4 and higher since ejabberd
1491+ 25.07; room version 12 (hydra rooms) since ejabberd [25.08](../../archive/25.08/index.md). Erlang/OTP 25
1492+ or higher is required to use this module. This module is available since
1493+ ejabberd [24.02](../../archive/24.02/index.md).
14801494
14811495__Available options:__
14821496
@@ -1492,6 +1506,10 @@ Value of the matrix signing key, in base64.
14921506- **key\_name**: `string()`
14931507Name of the matrix signing key.
14941508
1509+ - **leave\_timeout**: `integer()`
1510+ Delay in seconds between a user leaving a MUC room and sending `leave`
1511+ Matrix event.
1512+
14951513- **matrix\_domain**: `Domain`
14961514Specify a domain in the Matrix federation. The keyword `@HOST@` is
14971515replaced with the hostname. The default value is `@HOST@`.
@@ -1508,6 +1526,9 @@ user `@user:matrixdomain.tld`, the client must send a message to the JID
15081526` matrix.myxmppdomain.tld` is the JID of the gateway service as set by
15091527the `host` option. The default is `false`.
15101528
1529+ - **notary\_servers**: `[Server, ...]`
1530+ A list of notary servers.
1531+
15111532__**Example**:__
15121533
15131534~~~ yaml
@@ -2762,6 +2783,133 @@ modules:
27622783 outgoing : all
27632784~~~
27642785
2786+ mod\_providers 🟤
2787+ -----------------
2788+
2789+ <!-- md:version added in [25.08](../../archive/25.08/index.md) -->
2790+
2791+
2792+ This module serves JSON provider files API v2 as described by [XMPP
2793+ Providers](https://providers.xmpp.net/provider-file-generator/).
2794+
2795+ It attempts to fill some properties gathering values automatically from
2796+ your existing ejabberd configuration. Try enabling the module, check
2797+ what values are displayed, and then customize using the options.
2798+
2799+ To use this module, in addition to adding it to the `modules` section,
2800+ you must also enable it in `listen` → `ejabberd_http` →
2801+ [request_handlers](listen-options.md#request_handlers). Notice you
2802+ should set in [ejabberd_http](listen.md#ejabberd_http) the option
2803+ [tls](listen-options.md#tls) enabled.
2804+
2805+ __Available options:__
2806+
2807+ - **alternativeJids**: `[string()]`
2808+ List of JIDs (XMPP server domains) a provider offers for registration
2809+ other than its main JID. The default value is `[]`.
2810+
2811+ - **busFactor**: `integer()`
2812+ Bus factor of the XMPP service (i.e., the minimum number of team members
2813+ that the service could not survive losing) or `-1` for n/a. The default
2814+ value is `-1`.
2815+
2816+ - **freeOfCharge**: `true | false`
2817+ Whether the XMPP service can be used for free. The default value is
2818+ ` false` .
2819+
2820+ - **languages**: `[string()]`
2821+ List of language codes that your pages are available. Some options
2822+ define URL where the keyword `@LANGUAGE_URL@` will be replaced with
2823+ each of those language codes. The default value is a list with the
2824+ language set in the option [language](toplevel.md#language), for example: `[en]`.
2825+
2826+ - **legalNotice**: `string()`
2827+ Legal notice web page (per language). The keyword `@LANGUAGE_URL@` is
2828+ replaced with each language. The default value is `""`.
2829+
2830+ - **maximumHttpFileUploadStorageTime**: `integer()`
2831+ Maximum storage duration of each shared file (number in days, `0` for no
2832+ limit or `-1` for less than 1 day). The default value is the same as
2833+ option `max_days` from module [mod_http_upload_quota](#mod_http_upload_quota), or `0`
2834+ otherwise.
2835+
2836+ - **maximumHttpFileUploadTotalSize**: `integer()`
2837+ Maximum size of all shared files in total per user (number in megabytes
2838+ (MB), `0` for no limit or `-1` for less than 1 MB). Attention : MB is
2839+ used instead of MiB (e.g., 104,857,600 bytes = 100 MiB H 104 MB). This
2840+ property is not about the maximum size of each shared file, which is
2841+ already retrieved via XMPP. The default value is the value of the shaper
2842+ value of option `access_hard_quota` from module
2843+ [mod_http_upload_quota](#mod_http_upload_quota), or `0` otherwise.
2844+
2845+ - **maximumMessageArchiveManagementStorageTime**: `integer()`
2846+ Maximum storage duration of each exchanged message (number in days, `0`
2847+ for no limit or `-1` for less than 1 day). The default value is `0`.
2848+
2849+ - **organization**: `string()`
2850+ Type of organization providing the XMPP service. Allowed values are :
2851+ ` company` , `"commercial person"`, `"private person"`, `governmental`,
2852+ ` "non-governmental"` or `""`. The default value is `""`.
2853+
2854+ - **passwordReset**: `string()`
2855+ Password reset web page (per language) used for an automatic password
2856+ reset (e.g., via email) or describing how to manually reset a password
2857+ (e.g., by contacting the provider). The keyword `@LANGUAGE_URL@` is
2858+ replaced with each language. The default value is an URL built
2859+ automatically if [mod_register_web](#mod_register_web) is configured as a
2860+ ` request_handler` , or `""` otherwise.
2861+
2862+ - **professionalHosting**: `true | false`
2863+ Whether the XMPP server is hosted with good internet connection speed,
2864+ uninterruptible power supply, access protection and regular backups. The
2865+ default value is `false`.
2866+
2867+ - **serverLocations**: `[string()]`
2868+ List of language codes of Server/Backup locations. The default value is
2869+ an empty list : ` []` .
2870+
2871+ - **serverTesting**: `true | false`
2872+ Whether tests against the provider’s server are allowed (e.g.,
2873+ certificate checks and uptime monitoring). The default value is `false`.
2874+
2875+ - **since**: `string()`
2876+ Date since the XMPP service is available. The default value is an empty
2877+ string : ` ""` .
2878+
2879+ - **website**: `string()`
2880+ Provider website. The keyword `@LANGUAGE_URL@` is replaced with each
2881+ language. The default value is `""`.
2882+
2883+ __**Example**:__
2884+
2885+ ~~~ yaml
2886+ listen :
2887+ -
2888+ port : 443
2889+ module : ejabberd_http
2890+ tls : true
2891+ request_handlers :
2892+ /.well-known/xmpp-provider-v2.json : mod_providers
2893+
2894+ modules :
2895+ mod_providers :
2896+ alternativeJids : ["example1.com", "example2.com"]
2897+ busFactor : 1
2898+ freeOfCharge : true
2899+ languages : [ag, ao, bg, en]
2900+ legalNotice : " http://@HOST@/legal/@LANGUAGE_URL@/"
2901+ maximumHttpFileUploadStorageTime : 0
2902+ maximumHttpFileUploadTotalSize : 0
2903+ maximumMessageArchiveManagementStorageTime : 0
2904+ organization : " non-governmental"
2905+ passwordReset : " http://@HOST@/reset/@LANGUAGE_URL@/"
2906+ professionalHosting : true
2907+ serverLocations : [ao, bg]
2908+ serverTesting : true
2909+ since : " 2025-12-31"
2910+ website : " http://@HOST@/website/@LANGUAGE_URL@/"
2911+ ~~~
2912+
27652913mod\_proxy65
27662914------------
27672915
@@ -3073,8 +3221,8 @@ modules:
30733221
30743222**API Tags:** [purge](../../developer/ejabberd-api/admin-tags.md#purge)
30753223
3076- mod\_pubsub\_serverinfo 🟤
3077- --------------------------
3224+ mod\_pubsub\_serverinfo
3225+ -----------------------
30783226
30793227<!-- md:version added in [25.07](../../archive/25.07/index.md) -->
30803228
0 commit comments