Latest CI builds:
Metre (check that spelling) is an XMPP Server, of sorts. Unlike traditional XMPP servers which host services internally, Metre is specifically designed to connect between servers, mediating connections and traffic.
It's written in C++23 (ie, modern C++), and aims to provide a semantically-aware filter between domains, to avoid exposing your internal XMPP fully to the world.
You'll probably want to read the FAQ, and you may wish to find some BUILD instructions. There is also a documentation file on FILTERS
Finally, there's a detailed guide to all the configuration parameters CONFIGURING.
The LICENCE is MIT, and the copyright rests (mostly - see the Base 64 code) jointly with Surevine Ltd and Dave Cridland.
Metre has been deployed in several cases in production, and has even worked.
Currently working:
- Component hosting XEP-0114
- TLS
- X.509 auth (PKIX)
- Dialback and S2S XEP-0220
- Dialback without Dialback XEP-0344
- Basic forwarding/routing
- DNSSEC (Including RFC 6125 additional reference identifiers)
- S2S <-> S2S proxying
- DNS overrides (SRV, A, and TLSA per-domain)
- DANE (including via TLSA overrides as above)
- Basic Filtering
- Daemonizing
- IPv6
- Direct TLS XEP-0368
Currently poorly tested:
Currently unimplemented but planned:
- Semantic filtering