{"id":13587151,"url":"https://github.com/maelstrom-rs/maelstrom","last_synced_at":"2025-04-07T19:30:51.042Z","repository":{"id":67596360,"uuid":"252728047","full_name":"maelstrom-rs/maelstrom","owner":"maelstrom-rs","description":"High performance Matrix Home Server in rust.","archived":false,"fork":false,"pushed_at":"2020-08-13T21:36:15.000Z","size":302,"stargazers_count":221,"open_issues_count":105,"forks_count":20,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-02-13T21:45:58.283Z","etag":null,"topics":["chat","decentralized","matrix","matrix-org","rust","web3"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maelstrom-rs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-04-03T12:35:09.000Z","updated_at":"2024-01-22T01:54:23.000Z","dependencies_parsed_at":"2023-05-25T07:15:22.089Z","dependency_job_id":null,"html_url":"https://github.com/maelstrom-rs/maelstrom","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maelstrom-rs%2Fmaelstrom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maelstrom-rs%2Fmaelstrom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maelstrom-rs%2Fmaelstrom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maelstrom-rs%2Fmaelstrom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maelstrom-rs","download_url":"https://codeload.github.com/maelstrom-rs/maelstrom/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223290396,"owners_count":17120907,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chat","decentralized","matrix","matrix-org","rust","web3"],"created_at":"2024-08-01T15:06:03.022Z","updated_at":"2024-11-06T05:31:16.161Z","avatar_url":"https://github.com/maelstrom-rs.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# Maelstrom ![](https://github.com/maelstrom-rs/maelstrom/workflows/Build/badge.svg)\n\n\u003cimg src=\"./.github/logo-banner.svg\"\u003e\n\nA high-performance [Matrix](https://matrix.org) Home-Server written in [Rust](rust-lang.org) designed to have a plugable storage engine, scalable, and light on resources.\n\nGeneral discussion for development is at [#maelstrom-server:matrix.org](https://matrix.to/#/#maelstrom-server:matrix.org)\n\n## Project Status\n\nThis is a brand new project under **daily** active development. It is not currently in usable form yet.\n\n### Completed Features\n\nYou can review the [Closed `matrix-spec` Issues](https://github.com/maelstrom-rs/maelstrom/issues?q=is%3Aissue+is%3Aclosed+sort%3Acreated-asc+label%3Amatrix-spec+) in the issue tracker for a list of completed features.\n\n## Project Goals\n\n1. Performance, both in terms of scale and minimal resources.\n2. From scratch design, no legacy architecture decisions.\n3. Support for embedded (Raspi, Jetson Nano, etc.) or clustered deployment with configurable storage engine (e.g. Postgres, Sqlite, Sled, etc.).\n4. First-class e2e encryption and p2p support (as Matrix.org works towards a direction).\n5. Designed for not only chat, but decentralized IoT use cases as well.\n6. SOCKS5 Proxy support to enable .onion homeservers ([Relevant Synapse Issue](https://github.com/matrix-org/synapse/issues/7088))\n\n## Why\n\nThis project started due to a strong interest/support of Web 3.0 (decentralized web applications). Additionally,\nhaving a performant embeddable home server can enable a stronger usecase for decentralized IoT applications in addition to chat.\n\n## Building \u0026 Running\n\n### Using Rust\n\n```bash\n# install rust if needed\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n\n# clone repo and cd\ngit clone https://github.com/maelstrom-rs/maelstrom.git \u0026\u0026 cd maelstrom\n\n# copy .env-example and set with your specific settings\ncp Settings-example.yml Settings.yml\n\n# build \u0026 run\ncargo run --release\n```\n\n### Generating the AUTH_KEY\n\n```bash\nopenssl ecparam -genkey -name prime256v1 | openssl pkcs8 -topk8 -nocrypt -out ec_private.pem\n```\n\nMake sure you set AUTH_KEY_FILE to `path/to/ec_private.pem`\n\n## Technologies Used\n\n- [Actix-web](https://actix.rs) A high performance webserver written in Rust\n- [sqlx](https://github.com/launchbadge/sqlx) A rust version of the popular sqlx db library\n- [jwt](https://jwt.io)\n- [Ruma](https://github.com/ruma)\n\n## Similar Projects\n\nThe following are some other Rust based Home Server projects worth looking at:\n\n- [Ruma](https://github.com/ruma) The server isn't maintained, but he client libraries appear so.\n- [Conduit](https://git.koesters.xyz/timo/conduit) A new Rust based Home Server under development.\n\n## License\n\nLicensed under either of [Apache License](LICENSE-APACHE), Version\n2.0 or [MIT license](LICENSE-MIT) at your option.\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in Maelstrom by you, as defined in the Apache-2.0 license, shall be\ndual licensed as above, without any additional terms or conditions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaelstrom-rs%2Fmaelstrom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaelstrom-rs%2Fmaelstrom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaelstrom-rs%2Fmaelstrom/lists"}