A simple, asynchronous TCP-based chat server built using Rust, Tokio, and SQLite for user account management.
A simple TCP stream forwarder for the cli. To communicate with the server
A web based client in yew.rs
- User registration and login 🔐
- Broadcasting messages to all connected users 📡
- List of all users with their online/offline status 👥
- Colorful terminal output with Colored and PrettyTable crates 🌈
- Asynchronous I/O with Tokio ⚡️
To start the server download FerrumServe from the release page
$ ~/ferrum-serve 127.0.0.1:6142
To connect to the chat server, you can download FerrumLinker from the release page
$ ~/ferrum-linker 127.0.0.1:6142
After connecting, you will be prompted to either register a new user or log in with an existing user account. Once logged in, you can start sending messages to all connected users. Commands
/listusers: List all registered users with their online/offline status 👥.
/whisper: Private Messenging to a specified user. Usage: /whisper [username] [message]
- Rust (stable) and Cargo 🦀
- SQLite 🗄️
$ git clone https://github.com/FerrumLink/FerrumServe.git
$ cd ferrum-serve
$ cargo build --release
By default, the server will listen on 127.0.0.1:6142. You can provide an optional IP address and port as a command-line argument.
$ ./target/release/ferrum-serve [IP:PORT]
Copyright © 2023 Simon Guglberger