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.
Geno fb190d634b
continuous-integration/drone the build canceled Details
depends: update to main
2 years ago
.. docs: fix typos 2 years ago
config_example.toml gateway: improve logging to be more privat 2 years ago
go.mod depends: update to main 2 years ago
go.sum depends: update to main 2 years ago
main.go gateway: add disco feature and identity 2 years ago
token.go docs: token definition 2 years ago
token_test.go gateway: fix test and depends 2 years ago
web.go implement JWT for anti spam 2 years ago
web_get.go ci: add test and woodpicker/droneCI support 2 years ago
web_post.go docs: fix typos 2 years ago
web_test.go ci: add test and woodpicker/droneCI support 2 years ago
xmpp.go docs: fix typos 2 years ago

UnifiedPush over XMPP - gateway

The gateway is an XMPP Component and Webserver.

The Webserver receive notifications from application server by using an JWT-Token as Endpoint Token. The Signature JWT-Token is validated, so that only the Token generated by this gateway could be used (and no spaming over this Gateway is possible). The JWT-Token contains the XMPP-Address of the Distributor, so that this Gateway does not require to store anything. Current the JWT-Token is not encrypted like in [RFC 7516( as an JWE we are working on it. So the XMPP-Address could be readed by Application-Server, Application and Distributor (and could be leaked there - we hope you could trust them till we implement JWE)

The XMPP Component implements XEP-0225 it could be plugged in at every common server (like ejabberd or Prosody) with an Secret and domain name.


How to configure this gateway take a look into the config_example.toml, we prefer it place it under /etc/up-gateway.conf

The Builded gateway binary, we place it under /usr/local/bin/up-gateway.

To get it running, we prefer following systemd.service file under /etc/systemd/system/up-gateway.service:

Description=UnifiedPush gateway

ExecStart=/usr/local/bin/up-gateway -c /etc/up-gateway.conf


And run systemctl enable --now up-gateway.service to startup and start at boot.

Demo Gateway

An Demo gateway is running under Endpoint-Address and under the XMPP-Address (jid of component) Have fun by using it ;)