Merge branch 'master' into restructure-xml-stanzas

This commit is contained in:
Martin Dosch 2023-01-11 07:04:03 +01:00
commit 841c47dec3
No known key found for this signature in database
GPG Key ID: 52A57CFCE13D657D
6 changed files with 112 additions and 332 deletions

14
go.mod
View File

@ -3,7 +3,7 @@ module salsa.debian.org/mdosch/go-sendxmpp
go 1.17
require (
github.com/ProtonMail/gopenpgp/v2 v2.4.10
github.com/ProtonMail/gopenpgp/v2 v2.5.0
github.com/beevik/etree v1.1.0
github.com/gabriel-vasile/mimetype v1.4.1
github.com/mattn/go-xmpp v0.0.0-20220712221724-2eb234970ce7
@ -12,12 +12,12 @@ require (
)
require (
github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4 // indirect
github.com/ProtonMail/go-crypto v0.0.0-20230109192245-7efeeb08f296 // indirect
github.com/ProtonMail/go-mime v0.0.0-20221031134845-8fd9bc37cf08 // indirect
github.com/cloudflare/circl v1.3.0 // indirect
github.com/cloudflare/circl v1.3.1 // indirect
github.com/pkg/errors v0.9.1 // indirect
golang.org/x/crypto v0.2.0 // indirect
golang.org/x/net v0.2.0 // indirect
golang.org/x/sys v0.2.0 // indirect
golang.org/x/text v0.4.0 // indirect
golang.org/x/crypto v0.5.0 // indirect
golang.org/x/net v0.5.0 // indirect
golang.org/x/sys v0.4.0 // indirect
golang.org/x/text v0.6.0 // indirect
)

43
go.sum
View File

@ -1,25 +1,23 @@
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/ProtonMail/go-crypto v0.0.0-20220822140716-1678d6eb0cbe/go.mod h1:UBYPn8k0D56RtnR8RFQMjmh4KrZzWJ5o7Z9SYjossQ8=
github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4 h1:ra2OtmuW0AE5csawV4YXMNGNQQXvLRps3z2Z59OPO+I=
github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4/go.mod h1:UBYPn8k0D56RtnR8RFQMjmh4KrZzWJ5o7Z9SYjossQ8=
github.com/ProtonMail/go-mime v0.0.0-20220302105931-303f85f7fe0f/go.mod h1:NYt+V3/4rEeDuaev/zw1zCq8uqVEuPHzDPo3OZrlGJ4=
github.com/ProtonMail/go-crypto v0.0.0-20230109192245-7efeeb08f296 h1:865LKksDklBvemmkvQ2TO6yArI12PChQJn9R/2S8ov0=
github.com/ProtonMail/go-crypto v0.0.0-20230109192245-7efeeb08f296/go.mod h1:UBYPn8k0D56RtnR8RFQMjmh4KrZzWJ5o7Z9SYjossQ8=
github.com/ProtonMail/go-mime v0.0.0-20221031134845-8fd9bc37cf08 h1:dS7r5z4iGS0qCjM7UwWdsEMzQesUQbGcXdSm2/tWboA=
github.com/ProtonMail/go-mime v0.0.0-20221031134845-8fd9bc37cf08/go.mod h1:qRZgbeASl2a9OwmsV85aWwRqic0NHPh+9ewGAzb4cgM=
github.com/ProtonMail/gopenpgp/v2 v2.4.10 h1:EYgkxzwmQvsa6kxxkgP1AwzkFqKHscF2UINxaSn6rdI=
github.com/ProtonMail/gopenpgp/v2 v2.4.10/go.mod h1:CTRA7/toc/4DxDy5Du4hPDnIZnJvXSeQ8LsRTOUJoyc=
github.com/ProtonMail/gopenpgp/v2 v2.5.0 h1:L+98m3xj/YerdWqpWNkZmwNjg1Bs0lKRGQyuONjOImw=
github.com/ProtonMail/gopenpgp/v2 v2.5.0/go.mod h1:N+W/oc/o6yqdevBw8vpgZ3JMyaMA/IwQIdnaGLCoA+w=
github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs=
github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A=
github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
github.com/bwesterb/go-ristretto v1.2.2/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I=
github.com/cloudflare/circl v1.3.0 h1:Anq00jxDtoyX3+aCaYUZ0vXC5r4k4epberfWGDXV1zE=
github.com/cloudflare/circl v1.3.0/go.mod h1:+CauBF6R70Jqcyl8N2hC8pAXYbWkGIezuSbuGLtRhnw=
github.com/cloudflare/circl v1.3.1 h1:4OVCZRL62ijwEwxnF6I7hLwxvIYi3VaZt8TflkqtrtA=
github.com/cloudflare/circl v1.3.1/go.mod h1:+CauBF6R70Jqcyl8N2hC8pAXYbWkGIezuSbuGLtRhnw=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/gabriel-vasile/mimetype v1.4.1 h1:TRWk7se+TOjCYgRth7+1/OYLNiRNIotknkFtf/dnN7Q=
github.com/gabriel-vasile/mimetype v1.4.1/go.mod h1:05Vi0w3Y9c/lNvJOdmIwvrrAhX3rYhfQQCaf9VJcv7M=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/mattn/go-xmpp v0.0.0-20220712221724-2eb234970ce7 h1:0U0Eg1+Rl7tJvK4VSVQEfdZnZw846o73XJkq+DUpsEA=
github.com/mattn/go-xmpp v0.0.0-20220712221724-2eb234970ce7/go.mod h1:Cs5mF0OsrRRmhkyOod//ldNPOwJsrBvJ+1WRspv0xoc=
github.com/pborman/getopt/v2 v2.1.0 h1:eNfR+r+dWLdWmV8g5OlpyrTYHkhVNxHBdN2cCrJmOEA=
@ -28,28 +26,20 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.2.0 h1:BRXPfhNivWL5Yq0BGQ39a2sW6t44aODpfxkWjYdzewE=
golang.org/x/crypto v0.2.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
golang.org/x/crypto v0.5.0 h1:U/0M97KRkSFvyD/3FSmdP5W5swImpNgle/EHFhOsQPE=
golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU=
golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
golang.org/x/mobile v0.0.0-20200801112145-973feb4309de/go.mod h1:skQtrUTUwhdJvXM/2KKJzY8pDgNr9I/FOMqDVRPBUS4=
golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.1.1-0.20191209134235-331c550502dd/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
@ -58,13 +48,12 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/net v0.5.0 h1:GyT4nK/YDHSqa1c4753ouYCDajOYKTja9Xb/OHtgvSw=
golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@ -72,25 +61,23 @@ golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18=
golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.6.0 h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k=
golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200117012304-6edc0a871e69/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

View File

@ -45,8 +45,8 @@ func httpUpload(client *xmpp.Client, iqc chan xmpp.IQ,
// Get file name
fileName := filepath.Base(filePath)
// Just use alphanumerical characters for now to work around
// https://github.com/mattn/go-xmpp/issues/132
// Just use alphanumerical and some special characters for now
// to work around https://github.com/mattn/go-xmpp/issues/132
reg, err := regexp.Compile(`[^a-zA-Z0-9\+\-\_\.]+`)
if err != nil {
log.Fatal(err)

View File

@ -11,140 +11,88 @@ A tool to send messages to an XMPP contact or MUC inspired by (but not as powerf
You can either pipe a programs output to \fBgo\-sendxmpp\fR, write in your terminal (put \fB^D\fR in a new line to finish) or send the input from a file (\fB\-m\fR or \fB\-\-message\fR)\. The account data is expected at \fB~/\.config/go\-sendxmpp/config\fR (preferred), \fB~/\.config/go\-sendxmpp/sendxmpprc\fR (deprecated) \fB~/\.sendxmpprc\fR (for compatibility with the original perl sendxmpp) if no other configuration file location is specified with \fB\-f\fR or \fB\-\-file\fR\.
.SH "OPTIONS"
.TP
\fB\-a\fR, \fB\-\-alias\fR=[\fIvalue\fR]:
.P
\fB\-a\fR, \fB\-\-alias\fR=[\fIvalue\fR]
Set alias/nickname for chatrooms\.
.TP
\fB\-c\fR, \fB\-\-chatroom\fR=[\fIvalue\fR]:
.P
\fB\-c\fR, \fB\-\-chatroom\fR=[\fIvalue\fR]
Send message to a chatroom\.
.TP
\fB\-d\fR, \fB\-\-debug\fR:
.P
\fB\-d\fR, \fB\-\-debug\fR
Show debugging info\.
.TP
\fB\-f\fR, \fB\-\-file\fR=[\fIvalue\fR]:
.P
\fB\-f\fR, \fB\-\-file\fR=[\fIvalue\fR]
Set configuration file\. (Default: ~/\.config/go\-sendxmpp/config)
.TP
\fB\-\-help\fR:
.P
\fB\-\-help\fR
Show help\.
.TP
\fB\-h\fR, \fB\-\-http\-upload=\fR[\fIvalue\fR]:
.P
\fB\-h\fR, \fB\-\-http\-upload=\fR[\fIvalue\fR]
Send a file via http\-upload\.
.TP
\fB\-i\fR, \fB\-\-interactive\fR:
.P
\fB\-i\fR, \fB\-\-interactive\fR
Interactive mode (for use with e\.g\. \fBtail \-f\fR)\.
.TP
\fB\-j\fR, \fB\-\-jserver\fR=[\fIvalue\fR]:
.P
\fB\-j\fR, \fB\-\-jserver\fR=[\fIvalue\fR]
XMPP server address\.
.TP
\fB\-l\fR, \fB\-\-listen\fR:
.P
\fB\-l\fR, \fB\-\-listen\fR
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\.
.TP
\fB\-m\fR, \fB\-\-message\fR=[\fIvalue\fR]:
.P
\fB\-m\fR, \fB\-\-message\fR=[\fIvalue\fR]
Set file including the message\.
.TP
\fB\-\-muc\-password\fR=[\fIvalue\fR]:
.P
\fB\-\-muc\-password\fR=[\fIvalue\fR]
Password for password protected MUCs\.
.TP
\fB\-n\fR, \fB\-\-no\-tls\-verify\fR:
.P
\fB\-n\fR, \fB\-\-no\-tls\-verify\fR
Skip verification of TLS certificates (not recommended)\.
.TP
\fB\-\-ox\fR:
.P
\fB\-\-ox\fR
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\.
.TP
\fB\-\-ox\-delete\-nodes\fR:
.P
\fB\-\-ox\-delete\-nodes\fR
Delete existing OpenPGP nodes on the server\.
.TP
\fB\-\-ox\-genprivkey\-rsa\fR:
.P
\fB\-\-ox\-genprivkey\-rsa\fR
Generate a private OpenPGP key (RSA 4096 bit) for the configured account (via config file or \fB\-u\fR and \fB\-p\fR) and publish the corresponding public key\. Go\-sendxmpp will save the key in \fB$XDG_DATA_HOME/go\-sendxmpp/oxprivkeys\fR or \fB$HOME/\.local/share/go\-sendxmpp/oxprivkeys\fR\. To protect the key a passphrase might be set using \fB\-\-ox\-passphrase\fR 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 \fB\-\-ox\-import\-privkey\fR\.
.TP
\fB\-\-ox\-genprivkey\-x25519\fR:
.P
\fB\-\-ox\-genprivkey\-x25519\fR
Generate a private OpenPGP key (X25519) for the configured account (via config file or \fB\-u\fR and \fB\-p\fR) and publish the corresponding public key\. Go\-sendxmpp will save the key in \fB$XDG_DATA_HOME/go\-sendxmpp/oxprivkeys\fR or \fB$HOME/\.local/share/go\-sendxmpp/oxprivkeys\fR\. To protect the key a passphrase might be set using \fB\-\-ox\-passphrase\fR 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 \fB\-\-ox\-import\-privkey\fR\.
.TP
\fB\-\-ox\-import\-privkey\fR=[\fIvalue\fR]:
.P
\fB\-\-ox\-import\-privkey\fR=[\fIvalue\fR]
Import an existing private OpenPGP key\.
.TP
\fB\-\-ox\-passphrase\fR=[\fIvalue\fR]:
.P
\fB\-\-ox\-passphrase\fR=[\fIvalue\fR]
Passphrase for locking and unlocking the private OpenPGP key\.
.TP
\fB\-\-tls\-version\fR=[\fIvalue\fR]:
.P
\fB\-\-tls\-version\fR=[\fIvalue\fR]
Minimal TLS version\. 10 (TLSv1\.0), 11 (TLSv1\.1), 12 (TLSv1\.2), 13 (TLSv1\.3) (Default: 12)
.TP
\fB\-p\fR, \fB\-\-password\fR=[\fIvalue\fR]:
.P
\fB\-p\fR, \fB\-\-password\fR=[\fIvalue\fR]
Password for XMPP account\.
.TP
\fB\-\-raw\fR:
.P
\fB\-\-raw\fR
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 \fB\-c\fR and go\-sendxmpp will join the MUC\.
.TP
\fB\-r\fR, \fB\-\-resource\fR=[\fIvalue\fR]:
.P
\fB\-r\fR, \fB\-\-resource\fR=[\fIvalue\fR]
DEPRECATED: Set resource\. When sending to a chatroom this is used as 'alias'\.
.TP
\fB\-\-timeout=\fR[\fIvalue\fR]:
.P
\fB\-\-timeout=\fR[\fIvalue\fR]
Connection timeout in seconds\. (Default: 10)
.TP
\fB\-t\fR, \fB\-\-tls\fR:
.P
\fB\-t\fR, \fB\-\-tls\fR
Use direct TLS\.
.TP
\fB\-u\fR, \fB\-\-username\fR=[\fIvalue\fR]:
.P
\fB\-u\fR, \fB\-\-username\fR=[\fIvalue\fR]
Username for XMPP account (JID)\.
.TP
\fB\-\-version\fR:
.P
\fB\-\-version\fR
Show version information\.
.SH "CHAT"
Feel free to join \fIhttps://join\.jabber\.network/#go\-sendxmpp@chat\.mdosch\.de?join\fR\.

View File

@ -93,108 +93,47 @@ file location is specified with <code>-f</code> or <code>--file</code>.</p>
<dl>
<dt>
<code>-a</code>, <code>--alias</code>=[<var>value</var>]:</dt>
<dd></dd>
</dl>
<p>Set alias/nickname for chatrooms.</p>
<dl>
<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></dd>
</dl>
<p>Send message to a chatroom.</p>
<dl>
<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></dd>
</dl>
<p>Show debugging info.</p>
<dl>
<code>-d</code>, <code>--debug</code>
</dt>
<dd>Show debugging info.</dd>
<dt>
<code>-f</code>, <code>--file</code>=[<var>value</var>]:</dt>
<dd></dd>
</dl>
<p>Set configuration file. (Default: ~/.config/go-sendxmpp/config)</p>
<dl>
<code>-f</code>, <code>--file</code>=[<var>value</var>]</dt>
<dd>Set configuration file. (Default: ~/.config/go-sendxmpp/config)</dd>
<dt><code>--help</code></dt>
<dd>Show help.</dd>
<dt>
<code>--help</code>:</dt>
<dd></dd>
</dl>
<p>Show help.</p>
<dl>
<code>-h</code>, <code>--http-upload=</code>[<var>value</var>]</dt>
<dd>Send a file via http-upload.</dd>
<dt>
<code>-h</code>, <code>--http-upload=</code>[<var>value</var>]:</dt>
<dd></dd>
</dl>
<p>Send a file via http-upload.</p>
<dl>
<code>-i</code>, <code>--interactive</code>
</dt>
<dd>Interactive mode (for use with e.g. <code>tail -f</code>).</dd>
<dt>
<code>-i</code>, <code>--interactive</code>:</dt>
<dd></dd>
</dl>
<p>Interactive mode (for use with e.g. <code>tail -f</code>).</p>
<dl>
<code>-j</code>, <code>--jserver</code>=[<var>value</var>]</dt>
<dd>XMPP server address.</dd>
<dt>
<code>-j</code>, <code>--jserver</code>=[<var>value</var>]:</dt>
<dd></dd>
</dl>
<p>XMPP server address.</p>
<dl>
<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>-l</code>, <code>--listen</code>:</dt>
<dd></dd>
</dl>
<p>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.</p>
<dl>
<code>-m</code>, <code>--message</code>=[<var>value</var>]</dt>
<dd>Set file including the message.</dd>
<dt>
<code>-m</code>, <code>--message</code>=[<var>value</var>]:</dt>
<dd></dd>
</dl>
<p>Set file including the message.</p>
<dl>
<code>--muc-password</code>=[<var>value</var>]</dt>
<dd>Password for password protected MUCs.</dd>
<dt>
<code>--muc-password</code>=[<var>value</var>]:</dt>
<dd></dd>
</dl>
<p>Password for password protected MUCs.</p>
<dl>
<dt>
<code>-n</code>, <code>--no-tls-verify</code>:</dt>
<dd></dd>
</dl>
<p>Skip verification of TLS certificates (not recommended).</p>
<dl>
<dt>
<code>--ox</code>:</dt>
<dd></dd>
</dl>
<p>Use "OpenPGP for XMPP" encryption (experimental). <br>
<code>-n</code>, <code>--no-tls-verify</code>
</dt>
<dd>Skip verification of TLS certificates (not recommended).</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.
@ -202,125 +141,57 @@ Go-sendxmpp just uses the most recent key that is provided via pubsub and checks
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.</p>
<dl>
<dt>
<code>--ox-delete-nodes</code>:</dt>
<dd></dd>
</dl>
<p>Delete existing OpenPGP nodes on the server.</p>
<dl>
<dt>
<code>--ox-genprivkey-rsa</code>:</dt>
<dd></dd>
</dl>
<p>Generate a private OpenPGP key (RSA 4096 bit) for the configured account (via config file or <code>-u</code> and <code>-p</code>)
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>.</p>
<dl>
<dt>
<code>--ox-genprivkey-x25519</code>:</dt>
<dd></dd>
</dl>
<p>Generate a private OpenPGP key (X25519) for the configured account (via config file or <code>-u</code> and <code>-p</code>)
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>.</p>
<dl>
it might be imported using <code>--ox-import-privkey</code>.</dd>
<dt>
<code>--ox-import-privkey</code>=[<var>value</var>]:</dt>
<dd></dd>
</dl>
<p>Import an existing private OpenPGP key.</p>
<dl>
<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></dd>
</dl>
<p>Passphrase for locking and unlocking the private OpenPGP key.</p>
<dl>
<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></dd>
</dl>
<p>Minimal TLS version. 10 (TLSv1.0), 11 (TLSv1.1), 12 (TLSv1.2), 13 (TLSv1.3) (Default: 12)</p>
<dl>
<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></dd>
</dl>
<p>Password for XMPP account.</p>
<dl>
<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>--raw</code>:</dt>
<dd></dd>
</dl>
<p>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.</p>
<dl>
<code>-r</code>, <code>--resource</code>=[<var>value</var>]</dt>
<dd>DEPRECATED: Set resource. When sending to a chatroom this is used as 'alias'.</dd>
<dt>
<code>-r</code>, <code>--resource</code>=[<var>value</var>]:</dt>
<dd></dd>
</dl>
<p>DEPRECATED: Set resource. When sending to a chatroom this is used as 'alias'.</p>
<dl>
<code>--timeout=</code>[<var>value</var>]</dt>
<dd>Connection timeout in seconds. (Default: 10)</dd>
<dt>
<code>--timeout=</code>[<var>value</var>]:</dt>
<dd></dd>
</dl>
<p>Connection timeout in seconds. (Default: 10)</p>
<dl>
<code>-t</code>, <code>--tls</code>
</dt>
<dd>Use direct TLS.</dd>
<dt>
<code>-t</code>, <code>--tls</code>:</dt>
<dd></dd>
<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>
<p>Use direct TLS.</p>
<dl>
<dt>
<code>-u</code>, <code>--username</code>=[<var>value</var>]:</dt>
<dd></dd>
</dl>
<p>Username for XMPP account (JID).</p>
<dl>
<dt>
<code>--version</code>:</dt>
<dd></dd>
</dl>
<p>Show version information.</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>

View File

@ -17,56 +17,43 @@ file location is specified with `-f` or `--file`.
## OPTIONS
* `-a`, `--alias`=[<value>]:
Set alias/nickname for chatrooms.
* `-c`, `--chatroom`=[<value>]:
Send message to a chatroom.
* `-d`, `--debug`:
Show debugging info.
* `-f`, `--file`=[<value>]:
Set configuration file. (Default: ~/.config/go-sendxmpp/config)
* `--help`:
Show help.
* `-h`, `--http-upload=`[<value>]:
Send a file via http-upload.
* `-i`, `--interactive`:
Interactive mode (for use with e.g. `tail -f`).
* `-j`, `--jserver`=[<value>]:
XMPP server address.
* `-l`, `--listen`:
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.
* `-m`, `--message`=[<value>]:
Set file including the message.
* `--muc-password`=[<value>]:
Password for password protected MUCs.
* `-n`, `--no-tls-verify`:
Skip verification of TLS certificates (not recommended).
* `--ox`:
Use "OpenPGP for XMPP" encryption (experimental).
Ox in go-sendxmpp only supports sending encrypted 1-1 messages. Sending to groupchats and
sending encrypted files is not supported.
@ -78,11 +65,9 @@ used in scripts it just accepts the new key to prevent the user from missing a n
due to changed keys.
* `--ox-delete-nodes`:
Delete existing OpenPGP nodes on the server.
* `--ox-genprivkey-rsa`:
Generate a private OpenPGP key (RSA 4096 bit) for the configured account (via config file or `-u` and `-p`)
and publish the corresponding public key.
Go-sendxmpp will save the key in `$XDG_DATA_HOME/go-sendxmpp/oxprivkeys` or
@ -92,7 +77,6 @@ If there is an existing private key for "OpenPGP for XMPP" created by another cl
it might be imported using `--ox-import-privkey`.
* `--ox-genprivkey-x25519`:
Generate a private OpenPGP key (X25519) for the configured account (via config file or `-u` and `-p`)
and publish the corresponding public key.
Go-sendxmpp will save the key in `$XDG_DATA_HOME/go-sendxmpp/oxprivkeys` or
@ -102,44 +86,34 @@ If there is an existing private key for "OpenPGP for XMPP" created by another cl
it might be imported using `--ox-import-privkey`.
* `--ox-import-privkey`=[<value>]:
Import an existing private OpenPGP key.
* `--ox-passphrase`=[<value>]:
Passphrase for locking and unlocking the private OpenPGP key.
* `--tls-version`=[<value>]:
Minimal TLS version. 10 (TLSv1.0), 11 (TLSv1.1), 12 (TLSv1.2), 13 (TLSv1.3) (Default: 12)
* `-p`, `--password`=[<value>]:
Password for XMPP account.
* `--raw`:
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 `-c` and go-sendxmpp will join the MUC.
* `-r`, `--resource`=[<value>]:
DEPRECATED: Set resource. When sending to a chatroom this is used as 'alias'.
* `--timeout=`[<value>]:
Connection timeout in seconds. (Default: 10)
* `-t`, `--tls`:
Use direct TLS.
* `-u`, `--username`=[<value>]:
Username for XMPP account (JID).
* `--version`:
Show version information.
## CHAT