Conduit is a simple, fast and reliable chat server powered by Matrix https://conduit.rs
Find a file
Timo Kösters 09157b2096
improvement: federation get_keys and optimize signingkey storage
- get encryption keys over federation
- optimize signing key storage
- rate limit parsing of bad events
- rate limit signature fetching
- dependency bumps
2021-05-21 13:25:24 +02:00
.gitea Change license to Apache-2.0 2020-10-18 13:47:52 +02:00
.gitlab/issue_templates Chore: Add Issue Template 2021-02-26 14:55:06 +00:00
.vscode add settings.json 2021-03-14 11:55:28 +01:00
debian Lock down the Conduit process in the systemd unit 2020-11-24 14:42:20 +01:00
docker Fix order of docker command arguments and change repository link to... 2020-10-18 23:06:08 +02:00
src improvement: federation get_keys and optimize signingkey storage 2021-05-21 13:25:24 +02:00
tests Merge remote-tracking branch 'famedly/master' into develop 2021-04-14 10:26:28 +02:00
.dockerignore Update dockerignore 2020-09-17 20:14:07 +02:00
.gitignore Add more gitignore 2021-03-13 20:33:16 +01:00
.gitlab-ci.yml Try to improve CI build times by caching 2021-05-13 07:57:11 +00:00
Cargo.lock improvement: federation get_keys and optimize signingkey storage 2021-05-21 13:25:24 +02:00
Cargo.toml improvement: federation get_keys and optimize signingkey storage 2021-05-21 13:25:24 +02:00
conduit-example.toml fix: add trusted_servers to config and deploy guide 2021-05-05 12:27:49 +02:00
CROSS_COMPILE.md Merge branch 'tls-name' into 'master' 2021-04-23 05:22:07 +00:00
DEPLOY.md fix: add trusted_servers to config and deploy guide 2021-05-05 12:27:49 +02:00
docker-compose.yml feat: federation disabled by default 2020-10-07 11:51:56 +02:00
Dockerfile Fix order of docker command arguments and change repository link to... 2020-10-18 23:06:08 +02:00
LICENSE Change license to Apache-2.0 2020-10-18 13:47:52 +02:00
README.md docs: update readme 2021-04-20 13:07:00 +02:00
rust-toolchain chore: get rid of warnings 2021-03-18 18:33:43 +01:00
rustfmt.toml chore: get rid of warnings 2021-03-18 18:33:43 +01:00

Conduit

A Matrix homeserver written in Rust

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.

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.

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 is the current status?

Conduit can already be used chat with other users on Conduit, chat with users from other Matrix servers and even to chat with users on other platforms using appservices. When chatting with users on the same Conduit server, everything should work assuming you use a compatible client.

You should not join Matrix rooms without asking the admins first. We do not know whether Conduit is safe for general use yet, so you should assume there is some chance that it breaks rooms permanently for all participating users. We are not aware of such a bug today, but we would like to do more testing.

There are still a few important features missing:

  • Database stability (currently you might have to do manual upgrades or even wipe the db for new versions)
  • End-to-end encrypted chats over federation
  • Typing, presence, read receipts etc. over federation
  • Lots of testing

Check out the Conduit 1.0 Release Milestone.

How can I deploy my own?

Deploy

Download or compile a Conduit binary, set up the config and call it from somewhere like a systemd script. Read more

Deploy using Docker

Pull and run the docker image with

docker pull matrixconduit/matrix-conduit:latest
docker run -d -p 8448:8000 -v db:/srv/conduit/.local/share/conduit matrixconduit/matrix-conduit:latest

Or build and run it with docker or docker-compose. Read more

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:nordgedanken.dev)
  3. Fork the repo and work on the issue. #conduit:nordgedanken.dev is happy to help :)
  4. Submit a MR

Donate

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

Lightning Bolt Logo: https://github.com/mozilla/fxemoji/blob/gh-pages/svgs/nature/u26A1-bolt.svg
Logo License: https://github.com/mozilla/fxemoji/blob/gh-pages/LICENSE.md