view mod_server_info/README.md @ 5817:7905766d01f6

mod_pubsub_serverinfo: Treat public providers as public The opt-in mechanism is to prevent leaking domain names or relationships between small private servers. These are not considerations relevant to public servers. We use the providers.xmpp.net API to fetch a list of known public provider domains.
author Matthew Wild <mwild1@gmail.com>
date Mon, 08 Jan 2024 15:56:11 +0000
parents 174c77da03f5
children
line wrap: on
line source

---
labels:
- 'Stage-Alpha'
summary: Manually configure extended service discovery info
...

XEP-0128 defines a way for servers to provide custom information via service
discovery. Various XEPs and plugins make use of this functionality, so that
e.g. clients can look up necessary information.

This module allows the admin to manually configure service discovery
extensions in the config file. It may be useful as a way to advertise certain
information.

Everything configured here is publicly visible to other XMPP entities.

## Configuration

The `server_info` option accepts a list of dataforms. A dataform is an array
of fields. A field has three required properties:

- `type` - usually `text-single` or `list-multi`
- `var` - the field name
- `value` the field value

Example configuration:

``` lua
server_info = {

	-- Our custom form
	{
		-- Conventionally XMPP dataforms have a 'FORM_TYPE' field to
		-- indicate what type of form it is
		{ type = "hidden", var = "FORM_TYPE", value = "urn:example:foo" };

		-- Advertise that our maximum speed is 88 mph
		{ type = "text-single", var = "speed", value = "88" };

		-- Advertise that the time is 1:20 AM and zero seconds
		{ type = "text-single", var = "time", value = "01:21:00" };
	};

}
```

## Compatibility

This module should be compatible with Prosody 0.12, and possibly earlier
versions.