SRC (Simple Rust Chat)
Find a file
2025-01-31 13:43:35 +01:00
migrations Add SQLite database support and user management functionality 2025-01-31 13:43:35 +01:00
src Add SQLite database support and user management functionality 2025-01-31 13:43:35 +01:00
.gitignore first commit 2024-11-24 13:09:14 +01:00
Cargo.lock Add SQLite database support and user management functionality 2025-01-31 13:43:35 +01:00
Cargo.toml Add SQLite database support and user management functionality 2025-01-31 13:43:35 +01:00
config.toml Add configuration file and update main to load server settings 2025-01-22 11:22:30 +01:00
db.sqlite Add SQLite database support and user management functionality 2025-01-31 13:43:35 +01:00
README.md Add SQLite database support and user management functionality 2025-01-31 13:43:35 +01:00

SRC (Simple Rust Chat)

Simple Rust Chat è una chat Client/Server che permette di fare le seguenti azioni:

  • Chattare con altri utenti in canali per topic
  • Chattare con una persona sola (DMs)
  • Inviare i file tra utenti
  • Possibilità di amministrare la chat con comandi di /kick o /ban

La chat è basata molto sull'idea di una chat IRC (inizialmente il progetto aveva come scopo la creazione di un server IRC da utilizzare con dei clienti IRC come Halloy o mIRC)

Protocolli utilizzati

Il server utilizza TCP/IP come protocollo per la trasmissione dei dati in rete. I pacchetti sono composti da un pacchetto prestabilito

    /*
        Specifications of the packet
        32 bytes - Command name
        512 bytes - Command argument
        if command is empty then it is a message
    */

La chat è sicura usando x25519-dalek e AES-128 per criptare i messaggi e i dati dei file che vengono inviati. Lo scambio di chiavi viene effettuato con Diffie Hellman