Hi all,

I've been building Lonewolf, an XMPP server in Rust. I wanted something as simple to run as Prosody that could, one day, be as powerful as ejabberd.

To be upfront: most of the code, tests and docs were written with AI coding agents. I set the design and scope, review every change and test with real clients myself.

What's there today:

  • Embedded storage with redb, so there's no database to set up
  • Runs on compio (io_uring on Linux), with rustls for TLS
  • STARTTLS, SCRAM auth and automatic Let's Encrypt certificates
  • Rosters, presence and offline messages
  • Prometheus metrics and an admin CLI

What's missing: federation, group chat (MUC), file upload, message history (MAM), Stream Management and OMEMO. It's an alpha, so config and storage formats may still change.

Repo: GitHub - lonewolf-im/lonewolf: XMPP with teeth 🐺 · GitHub

I'd love feedback on two things. If you read the code, tell me where it's not idiomatic or where the design looks wrong. If you try it, tell me which client and OS you used and what broke.

Thanks!

1 post - 1 participant

Read full topic