Add SQLite database support and user management functionality

This commit is contained in:
Andrea Moro 2025-01-31 13:43:35 +01:00
parent 6ebdef9a64
commit 8df02b7a5a
8 changed files with 1362 additions and 9 deletions

25
README.md Normal file
View file

@ -0,0 +1,25 @@
# 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