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

266 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="#ENVIRONMENT-VARIABLES">ENVIRONMENT VARIABLES</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 [-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] [--scram-mech-pinning value] [--ssdp-off] [--timeout value] [--tls-version value] [-u value]
[--version] [recipients…]</code></p>
<h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>A tool to send messages to an XMPP contact or MUC inspired by <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>).
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>--scram-mech-pinning=[&lt;value&gt;]</code></dt>
<dd>Enforce the use of a certain SCRAM authentication mechanism. Currently go-sendxmpp supports
<strong>SCRAM-SHA-1</strong>, <strong>SCRAM-SHA-1-PLUS</strong>, <strong>SCRAM-SHA-256</strong>, <strong>SCRAM-SHA-256-PLUS</strong>, <strong>SCRAM-SHA-512</strong>
and <strong>SCRAM-SHA-512-PLUS</strong>. You should know what you are doing when using this setting and
make sure the chosen mechanism is supported by the server. If not set, go-sendxmpp will use XEP-0474
to prevent downgrade attacks (needs server support).</dd>
<dt><code>--ssdp-off</code></dt>
<dd>Disable XEP-0474: SASL SCRAM Downgrade Protection.</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="ENVIRONMENT-VARIABLES">ENVIRONMENT VARIABLES</h2>
<h3 id="HTTP_PROXY">HTTP_PROXY</h3>
<p>A SOCKS5 proxy can be used by setting the environment variable <code>HTTP_PROXY</code>. This feature is considered experimental
and there is no guarantee that there won't be any connections not using the proxy although it didn't happen during
testing.</p>
<p><code>
HTTP_PROXY="socks5://127.0.0.1:9050" go-sendxmpp --http-upload file.txt user@example.org
</code></p>
<h2 id="SHELL-COMPLETIONS">SHELL COMPLETIONS</h2>
<h3 id="ZSH">ZSH</h3>
<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'>March 2024</li>
<li class='tr'>go-sendxmpp(1)</li>
</ol>
</div>
</body>
</html>