Conduit is a simple, fast and reliable chat server powered by Matrix https://conduit.rs
Go to file
Devin R 24b6702047 Add to_*_event_stub methods to pdu, filter for correct event kind
When creating some responses (sync) an AnyRoomEventStub is needed for this
PduEvent will deserialize the JSON as a Stub event and a non stub event
when needed. Ephemeral and account events are checked to be the correct
type and filtered out if not. This requires an extra `deserialize` call
which could/should be removed.

TODO: Possibly get rid of EventJson in some places.
2020-07-17 16:03:33 -04:00
.gitea Add liberapay, change pr template 2020-04-09 00:05:37 +02:00
src Add to_*_event_stub methods to pdu, filter for correct event kind 2020-07-17 16:03:33 -04:00
sytest Update README, fix CI (#148) 2020-07-16 07:50:11 +02:00
.gitignore fix: only allow valid usernames in /register 2020-05-13 12:25:15 +02:00
Cargo.toml Move to depend on ruma monorepo and ruma-events0.22 2020-07-17 16:03:02 -04:00
LICENSE Add license 2020-04-08 22:28:03 +02:00
README.md Update README, fix CI (#148) 2020-07-16 07:50:11 +02:00
Rocket-example.toml fix: let example config show how to use registration_disabled 2020-06-08 14:29:44 +02:00
rust-toolchain Update to rocket master (#147) 2020-07-14 18:23:26 +02:00
rustfmt.toml Use sled::Tree::prefix_search for deviceids 2020-03-30 13:46:18 +02:00

Conduit

A Matrix homeserver written in Rust

Liberapay Matrix

What is the goal

A fast Matrix homeserver that's easy to set up and just works. You can install it on a mini-computer like the Raspberry Pi to host Matrix for your family, friends or company.

Is it fast?

See it in action: https://www.youtube.com/watch?v=HoBslDtqC1k

Can I try it out?

Yes! Just open a Matrix client (https://app.element.io or Element Android for example) and register on the https://conduit.koesters.xyz homeserver.

How can I deploy my own?

You just have to clone the repo, build it with cargo build --release and call the binary (target/release/conduit) from somewhere like a systemd script. It's explained in more detail here.

What is it build on?

  • Ruma: Useful structures for endpoint requests and responses that can be (de)serialized
  • Sled: A simple (key, value) database with good performance
  • Rocket: A flexible web framework

What are the biggest things still missing?

  • Federation (Talk to other Matrix servers)
  • Appservices (Bridges and Bots)
  • Push notifications on mobile
  • Notification settings
  • Lots of testing

Also check out the milestones.

How can I contribute?

  1. Look for an issue you would like to work on and make sure it's not assigned to other users
  2. Ask someone to assign the issue to you (comment on the issue or chat in #conduit:matrix.org)
  3. Fork the repo and work on the issue. #conduit:matrix.org is happy to help :)
  4. Submit a PR

Donate

Liberapay: https://liberapay.com/timokoesters/
Bitcoin: bc1qnnykf986tw49ur7wx9rpw2tevpsztvar5x8w4n