Are you tired of Big Tech™ constantly leaking your valuable information and do you want to exactly know how your messages are processed and received?
And do you also just want to have a simple messaging app for yourself (and your friends)?
Well then the 8080_msg project is just for you!
- self-hostable chat server
- cross-platform terminal client
- ability to make custom clients (not recomended for now)
- save chat history in a sqlite database
- everything in the 8080_msg project is and will always be free and open-source
- encryption over tls
The 8080_msg project consists of 3 parts:
-
lib8080_msg
Lib8080_msg is the internal library used by the server and client of the 8080_msg project.
It defines the core types and methods used. -
server_8080
Server_8080 is the server used by the 8080_msg project.
It does everything you would expect a server to do like sending and receiving data, listening for connections etc. -
tty_8080
And last but not least tty_8080: the official terminal client of the 8080_msg project.
The interface is kinda ugly for now, but will hopefully be updated in the future.
You need tls certificates if you want to use tty_8080 and server_8080.
The server needs a certificate and a private key, and the clients need one shared certificate.
The certificates of the clients and the server also need to be signed by the same CA.
You can use Let's Encrypt for example to acquire certificates.
- working prototype of all the components
- database for storing message history
- file transfers
- encryption with tls
- add some sort of private messaging (i.e. a message only readable by one user)
- 'upgrade' the look of tty_8080
- some form of authentication
- have multiple rooms in one server
- add software for managing the server
- add presistent user profile in tty_8080
- create a guide for making a custom client
- (optional) create a simple gui client
- (optional) create a simple web client
More info about the custom network protocol used coming (soon)!
Currently data is just converted into json, but a different format will come before stable, so that the protocol can be language agnostic.
coming (soon)!
Building from soure is very easy.
First clone and cd into the repo:
git clone https://github.com/Cheese-Space/8080_msg
cd 8080_msgThen cd into the part you want to build, for example tty_8080:
cd tty_8080And finally build/run via cargo:
cargo run -- --adress localhost --port 8080 --username cheese_space --cert ca-cert.pem