1. go-sendxmpp(5)
  2. go-sendxmpp(5)

NAME

go-sendxmpp - A tool to send messages to an XMPP contact or MUC.

LOCATION

The account data is expected at ~/.config/go-sendxmpp/config (preferred), ~/.config/go-sendxmpp/sendxmpprc (deprecated) or ~/.sendxmpprc (for compatibility with the original perl sendxmpp) if no other configuration file location is specified with -f or --file. The configuration file is expected to be in the following format:

FORMAT

username: [your_jid]
jserver: [jabber_server]
port: [jabber_port]
password: [your_jabber_password]
eval_password: [command_to_unlock_your_password]
alias: [your_alias]
allow_plain: [bool]
no_root_warning: [bool]
no_legacy_pgp_warning: [bool]
ox_trust_mode: [blind|tofu]

REQUIRED SETTINGS

If all necessary settings are supplied as command line arguments no config file is needed at all. Setting jserver and port might not be necessary depending on the used server.
You should either use a password manager and the setting eval_password or add your password in plaintext to the config file with the setting password. Please be careful with eval_password as any command put there will be executed.

OPTIONS

username
Your JID, e.g. user@example.com.
jserver
Your server, e.g. xmpp.example.com. Should not be necessary if the server is set up properly.
port
The client-to-server port of the XMPP server, e.g. 5222. Should not be necessary if the server is set up properly.
password
Your accounts password, e.g. hunter2 (please, do not use hunter2). Use " if your password contains spaces, e.g. "hunter 2" (please, also do not use hunter 2).
eval_password
A command to retrieve the password from a password manager, e.g. pass xmpp/user@example.com.
alias
The alias/nickname for chatrooms, e.g. Martin or "My nick contains spaces".
allow_plain
Boolean to allow PLAIN authentication. Note that this setting has no effect if there was a successful connection using a SCRAM authentication mechanism before. In that case PLAIN is not allowed to prevent downgrades by a man-in-the-middle attack.
Allowed values: true/false (Default: false)
no_root_warning
Boolean to disable the warning when running as root. Note that running as root is discouraged although go-sendxmpp tries to drop the root privileges before doing network calls. Be aware that OX, legacy PGP and the pinning to not use PLAIN authentication after a successful SCRAM authentication are disabled as those need file system access in the private user scope after dropping the privileges.
Allowed values: true/false (Default: false)
no_legacy_pgp_warning
Boolean to disable the warning when using legacy PGP. Please note, that *legacy PGP** is deprecated and will be removed in an upcoming update. It is highly recommended to use OX instead.
Allowed values: true/false (Default: false)
ox_trust_mode
Accepts the strings tofu and blind. Tofu means trust on first usage and accepts any OX key if none is stored in the cache yet. If the key ID changes go-sendxmpp will refuse to encrypt. Blind means go-sendxmpp will import and trust any new key that is advertised by the recipient.
Allowed values: tofu/blind (Default: blind)

AUTHOR

Written by Martin Dosch.

REPORTING BUGS

Report bugs at https://salsa.debian.org/mdosch/go-sendxmpp/-/work_items.

Copyright (c) Martin Dosch License: BSD 2-clause License

SEE ALSO

go-sendxmpp(1), sendxmpp(1)

  1. July 2026
  2. go-sendxmpp(5)