Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

XMPP

Schemesxmpp://, xmpps://
Cargo featureservice-xmpp
Servicehttps://xmpp.org/
Body formatstext (first is the default)
Attachmentsno
Title length250 characters
Body length32,768 characters
Body linesunlimited
Request throttlenone
Vendor URLs acceptedno

URL formats

{schema}://{user}:{password}@{host}
{schema}://{user}:{password}@{host}:{port}
{schema}://{user}:{password}@{host}/{targets}
{schema}://{user}:{password}@{host}:{port}/{targets}

{schema} is one of xmpp://, xmpps://.

URL tokens

TokenMeaningTypeRequiredDefaultNotes
{host}Hostnamestringyes
{password}Passwordstringyessecret
{port}Portint, 1 to 65535no
{target_channels}Target Channelstringnoprefix #
{target_user}Target Userstringno
{targets}Targetslistnoany of target_channels, target_user; separated by /
{user}Userstringyes

Query parameters

ParameterMeaningTypeDefaultNotes
modeSecure Modechoicestarttls (usually; depends on the URL)one of starttls, tls, none
nameMUC Nicknamestring
rosterGet Rosterboolno
scramplusSCRAM-PLUS Channel Bindingboolyes
subjectUse Subjectboolno
toTargetslistsets {targets}
xmppXMPP Serverstring

The common URL parameters (format, overflow, verify, redirect, cto, rto, retry, wait, store, tag, tz, user, password, port, optional, emojis) apply as well.

Examples

Accepted URLs (tokens are fake):

xmpp://user:pass@example.com
xmpps://user:pass@example.com
xmpp://user:pass@example.com/@bad
xmpp://user:pass@example.com/friend/other@example.org
xmpp://user:pass@example.com?mode=tls
xmpp://user:pass@example.com?xmpp=%20
xmpps://user:pass@example.com?mode=tls
xmpps://user:pass@example.com?verify=no

Rejected URLs:

xmpps://user:pass@example.com?mode=invalid
xmpp://us%20er:pass@example.com
xmpp://example.com

Send one from the command line:

mercurio -t 'Backup' -b 'Finished in 42s' 'xmpp://user:pass@example.com'

Notes

A minimal one-shot XMPP client session (RFC 6120/6121, XEP-0045): stream negotiation, STARTTLS, SASL, resource binding, session, presence, optional roster fetch, MUC join, messages, stream close.