All Projects → maelstrom-rs → Maelstrom

maelstrom-rs / Maelstrom

Licence: other
High performance Matrix Home Server in rust.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Maelstrom

Chatsecure Ios
ChatSecure is a free and open source encrypted chat client for iOS that supports OTR and OMEMO encryption over XMPP.
Stars: ✭ 3,044 (+1851.28%)
Mutual labels:  chat, decentralized
Unplug
unplug : desktop client for matrix.org (work-in-progress)
Stars: ✭ 45 (-71.15%)
Mutual labels:  matrix, chat
Web3.swift
A pure swift Ethereum Web3 library
Stars: ✭ 295 (+89.1%)
Mutual labels:  web3, decentralized
borg
Client-server stack for Web3! Turn your Raspberry Pi to a BAS server in minutes and enjoy the freedom of decentralized Web with a superior user experience!
Stars: ✭ 25 (-83.97%)
Mutual labels:  decentralized, web3
Element Rpm
Providing the Element messaging desktop client packaged for the Fedora, Red Hat(IBM), and OpenSUSE families of linux desktop operating systems.
Stars: ✭ 73 (-53.21%)
Mutual labels:  matrix, chat
Mirage
A fancy, customizable, keyboard-operable Qt/QML & Python Matrix chat client for encrypted and decentralized communication.
Stars: ✭ 257 (+64.74%)
Mutual labels:  matrix, chat
Quaternion
A Qt5-based IM client for Matrix
Stars: ✭ 438 (+180.77%)
Mutual labels:  matrix, chat
ambianic-edge
The core runtime engine for Ambianic Edge devices.
Stars: ✭ 98 (-37.18%)
Mutual labels:  decentralized, web3
Matrixcli
Command line matrix client
Stars: ✭ 69 (-55.77%)
Mutual labels:  matrix, chat
Homeserver
A Matrix homeserver written in Rust.
Stars: ✭ 1,089 (+598.08%)
Mutual labels:  matrix, chat
blockhead
Crypto portfolio tracker, DeFi dashboard, NFT viewer and data explorer for the Ethereum/EVM-based blockchain ecosystem and the web 3.0-powered metaverse https://gitcoin.co/grants/2966/blockhead
Stars: ✭ 41 (-73.72%)
Mutual labels:  decentralized, web3
Matrix Commander
simple but convenient CLI-based Matrix client app for sending and receiving
Stars: ✭ 90 (-42.31%)
Mutual labels:  matrix, chat
superhighway84
USENET-inspired, uncensorable, decentralized internet discussion system running on IPFS & OrbitDB
Stars: ✭ 437 (+180.13%)
Mutual labels:  decentralized, web3
Matrix Dimension
An open source integration manager for matrix clients, like Element.
Stars: ✭ 277 (+77.56%)
Mutual labels:  matrix, chat
raven-distribution-framework
Decentralized Computing Backend for Artificial Intelligence, Web3, Metaverse, and Gaming Application
Stars: ✭ 31 (-80.13%)
Mutual labels:  decentralized, web3
Nheko
No longer maintained - Desktop client for the Matrix protocol (active fork https://github.com/Nheko-Reborn)
Stars: ✭ 410 (+162.82%)
Mutual labels:  matrix, chat
hopr-core
Main repository of HOPR - this is all you need to run a node on the HOPR network!
Stars: ✭ 14 (-91.03%)
Mutual labels:  decentralized, web3
flux
Flux, Your Gateway to a Decentralized World. https://home.runonflux.io https://api.runonflux.io https://docs.runonflux.io https://source.runonflux.io https://wiki.runonflux.io
Stars: ✭ 150 (-3.85%)
Mutual labels:  decentralized, web3
Trace
Supply chain transparency platform proof-of-concept based on the Ethereum blockchain ✍️
Stars: ✭ 52 (-66.67%)
Mutual labels:  web3, decentralized
Cabal Client
interface for writing peer-to-peer distributed chat clients
Stars: ✭ 81 (-48.08%)
Mutual labels:  chat, decentralized

Maelstrom

A high-performance Matrix Home-Server written in Rust designed to have a plugable storage engine, scalable, and light on resources.

General discussion for development is at #maelstrom-server:matrix.org

Project Status

This is a brand new project under daily active development. It is not currently in usable form yet.

Completed Features

You can review the Closed matrix-spec Issues in the issue tracker for a list of completed features.

Project Goals

  1. Performance, both in terms of scale and minimal resources.
  2. From scratch design, no legacy architecture decisions.
  3. Support for embedded (Raspi, Jetson Nano, etc.) or clustered deployment with configurable storage engine (e.g. Postgres, Sqlite, Sled, etc.).
  4. First-class e2e encryption and p2p support (as Matrix.org works towards a direction).
  5. Designed for not only chat, but decentralized IoT use cases as well.
  6. SOCKS5 Proxy support to enable .onion homeservers (Relevant Synapse Issue)

Why

This project started due to a strong interest/support of Web 3.0 (decentralized web applications). Additionally, having a performant embeddable home server can enable a stronger usecase for decentralized IoT applications in addition to chat.

Building & Running

Using Rust

# install rust if needed
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# clone repo and cd
git clone https://github.com/maelstrom-rs/maelstrom.git && cd maelstrom

# copy .env-example and set with your specific settings
cp Settings-example.yml Settings.yml

# build & run
cargo run --release

Generating the AUTH_KEY

openssl ecparam -genkey -name prime256v1 | openssl pkcs8 -topk8 -nocrypt -out ec_private.pem

Make sure you set AUTH_KEY_FILE to path/to/ec_private.pem

Technologies Used

  • Actix-web A high performance webserver written in Rust
  • sqlx A rust version of the popular sqlx db library
  • jwt
  • Ruma

Similar Projects

The following are some other Rust based Home Server projects worth looking at:

  • Ruma The server isn't maintained, but he client libraries appear so.
  • Conduit A new Rust based Home Server under development.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Maelstrom by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].