Go to file
2019-02-21 19:50:40 +01:00
docs Added unnecessary whitespaces. 2019-02-21 19:50:40 +01:00
vendor Updated all vendor packages 2019-02-20 20:00:14 +01:00
.gitignore Initial commit 2018-08-04 12:16:28 +02:00
go-sendxmpp.go Merge branch 'master' of https://salsa.debian.org/mdosch-guest/go-sendxmpp 2019-02-21 18:24:59 +01:00
LICENSE Added MIT LICENSE which I wanted to choose in the first place. 2018-08-04 10:49:02 +00:00
README.md Added a missing whitespace. 2018-12-15 16:15:30 +01:00

go-sendxmpp

about

A little tool to send messages to an XMPP contact or MUC inspired by (but not as powerful as) sendxmpp.

requirements

installation

If you have GOPATH set just run this commands:

$ go get salsa.debian.org/mdosch-guest/go-sendxmpp
$ go install salsa.debian.org/mdosch-guest/go-sendxmpp

You will find the binary in $GOPATH/bin or, if set, $GOBIN.

usage

You can either pipe a programs output to go-sendxmpp, write in your terminal (put ^D in a new line to finish) or send the input from a file (-m or --message).

The account data is expected at ~/.sendxmpprc if no other configuration file location is specified with -f or --file. The configuration file is expected to be in the following format:

username: <your_username>
jserver: <jabber_server>
port: <jabber_port>
password: <your_jabber_password>

If no configuration file is present or if the values should be overridden it is possible to define the account details via command line options:

./go-sendxmpp --help
Usage: go-sendxmpp [-cdtx] [-f value] [--help] [-j value] [-p value] [-r value] [-u value] [parameters ...]
 -c, --chatroom     Send message to a chatroom.
 -d, --debug        Show debugging info.
 -f, --file=value   Set configuration file. (Default: ~/.sendxmpprc)
     --help         Show help.
 -i, --interactive  Interactive mode (for use with e.g. 'tail -f').
 -j, --jserver=value
                    XMPP server address.
 -m, --message=value
                    Set file including the message.
 -p, --password=value
                    Password for XMPP account.
 -r, --resource=value
                    Set resource. When sending to a chatroom this is used as
                    'alias'. (Default: go-sendxmpp)
 -t, --tls          Use TLS.
 -u, --username=value
                    Username for XMPP account.
 -x, --start-tls    Use StartTLS.

examples

Send a message to two recipients using a configuration file.

cat message.txt | ./go-sendxmpp -f ./sendxmpp recipient1@example.com recipient2@example.com

Send a message to two recipients directly defining account credentials.

cat message.txt | ./go-sendxmpp -u bob@example.com -j example.com -p swordfish recipient1@example.com recipient2@example.com

Send a message to two groupchats (-c) using a configuration file.

cat message.txt | ./go-sendxmpp -cf ./sendxmpp chat1@conference.example.com chat2@conference.example.com

Send file changes to two groupchats (-c) using a configuration file.

tail -f example.log | ./go-sendxmpp -cif ./sendxmpp chat1@conference.example.com chat2@conference.example.com