XMPP
| Schemes | xmpp://, xmpps:// |
| Cargo feature | service-xmpp |
| Service | https://xmpp.org/ |
| Body formats | text (first is the default) |
| Attachments | no |
| Title length | 250 characters |
| Body length | 32,768 characters |
| Body lines | unlimited |
| Request throttle | none |
| Vendor URLs accepted | no |
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
| Token | Meaning | Type | Required | Default | Notes |
|---|---|---|---|---|---|
{host} | Hostname | string | yes | ||
{password} | Password | string | yes | secret | |
{port} | Port | int, 1 to 65535 | no | ||
{target_channels} | Target Channel | string | no | prefix # | |
{target_user} | Target User | string | no | ||
{targets} | Targets | list | no | any of target_channels, target_user; separated by / | |
{user} | User | string | yes |
Query parameters
| Parameter | Meaning | Type | Default | Notes |
|---|---|---|---|---|
mode | Secure Mode | choice | starttls (usually; depends on the URL) | one of starttls, tls, none |
name | MUC Nickname | string | ||
roster | Get Roster | bool | no | |
scramplus | SCRAM-PLUS Channel Binding | bool | yes | |
subject | Use Subject | bool | no | |
to | Targets | list | sets {targets} | |
xmpp | XMPP Server | string |
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.