XMPP reverse proxy and outgoing proxy https://github.com/moparisthebest/xmpp-proxy
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.9 KiB

8 months ago
8 months ago
  1. # interfaces to listen for reverse proxy STARTTLS/Direct TLS XMPP connections on, should be open to the internet
  2. incoming_listen = [ "0.0.0.0:5222", "0.0.0.0:5269" ]
  3. # interfaces to listen for reverse proxy QUIC XMPP connections on, should be open to the internet
  4. quic_listen = [ "0.0.0.0:443" ]
  5. # interfaces to listen for outgoing proxy TCP XMPP connections on, should be localhost
  6. outgoing_listen = [ "127.0.0.1:15270" ]
  7. # these ports shouldn't do any TLS, but should assume any connection from xmpp-proxy is secure
  8. # prosody module: https://modules.prosody.im/mod_secure_interfaces.html
  9. # c2s port backend XMPP server listens on
  10. c2s_target = "127.0.0.1:15222"
  11. # s2s port backend XMPP server listens on
  12. s2s_target = "127.0.0.1:15269"
  13. # send PROXYv1 header to backend XMPP server
  14. # https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt
  15. # prosody module: https://modules.prosody.im/mod_net_proxy.html
  16. # ejabberd config: https://docs.ejabberd.im/admin/configuration/listen-options/#use-proxy-protocol
  17. proxy = true
  18. # limit incoming stanzas to this many bytes, default to ejabberd's default
  19. # https://github.com/processone/ejabberd/blob/master/ejabberd.yml.example#L32
  20. # xmpp-proxy will use this many bytes + 16k per connection
  21. max_stanza_size_bytes = 262_144
  22. # TLS key/certificate valid for all your XMPP domains, PEM format
  23. # included systemd unit can only read files from /etc/xmpp-proxy/ so put them in there
  24. tls_key = "/etc/xmpp-proxy/le.key"
  25. tls_cert = "/etc/xmpp-proxy/fullchain.cer"
  26. # configure logging, defaults are commented
  27. # can also set env variables XMPP_PROXY_LOG_LEVEL and/or XMPP_PROXY_LOG_STYLE, but values in this file override them
  28. # many options, trace is XML-console-level, refer to: https://docs.rs/env_logger/0.8.3/env_logger/#enabling-logging
  29. #log_level = "info"
  30. # one of auto, always, never, refer to: https://docs.rs/env_logger/0.8.3/env_logger/#disabling-colors
  31. #log_style = "never"