2019-07-16 15:31:33 -07:00
|
|
|
# sendXMPP
|
|
|
|
|
2019-07-27 16:32:05 -07:00
|
|
|
sendxmpp is a tool to send messages from command-line.
|
2019-07-16 15:31:33 -07:00
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
To install `sendxmpp` in your Go path:
|
|
|
|
|
|
|
|
```
|
|
|
|
$ go get -u gosrc.io/xmpp/cmd/sendxmpp
|
|
|
|
```
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
```
|
2019-07-17 14:56:13 -07:00
|
|
|
$ sendxmpp --help
|
|
|
|
Usage:
|
2019-07-27 16:32:05 -07:00
|
|
|
sendxmpp <recipient,> [message] [flags]
|
2019-07-17 14:56:13 -07:00
|
|
|
|
|
|
|
Examples:
|
|
|
|
sendxmpp to@chat.sum7.eu "Hello World!"
|
|
|
|
|
|
|
|
Flags:
|
2019-07-17 16:10:03 -07:00
|
|
|
--addr string host[:port]
|
|
|
|
--config string config file (default is ~/.config/fluxxmpp.yml)
|
2019-07-17 14:56:13 -07:00
|
|
|
-h, --help help for sendxmpp
|
|
|
|
--jid string using jid (required)
|
2019-07-27 16:32:05 -07:00
|
|
|
-m, --muc recipient is a muc (join it before sending messages)
|
2019-07-17 14:56:13 -07:00
|
|
|
--password string using password for your jid (required)
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## Examples
|
|
|
|
|
|
|
|
Message from arguments:
|
|
|
|
```bash
|
2019-07-27 16:32:05 -07:00
|
|
|
$ sendxmpp to@example.org "Hello World!"
|
2019-07-17 14:56:13 -07:00
|
|
|
info client connected
|
|
|
|
⇢ cmd.go:56 main.glob..func1.1
|
|
|
|
⇢ 2019-07-17T23:42:43.310+02:00
|
|
|
|
info send message
|
2019-07-27 16:32:05 -07:00
|
|
|
⇢ muc=false text="Hello World!" to="to@example.org"
|
2019-07-17 14:56:13 -07:00
|
|
|
⇢ send.go:31 main.send
|
|
|
|
⇢ 2019-07-17T23:42:43.310+02:00
|
|
|
|
```
|
|
|
|
|
|
|
|
Message from STDIN:
|
|
|
|
```bash
|
2019-07-25 23:53:33 -07:00
|
|
|
$ journalctl -f | sendxmpp to@example.org -
|
2019-07-17 14:56:13 -07:00
|
|
|
info client connected
|
|
|
|
⇢ cmd.go:56 main.glob..func1.1
|
|
|
|
⇢ 2019-07-17T23:40:03.177+02:00
|
|
|
|
info send message
|
|
|
|
⇢ muc=false text="-- Logs begin at Mon 2019-07-08 22:16:54 CEST. --" to="to@example.org"
|
|
|
|
⇢ send.go:31 main.send
|
|
|
|
⇢ 2019-07-17T23:40:03.178+02:00
|
|
|
|
info send message
|
|
|
|
⇢ muc=false text="Jul 17 23:36:46 RECHNERNAME systemd[755]: Started Fetch mails." to="to@example.org"
|
|
|
|
⇢ send.go:31 main.send
|
|
|
|
⇢ 2019-07-17T23:40:03.178+02:00
|
|
|
|
^C
|
|
|
|
```
|
|
|
|
|
|
|
|
|
2019-07-27 16:32:05 -07:00
|
|
|
Multiple recipients:
|
2019-07-17 14:56:13 -07:00
|
|
|
```bash
|
2019-07-27 16:32:05 -07:00
|
|
|
$ sendxmpp to1@example.org,to2@example.org "Multiple recipient"
|
2019-07-17 14:56:13 -07:00
|
|
|
info client connected
|
|
|
|
⇢ cmd.go:56 main.glob..func1.1
|
|
|
|
⇢ 2019-07-17T23:47:57.650+02:00
|
|
|
|
info send message
|
2019-07-27 16:32:05 -07:00
|
|
|
⇢ muc=false text="Multiple recipient" to="to1@example.org"
|
2019-07-17 14:56:13 -07:00
|
|
|
⇢ send.go:31 main.send
|
|
|
|
⇢ 2019-07-17T23:47:57.651+02:00
|
|
|
|
info send message
|
2019-07-27 16:32:05 -07:00
|
|
|
⇢ muc=false text="Multiple recipient" to="to2@example.org"
|
2019-07-17 14:56:13 -07:00
|
|
|
⇢ send.go:31 main.send
|
|
|
|
⇢ 2019-07-17T23:47:57.652+02:00
|
|
|
|
```
|
|
|
|
|
|
|
|
Send to MUC:
|
|
|
|
```bash
|
2019-07-25 23:53:33 -07:00
|
|
|
journalctl -f | sendxmpp testit@conference.chat.sum7.eu - --muc
|
2019-07-17 14:56:13 -07:00
|
|
|
info client connected
|
|
|
|
⇢ cmd.go:56 main.glob..func1.1
|
|
|
|
⇢ 2019-07-17T23:52:56.269+02:00
|
|
|
|
info send message
|
|
|
|
⇢ muc=true text="-- Logs begin at Mon 2019-07-08 22:16:54 CEST. --" to="testit@conference.chat.sum7.eu"
|
|
|
|
⇢ send.go:31 main.send
|
|
|
|
⇢ 2019-07-17T23:52:56.270+02:00
|
|
|
|
info send message
|
|
|
|
⇢ muc=true text="Jul 17 23:48:58 RECHNERNAME systemd[755]: mail.service: Succeeded." to="testit@conference.chat.sum7.eu"
|
|
|
|
⇢ send.go:31 main.send
|
|
|
|
⇢ 2019-07-17T23:52:56.277+02:00
|
|
|
|
^C
|
|
|
|
```
|
|
|
|
|
|
|
|
### Authentification
|
|
|
|
|
|
|
|
#### Configuration file
|
2019-07-27 16:32:05 -07:00
|
|
|
|
2019-07-17 14:56:13 -07:00
|
|
|
In `/etc/`, `~/.config` and `.` (here).
|
|
|
|
You could create the file name `fluxxmpp` with you favorite file extenion (e.g. `toml`, `yml`).
|
|
|
|
|
|
|
|
e.g. ~/.config/fluxxmpp.toml
|
|
|
|
```toml
|
|
|
|
jid = "bot@example.org"
|
|
|
|
password = "secret"
|
2019-07-17 16:10:03 -07:00
|
|
|
|
|
|
|
addr = "example.com:5222"
|
2019-07-17 14:56:13 -07:00
|
|
|
```
|
|
|
|
|
2019-07-27 16:32:05 -07:00
|
|
|
#### Environment variables
|
|
|
|
|
2019-07-17 14:56:13 -07:00
|
|
|
```bash
|
|
|
|
export FLUXXMPP_JID='bot@example.org';
|
|
|
|
export FLUXXMPP_PASSWORD='secret';
|
|
|
|
|
2019-07-17 16:10:03 -07:00
|
|
|
export FLUXXMPP_ADDR='example.com:5222';
|
|
|
|
|
2019-07-17 14:56:13 -07:00
|
|
|
sendxmpp to@example.org "Hello Welt";
|
|
|
|
```
|
|
|
|
|
2019-07-27 16:32:05 -07:00
|
|
|
#### Parameters
|
|
|
|
|
|
|
|
Warning: This should not be used for production systems, as all users on the system
|
|
|
|
can read the running processes, and their parameters (and thus the password).
|
2019-07-17 14:56:13 -07:00
|
|
|
|
|
|
|
```bash
|
2019-07-27 16:32:05 -07:00
|
|
|
sendxmpp to@example.org "Hello World!" --jid bot@example.org --password secret --addr example.com:5222;
|
2019-07-16 15:31:33 -07:00
|
|
|
```
|