Skip to content
This repository was archived by the owner on Aug 18, 2025. It is now read-only.
marci1175Public archive

About

A chat-room like messaging app, built in pure rust.

Topics

Resources

Contributing

Security policy

Stars

55 stars

Watchers

1 watching

Forks

Repository files navigation

Matthias

A (soon to be) multiplatform self-hosted chat application built completely in Rust.

Features

Features Desktop Mobile
Encrypted messages ensuring security ✅ ✅
Doesn't rely on any central provider ✅ ✅
Customizable profiles ✅ ✅
Text, audio, image, file messages ✅ ✅
Custom emojis ✅ ✅
Intuitive user interface ✅ ✅
Experimental MD (Markdown) support ✅ ✅
Voice calls ✅ ❌
Extensive lua (using luajit) API with documentation at Gitbook with external libs available ✅ ❌
Custom connection urls (If the app is installed through the installer) This allows the user to connect to a server with just a link ✅ ❌

Disclaimer: The application has never been security audited.

Additional Features (For desktop only):

  • Windows installer (Using a Visual Studio project)

Children repositories (Crates/Repos created for the purpose of showcasing/improving Matthias)


All this with great performance, due to the project being multi-threaded, using async calls with egui, and many more! I have also tried to make my codebase futureproof by implementing custom automatizations (Example: code generating for emojis) and custom proc macros.


How to compile:

  • First, you must have the Rust compiler installed on your computer with all of its dependencies.
  • The next step is to download the source code of this project. (whether that be git cloning or downloading it from github's website)
  • Navigate to the source folder and run cargo r --release (Or without --release for debugging)
  • Please note that some features may not be available when running the application after compilation (For links to work you must "install" the application through the installer provided)

How to create an installer (Note: You must have the Visual Studio installed for this):

  • Navigate to desktop/Installer in the project folder, and open up the Matthias.sln file.
  • Click on build on the top menu bar and click Build Solution (Or use the ctrl+shift+b key combination)
  • After building go to desktop/Installer/MatthiasSetup/Release/ and you will find two files:
    • One containing the dependencies (Smaller file size)
    • One containing the application itself (Bigger file size)

Community

Feel free to chat in the official Matthias discord server!

Preview

Lua API

lua api

Messages

Messages

Register page

Register page

When wanting to install both, start by opening up the smaller file (Dependency installer), it will automatically open up the application installer.

Github actions:

  • Typos: typos

Documentation

The Documentation of the public API is available here.

Legacy

  • The predecessor of Matthias was ChatApp

About

A chat-room like messaging app, built in pure rust.

Topics

Resources

Contributing

Security policy

Stars

55 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages