Update README.MD

This commit is contained in:
mirai 2025-09-10 16:15:55 +03:00 committed by GitHub
parent 6a044ecaf8
commit ea3c7d310f

View File

@ -1,24 +1,25 @@
# Welcome to command line chat project [CMD CHAT]
# CMD CHAT
![Alt Text](https://static.wikia.nocookie.net/listofdeaths/images/b/b3/Tyler_Durden.webp/revision/latest?cb=20220909010337)
A console chat with encrypted messaging.
# What is this?
## How it works
It is a console chat with message encryption.
1. The client generates a private key.
2. The server generates a symmetric key.
3. The client sends its public key to the server.
4. The server encrypts the symmetric key and sends it back to the client.
5. The client encrypts the private key.
6. From then on, communication with the server happens via the symmetric key.
# How does it work?
## Installation & Run
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
### Option 1: Python
```
pip install secured_console_chat
```
```
```python
import asyncio
import cmd_chat
@ -26,43 +27,22 @@ if __name__ == '__main__':
asyncio.run(cmd_chat.run())
```
### Option 2: CLI
### Or
Start server:
Start the server:
```
cmd_chat serve localhost 5000
```
Connect to server:
Connect to the server:
```
cmd_chat 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
## Example
![Alt Text](example.gif)
# 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.
# 1.1.22
- Renderer logics have been separated
- A new renderer have been implemented
- Thread closing logics have been changed. Now, it is easy to quit from the client without any unexpected behavior
- Now, displaying messages is limited to the last N messages. The default value is 5
- WS dropped connection, probably fixed