2021-07-26 10:03:13 +00:00
|
|
|
# Matrix homeserver
|
2021-06-22 12:09:25 +00:00
|
|
|
|
2021-07-26 10:03:13 +00:00
|
|
|
This is my attempt at creating a Matrix homeserver in Elixir.
|
|
|
|
Currently it is in a very early stage.
|
2021-06-22 12:09:25 +00:00
|
|
|
|
2021-07-26 10:03:13 +00:00
|
|
|
Some noteworthy contributions:
|
2021-06-22 12:09:25 +00:00
|
|
|
|
2021-07-26 10:03:13 +00:00
|
|
|
* `lib/matrix_server/state_resolution.ex`: Implementation of version 2 of the Matrix state resolution algorithm.
|
2021-07-29 14:59:40 +00:00
|
|
|
* `lib/matrix_server/state_resolution/authorization.ex`: Implementation of authorization rules for the state resolution algorithm.
|
2021-07-26 10:03:13 +00:00
|
|
|
* `lib/matrix_server/room_server.ex`: A GenServer that holds and manages the state of a room.
|
2021-06-22 12:09:25 +00:00
|
|
|
|
2021-08-05 11:19:38 +00:00
|
|
|
Generate the server's ed25510 keys by executing `ssh-keygen -t ed25519 -f keys/id_ed25519 -N ""`
|
2021-06-22 12:09:25 +00:00
|
|
|
|
2021-08-05 11:19:38 +00:00
|
|
|
Dependencies:
|
|
|
|
|
|
|
|
* Elixir 1.12.2 compiled for OTP 24
|
|
|
|
* Erlang 24.0.3
|
|
|
|
* PostgreSQL
|
|
|
|
* Libsodium
|