mirror of
https://salsa.debian.org/mdosch/go-sendxmpp
synced 2024-11-10 19:10:30 +00:00
289 lines
12 KiB
HTML
289 lines
12 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="#TIPS">TIPS</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=[<value>]</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="TIPS">TIPS</h2>
|
|
|
|
<h3 id="USAGE-BY-ROOT">USAGE BY ROOT</h3>
|
|
|
|
<p>In general it's a good advice to only perform commands as root when it is strictly necessary. To be able to send
|
|
the output from commands, that need to be performed as root, with go-sendxmpp without invoking go-sendxmpp by
|
|
root sudo can be used.</p>
|
|
|
|
<p>In this example there is a user <strong>sendxmpp</strong> with a go-sendxmpp config in its <code>$HOME</code>:</p>
|
|
|
|
<p><code>
|
|
# command-that-requires-root|sudo -H -u sendxmpp go-sendxmpp me@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>
|
|
|
|
<h3 id="FISH">FISH</h3>
|
|
|
|
<p>There are no shell completions yet, but FISH can generate them from the man page with following command:</p>
|
|
|
|
<p><code>
|
|
fish_update_completions
|
|
</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'>April 2024</li>
|
|
<li class='tr'>go-sendxmpp(1)</li>
|
|
</ol>
|
|
|
|
</div>
|
|
</body>
|
|
</html>
|