Early Development — 87 commits

Chat Freely.
Keep it Private.

A work-in-progress privacy-focused chat platform built in Rust. Community-hosted federated servers, end-to-end encryption, and zero surveillance — all on the roadmap.

100%
Open Source
Rust
Language
E2EE
On Roadmap
Federated
Planned

Vision & Roadmap

FOSSil Chat is in early development. Here's what we're building toward — and what's already taking shape.

🔒 PLANNED

End-to-End Encryption

Extremely strong E2EE so only you and your recipients can read your messages. No backdoors, no compromises. Currently on the roadmap.

🏘️ PLANNED

Community-Hosted

Run your own server. FOSSil Chat is designed around community-hosted servers — no single point of failure or control. Coming soon.

📝 PLANNED

Markdown Support

Express yourself with rich formatting. Share code, links, and formatted text naturally. Planned for a future release.

ACTIVE

Fast Async Networking

Built on Rust and Tokio for high-performance async networking. Fast, reliable message delivery with minimal overhead. Already in place.

🌐 PLANNED

Federated Servers

Connect with users across different servers. A decentralised network where no single entity owns the conversation. On the roadmap.

🎨 ACTIVE

User-Friendly GUI

A clean, modern interface built with egui and eframe. No clutter, no tracking — just chat. Under active development.

Project Architecture

FOSSil Chat is organised into a clean workspace with three core crates: client, server, and shared libraries.

💻
Client
eframe + egui GUI
📦
fossil_shared
Packets & Messages
🖥️
Server
Tokio TCP Listener

💻 client/

  • main.rs — Entry point, Tokio runtime
  • gui.rs — eframe/egui interface
  • network.rs — TCP communication

📦 fossil_shared/

  • lib.rs — Shared module exports
  • packet.rs — Packet structures
  • message.rs — Message types

🖥️ server/

  • main.rs — Server entry point
  • tcp.rs — TCP connections
  • handler.rs — Packet handling
  • server.rs — ServerState

Technology Stack

Modern, reliable, and performant technologies chosen with care.

🦀

Rust

Memory-safe systems language

Tokio

Async runtime for Rust

🖼️

egui + eframe

Immediate-mode GUI

🔌

TCP

Network transport layer

Getting Started

FOSSil Chat is still in early development, but you can clone and build it today.

Terminal
# Clone the repository
git clone https://codeberg.org/FOSSil/FOSSil-Chat.git
cd FOSSil-Chat

# Run the server
cd server
cargo run

# In another terminal, run the client
cd client
cargo run
Project Structure
FOSSil-Chat/
├── client/          # Desktop chat client
│   ├── src/
│   │   ├── main.rs
│   │   ├── gui.rs
│   │   └── network.rs
│   └── Cargo.toml
├── server/          # Chat server
│   ├── src/
│   │   ├── main.rs
│   │   ├── tcp.rs
│   │   ├── handler.rs
│   │   └── server.rs
│   └── Cargo.toml
├── fossil_shared/   # Shared protocol library
│   └── src/
│       ├── lib.rs
│       ├── packet.rs
│       └── message.rs
├── Cargo.toml       # Workspace manifest
└── README.md