CoroSechat
Raphael Dray
Author:CoroSechat is a chat server over a Secure TCP connection with SmartCard Challenge-Response Authentication based.
It is written in Java 17 including libraries like so:
Implementations:
Here is described some implemented features:
- Multi-Threaded Server (Threads for Accepting Connection and the Main thread used to handle Administration Management)
- Server Administration Management
- /kill username -- Kill a connected user
- /killall -- Kill all connected users
- /halt -- Stop the server
- /deleteAccount username -- Delete an existing account
- /addAccount username password -- Add an account
- /loadBDD -- Load the Database
- /saveBDD -- Save the Database
- Regular User Server Commands:
- /logout | /exit -- Disconnect / Quit
- /list -- List current connected users
- /msg username message -- Send a Private Message to username
- Hand-Crafted Logger
- PostgreSQL Database Persistence in conjunction with ActiveJDBC ORM
How it works ?:
Launch the server and connect to it, simple.
INFO: 2022-01-22 11:47:18.901 ServerChat: Listening on port 4444
INFO: 2022-01-22 11:48:00.937 ServiceChat: A new user has initiated a connection on IP 0:0:0:0:0:0:0:1
INFO: 2022-01-22 11:48:05.215 ServiceChat: A new user has been created with username Raphael
INFO: 2022-01-22 11:48:12.608 ServiceChat: A new user has initiated a connection on IP 0:0:0:0:0:0:0:1
INFO: 2022-01-22 11:48:19.588 ServiceChat: [Raphael] Coucou
Salut !
INFO: 2022-01-22 11:48:27.503 ServiceChat: <ADMIN> Salut !
/list
<SYSTEM> List of connected users:
<SYSTEM> Raphael
INFO: 2022-01-22 11:49:32.777 ServiceChat: <ADMIN> /list
/killall
INFO: 2022-01-22 11:49:43.169 ServiceChat: Raphael has been killed by the administrator.
INFO: 2022-01-22 11:49:43.173 ServiceChat: <ADMIN> /killall
/halt
Process finished with exit code 0
Improvements:
Some improvements to come further:
- In-Docker PostgreSQL Deployment
- PostgreSQL Database Persistence
- Message Reply
- Password Hashing