Update README.MD
This commit is contained in:
parent
6a044ecaf8
commit
ea3c7d310f
54
README.MD
54
README.MD
|
|
@ -1,24 +1,25 @@
|
||||||
# Welcome to command line chat project [CMD CHAT]
|
# CMD CHAT
|
||||||
|
|
||||||

|
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.
|
### Option 1: Python
|
||||||
|
|
||||||
# Run
|
|
||||||
|
|
||||||
### Create and activate a virtual environment in Python
|
|
||||||
|
|
||||||
```
|
```
|
||||||
pip install secured_console_chat
|
pip install secured_console_chat
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```python
|
||||||
import asyncio
|
import asyncio
|
||||||
import cmd_chat
|
import cmd_chat
|
||||||
|
|
||||||
|
|
@ -26,43 +27,22 @@ if __name__ == '__main__':
|
||||||
asyncio.run(cmd_chat.run())
|
asyncio.run(cmd_chat.run())
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Option 2: CLI
|
||||||
|
|
||||||
### Or
|
Start the server:
|
||||||
|
|
||||||
Start server:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
cmd_chat serve localhost 5000
|
cmd_chat serve localhost 5000
|
||||||
```
|
```
|
||||||
|
|
||||||
Connect to server:
|
Connect to the server:
|
||||||
|
|
||||||
```
|
```
|
||||||
cmd_chat connect localhost 5000 tyler
|
cmd_chat connect localhost 5000 tyler
|
||||||
```
|
```
|
||||||
|
|
||||||
How does encryption work?
|
## Example
|
||||||
|
|
||||||
* 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.
|
|
||||||
|
|
||||||
# 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
|
|
||||||
Loading…
Reference in New Issue
Block a user