Conduit is a simple, fast and reliable chat server powered by Matrix https://conduit.rs
Find a file
Charles Hall fe86d28428
move resolver logic into the resolver
Honestly not sure why it wasn't done like this before. This code is much
less awkward to follow and more compartmentalized.

These changes were mainly motivated by a clippy lint triggering on the
original code, which then made me wonder if I could get rid of some of
the `Box`ing. Turns out I could, and this is the result of that.
2024-01-24 15:11:17 -08:00
.gitea Change license to Apache-2.0 2020-10-18 13:47:52 +02:00
.github/ISSUE_TEMPLATE Shorten more templates 2021-07-18 20:43:21 +00:00
.gitlab Merge branch 'ci-revamp-2022-10' into 'next' 2022-11-02 16:47:48 +00:00
.vscode The procMacro option has long been on by default 2022-12-16 10:12:11 +01:00
complement feat: version checker 2023-07-29 21:53:57 +02:00
debian feat: version checker 2023-07-29 21:53:57 +02:00
docker Update README.md to fix typo & fix compatibility with new versions of docker compose 2023-08-27 02:14:03 +00:00
nix only listen on IPv6 since that's what conduit does 2023-07-21 12:12:37 -07:00
src move resolver logic into the resolver 2024-01-24 15:11:17 -08:00
tests Complement improvements 2022-10-17 18:41:45 +02:00
.dockerignore fix(ci): Only build in (remote host) docker and switch to glibc 2022-11-02 12:12:48 +01:00
.envrc add shebang to .envrc 2023-12-23 22:21:19 -08:00
.gitignore use nix and engage to manage ci 2024-01-24 07:22:37 -08:00
.gitlab-ci.yml add debian package building in ci 2024-01-24 07:22:37 -08:00
APPSERVICES.md Pre-0.3 doc adjustments 2022-02-04 18:05:24 +01:00
Cargo.lock Use upstream reqwest instead of vendored one 2024-01-24 17:12:43 +01:00
Cargo.toml Use upstream reqwest instead of vendored one 2024-01-24 17:12:43 +01:00
CODE_OF_CONDUCT.md Add Contributor's Covenant Code of Conduct 2023-01-08 02:44:25 -05:00
conduit-example.toml feat: version checker 2023-07-29 21:53:57 +02:00
DEPLOY.md Merge branch 'msteenhagen-next-patch-18830' into 'next' 2023-08-01 11:23:47 +00:00
engage.toml add an engage file 2024-01-24 07:22:37 -08:00
flake.lock use nix-filter to filter sources 2024-01-24 07:22:37 -08:00
flake.nix redo docker image and build it in ci 2024-01-24 07:22:37 -08:00
LICENSE Change license to Apache-2.0 2020-10-18 13:47:52 +02:00
README.md feat: registration tokens 2023-08-09 18:27:30 +02:00
rustfmt.toml chore: get rid of warnings 2021-03-18 18:33:43 +01:00
TURN.md Move appservice howto into whats-next; again, rename placeholder TURN url 2022-02-04 21:11:50 +01:00

Conduit

A Matrix homeserver written in Rust

What is Matrix?

Matrix is an open network for secure and decentralized communication. Users from every Matrix homeserver can chat with users from all other Matrix servers. You can even use bridges (also called Matrix appservices) to communicate with users outside of Matrix, like a community on Discord.

What is the goal?

An efficient 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! You can test our Conduit instance by opening a Matrix client (https://app.element.io or Element Android for example) and registering on the conduit.rs homeserver. The registration token is "for_testing_only". Don't share personal information.

Server hosting for conduit.rs is donated by the Matrix.org Foundation.

What is the current status?

Conduit is Beta, meaning you can join and participate in most Matrix rooms, but not all features are supported and you might run into bugs from time to time.

There are still a few important features missing:

  • E2EE emoji comparison over federation (E2EE chat works)
  • Outgoing read receipts, typing, presence over federation (incoming works)

Check out the Conduit 1.0 Release Milestone.

How can I deploy my own?

If you want to connect an Appservice to Conduit, take a look at APPSERVICES.md.

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

Thanks to

Thanks to FUTO, Famedly, Prototype Fund (DLR and German BMBF) and all individuals for financially supporting this project.

Thanks to the contributors to Conduit and all libraries we use, for example:

  • Ruma: A clean library for the Matrix Spec in Rust
  • axum: A modular web framework

Contact

If you run into any question, feel free to

  • Ask us in #conduit:fachschaften.org on Matrix
  • Write an E-Mail to conduit@koesters.xyz
  • Send an direct message to timokoesters@fachschaften.org on Matrix
  • Open an issue on GitLab

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