You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
go-sendxmpp/man/go-sendxmpp.1.html

256 lines
11 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='content-type' content='text/html;charset=utf8'>
<meta name='generator' content='Ronn-NG/v0.9.1 (http://github.com/apjanke/ronn-ng/tree/0.9.1)'>
<title>go-sendxmpp(1) - A tool to send messages to an XMPP contact or MUC.</title>
<style type='text/css' media='all'>
/* style: man */
body#manpage {margin:0}
.mp {max-width:100ex;padding:0 9ex 1ex 4ex}
.mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
.mp h2 {margin:10px 0 0 0}
.mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
.mp h3 {margin:0 0 0 4ex}
.mp dt {margin:0;clear:left}
.mp dt.flush {float:left;width:8ex}
.mp dd {margin:0 0 0 9ex}
.mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
.mp pre {margin-bottom:20px}
.mp pre+h2,.mp pre+h3 {margin-top:22px}
.mp h2+pre,.mp h3+pre {margin-top:5px}
.mp img {display:block;margin:auto}
.mp h1.man-title {display:none}
.mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
.mp h2 {font-size:16px;line-height:1.25}
.mp h1 {font-size:20px;line-height:2}
.mp {text-align:justify;background:#fff}
.mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
.mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
.mp u {text-decoration:underline}
.mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
.mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
.mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
.mp b.man-ref {font-weight:normal;color:#434241}
.mp pre {padding:0 4ex}
.mp pre code {font-weight:normal;color:#434241}
.mp h2+pre,h3+pre {padding-left:0}
ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
ol.man-decor {width:100%}
ol.man-decor li.tl {text-align:left}
ol.man-decor li.tc {text-align:center;letter-spacing:4px}
ol.man-decor li.tr {text-align:right;float:right}
</style>
</head>
<!--
The following styles are deprecated and will be removed at some point:
div#man, div#man ol.man, div#man ol.head, div#man ol.man.
The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
.man-navigation should be used instead.
-->
<body id='manpage'>
<div class='mp' id='man'>
<div class='man-navigation' style='display:none'>
<a href="#NAME">NAME</a>
<a href="#SYNOPSIS">SYNOPSIS</a>
<a href="#DESCRIPTION">DESCRIPTION</a>
<a href="#OPTIONS">OPTIONS</a>
<a href="#SCRAM">SCRAM</a>
<a href="#SHELL-COMPLETIONS">SHELL COMPLETIONS</a>
<a href="#CHAT">CHAT</a>
<a href="#AUTHOR">AUTHOR</a>
<a href="#REPORTING-BUGS">REPORTING BUGS</a>
<a href="#COPYRIGHT">COPYRIGHT</a>
<a href="#SEE-ALSO">SEE ALSO</a>
</div>
<ol class='man-decor man-head man head'>
<li class='tl'>go-sendxmpp(1)</li>
<li class='tc'></li>
<li class='tr'>go-sendxmpp(1)</li>
</ol>
<h2 id="NAME">NAME</h2>
<p class="man-name">
<code>go-sendxmpp</code> - <span class="man-whatis">A tool to send messages to an XMPP contact or MUC.</span>
</p>
<h2 id="SYNOPSIS">SYNOPSIS</h2>
<p><code>go-sendxmpp</code> [-cdilnt] [-a value] [-f value] [--headline] [--help] [-h value] [-j value] [-m value] [--muc-password value] [--oob-file value] [--ox] [--ox-delete-nodes] [--ox-genprivkey-rsa] [--ox-genprivkey-x25519] [--ox-import-privkey value] [--ox-passphrase value] [-p value] [--raw] [--timeout value] [--tls-version value] [-u value] [--version] [recipients…]</p>
<h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>A tool to send messages to an XMPP contact or MUC inspired by (but not as powerful as) <code>sendxmpp</code>. <br>
You can either pipe a programs output to <code>go-sendxmpp</code>, write in your terminal (put <code>^D</code> in a new line to
finish) or send the input from a file (<code>-m</code> or <code>--message</code>).
3 years ago
The account data is expected at <code>~/.config/go-sendxmpp/config</code> (preferred), <code>~/.config/go-sendxmpp/sendxmpprc</code>
(deprecated) <code>~/.sendxmpprc</code> (for compatibility with the original perl sendxmpp) if no other configuration
file location is specified with <code>-f</code> or <code>--file</code>.</p>
<h2 id="OPTIONS">OPTIONS</h2>
<dl>
<dt>
<code>-a</code>, <code>--alias</code>=[<var>value</var>]</dt>
<dd>Set alias/nickname for chatrooms.</dd>
<dt>
<code>-c</code>, <code>--chatroom</code>=[<var>value</var>]</dt>
<dd>Send message to a chatroom.</dd>
<dt>
<code>-d</code>, <code>--debug</code>
</dt>
<dd>Show debugging info.</dd>
<dt>
<code>-f</code>, <code>--file</code>=[<var>value</var>]</dt>
<dd>Set configuration file. (Default: ~/.config/go-sendxmpp/config)</dd>
<dt><code>--headline</code></dt>
<dd>Send message as type headline.</dd>
<dt><code>--help</code></dt>
<dd>Show help.</dd>
<dt>
<code>-h</code>, <code>--http-upload=</code>[<var>value</var>]</dt>
<dd>Send a file via http-upload.</dd>
<dt>
<code>-i</code>, <code>--interactive</code>
</dt>
<dd>Interactive mode (for use with e.g. <code>tail -f</code>).</dd>
<dt>
<code>-j</code>, <code>--jserver</code>=[<var>value</var>]</dt>
<dd>XMPP server address.</dd>
<dt>
<code>-l</code>, <code>--listen</code>
</dt>
<dd>Listen for messages and print them to stdout. If JIDs are specified only messages from those contacts
are shown. If no JIDs are specified all received messages will be shown.</dd>
<dt>
<code>-m</code>, <code>--message</code>=[<var>value</var>]</dt>
<dd>Set file including the message.</dd>
<dt>
<code>--muc-password</code>=[<var>value</var>]</dt>
<dd>Password for password protected MUCs.</dd>
<dt>
<code>-n</code>, <code>--no-tls-verify</code>
</dt>
<dd>Skip verification of TLS certificates (not recommended).</dd>
<dt>
<code>--oob-file</code>=[<var>value</var>]</dt>
<dd>URL to send a file as out of band data.</dd>
<dt><code>--ox</code></dt>
<dd>Use "OpenPGP for XMPP" encryption (experimental). <br>
Ox in go-sendxmpp only supports sending encrypted 1-1 messages. Sending to groupchats and
sending encrypted files is not supported.
There is no check whether the recipients key is trusted as there is no local keyring used.
Go-sendxmpp just uses the most recent key that is provided via pubsub and checks that it is not
expired. As a user facing client a notification would be shown that a new key is available and
ask the user whether to use the new key or stick to the old one. As go-sendxmpp is usually
used in scripts it just accepts the new key to prevent the user from missing a new notification
due to changed keys.</dd>
<dt><code>--ox-delete-nodes</code></dt>
<dd>Delete existing OpenPGP nodes on the server.</dd>
<dt><code>--ox-genprivkey-rsa</code></dt>
<dd>Generate a private OpenPGP key (RSA 4096 bit) for the configured account (via config file or <code>-u</code> and <code>-p</code>)
and publish the corresponding public key.
Go-sendxmpp will save the key in <code>$XDG_DATA_HOME/go-sendxmpp/oxprivkeys</code> or
<code>$HOME/.local/share/go-sendxmpp/oxprivkeys</code>. To protect the key a passphrase might be set
using <code>--ox-passphrase</code> while generating the key. <br>
If there is an existing private key for "OpenPGP for XMPP" created by another client (e.g. profanity)
it might be imported using <code>--ox-import-privkey</code>.</dd>
<dt><code>--ox-genprivkey-x25519</code></dt>
<dd>Generate a private OpenPGP key (X25519) for the configured account (via config file or <code>-u</code> and <code>-p</code>)
and publish the corresponding public key.
Go-sendxmpp will save the key in <code>$XDG_DATA_HOME/go-sendxmpp/oxprivkeys</code> or
<code>$HOME/.local/share/go-sendxmpp/oxprivkeys</code>. To protect the key a passphrase might be set
using <code>--ox-passphrase</code> while generating the key. <br>
If there is an existing private key for "OpenPGP for XMPP" created by another client (e.g. profanity)
it might be imported using <code>--ox-import-privkey</code>.</dd>
<dt>
<code>--ox-import-privkey</code>=[<var>value</var>]</dt>
<dd>Import an existing private OpenPGP key.</dd>
<dt>
<code>--ox-passphrase</code>=[<var>value</var>]</dt>
<dd>Passphrase for locking and unlocking the private OpenPGP key.</dd>
<dt>
<code>--tls-version</code>=[<var>value</var>]</dt>
<dd>Minimal TLS version. 10 (TLSv1.0), 11 (TLSv1.1), 12 (TLSv1.2), 13 (TLSv1.3) (Default: 12)</dd>
<dt>
<code>-p</code>, <code>--password</code>=[<var>value</var>]</dt>
<dd>Password for XMPP account.</dd>
<dt><code>--raw</code></dt>
<dd>Send raw XML. To send raw XML to a contact as normal chat message no contact must be specified.
To send raw XML to a MUC you have to specify the MUC via <code>-c</code> and go-sendxmpp will join the MUC.</dd>
<dt>
<code>--timeout=</code>[<var>value</var>]</dt>
<dd>Connection timeout in seconds. (Default: 10)</dd>
<dt>
<code>-t</code>, <code>--tls</code>
</dt>
<dd>Use direct TLS.</dd>
<dt>
<code>-u</code>, <code>--username</code>=[<var>value</var>]</dt>
<dd>Username for XMPP account (JID).</dd>
<dt><code>--version</code></dt>
<dd>Show version information.</dd>
</dl>
<h2 id="SCRAM">SCRAM</h2>
<p>Go-sendxmpp supports <em>Salted Challenge Response Authentication Mechanism</em> (SCRAM).
If go-sendxmpp successfully connects using SCRAM it will create a file
<code>~/.local/share/go-sendxmpp/[your_jid]/authmechanism</code> containing the name of the
used mechanism. It will read this file and use the same mechanism for future connections
and fail if it is not available. This is to protect against downgrades by a
<em>Machine In The Middle</em> (MITM). If you want to upgrade to another mechanism (e.g.
if SCRAM-SHA-1-PLUS gets available for your server that previously only supported
SCRAM-SHA-1) you have to manually edit the file. It is not recommended to delete
the file and let go-sendxmpp recreate it as this would make it vulnerable to downgrade
attacks for the next connection attempt.</p>
<h2 id="SHELL-COMPLETIONS">SHELL COMPLETIONS</h2>
<h3 id="ZSH">ZSH</h3>
2 years ago
<p>There are no shell completions yet (contributions welcome) but for zsh it is
possible to automatically create completions from <code>--help</code> which might work
good enough.</p>
<p>Just place the following in your <code>~/.zshrc</code> or <code>~/.zshrc.local</code>:</p>
<p><code>
compdef _gnu_generic go-sendxmpp
</code></p>
<h2 id="CHAT">CHAT</h2>
<p>Feel free to join <a href="https://join.jabber.network/#go-sendxmpp@chat.mdosch.de?join" data-bare-link="true">https://join.jabber.network/#go-sendxmpp@chat.mdosch.de?join</a>.</p>
<h2 id="AUTHOR">AUTHOR</h2>
<p>Written by Martin Dosch.</p>
<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
<p>Report bugs at <a href="https://salsa.debian.org/mdosch/go-sendxmpp/issues" data-bare-link="true">https://salsa.debian.org/mdosch/go-sendxmpp/issues</a>.</p>
<h2 id="COPYRIGHT">COPYRIGHT</h2>
<p>Copyright (c) Martin Dosch
License: BSD 2-clause License</p>
<h2 id="SEE-ALSO">SEE ALSO</h2>
<p><span class="man-ref">go-sendxmpp<span class="s">(5)</span></span>, <span class="man-ref">sendxmpp<span class="s">(1)</span></span></p>
<ol class='man-decor man-foot man foot'>
<li class='tl'></li>
<li class='tc'>November 2023</li>
<li class='tr'>go-sendxmpp(1)</li>
</ol>
</div>
</body>
</html>