c5fa982f65eb9816540a835c10b83a698ee64af1
Welcome to command line chat project [CMD CHAT]
What is this?
It is a console chat with message encryption.
How does it work?
All you need to do is run a web server and connect to it via a client.
Run
Create and activate a virtual environment in Python
pip install secured_console_chat
import asyncio
import cmd_chat
if __name__ == '__main__':
asyncio.run(cmd_chat.run())
Or (Windows)
Start server:
.\cmd_chat.bat serve localhost 5000
Connect to server:
.\cmd_chat.bat connect localhost 5000 tyler
Or (Linux)
Start server:
python3 cmd_chat.py serve localhost 5000
Connect to server:
python3 cmd_chat.py connect localhost 5000 tyler
How does encryption work?
- The client generates a private key.
- The server generates a symmetric key.
- The client sends the public key to the server.
- The server encrypts the symmetric key and sends it to the client.
- The client encrypts the private key.
- After that, communication with the server occurs via the symmetric key.
Example
Known bugs
- Sometime WS just drop connection
- Client input message problem. To start input, you need to press enter first, only after that you got pop up with message. Tried to fix, but nothing worked.
Languages
Rust
45.8%
Python
34.7%
Shell
19.5%

