Skip to content
@FerrumLink

FerrumLink

FerrumLink ๐Ÿ“จ

Rust TCP Chat System ๐Ÿฆ€๐Ÿ’ฌ

Server ๐Ÿ–ง

A simple, asynchronous TCP-based chat server built using Rust, Tokio, and SQLite for user account management.

Terminal Client ๐Ÿ–ณ

A simple TCP stream forwarder for the cli. To communicate with the server

Web Client ๐Ÿ–ฅ๏ธ

A web based client in yew.rs


Features โœจ

  • 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 โšก๏ธ

Getting Started ๐Ÿš€

Starting the server โซ

To start the server download FerrumServe from the release page

$ ~/ferrum-serve 127.0.0.1:6142

Connecting with the server ๐ŸŽฎ

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]


Building ๐Ÿ“ฆ

Prerequisites

  • Rust (stable) and Cargo ๐Ÿฆ€
  • SQLite ๐Ÿ—„๏ธ

Clone

$ git clone https://github.com/FerrumLink/FerrumServe.git
$ cd ferrum-serve

Build the project

$ cargo build --release

Running the server

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]

๐Ÿ“ License

Copyright ยฉ 2023 Simon Guglberger

Pinned

  1. FerrumLinker FerrumLinker Public

    simple tcp stream forwarder

    Rust

  2. FerrumFlow FerrumFlow Public

    Rust

Repositories

Showing 3 of 3 repositories

Top languages

Loadingโ€ฆ

Most used topics

Loadingโ€ฆ