Update README.MD

This commit is contained in:
mirai 2025-09-10 16:21:12 +03:00 committed by GitHub
parent ea3c7d310f
commit 28cbbf2cad

View File

@ -1,23 +1,45 @@
# CMD CHAT # CMD CHAT
A console chat with encrypted messaging. **CMD CHAT** is a new milestone in console communication.
A fully anonymous chat between two clients, impossible to intercept or hand over.
All data exists only in RAM and is wiped after the session ends.
No logs, no traces, no compromise.
## How it works ---
1. The client generates a private key. ## 🔒 Key Features
2. The server generates a symmetric key.
- Full anonymity
- End-to-End encryption (RSA + symmetric key)
- Data stored only in memory (RAM), deleted on exit
- No logging, no persistence on disk
- Easy to run via Python or CLI
---
## ⚙️ How It Works
1. The client generates an RSA key pair.
2. The server creates a symmetric key.
3. The client sends its public key to the server. 3. The client sends its public key to the server.
4. The server encrypts the symmetric key and sends it back to the client. 4. The server encrypts the symmetric key and sends it back.
5. The client encrypts the private key. 5. The client decrypts and confirms the key.
6. From then on, communication with the server happens via the symmetric key. 6. From that point, all communication is done via symmetric encryption.
## Installation & Run Everything happens in memory only. Nothing is written to disk.
---
## 🚀 Installation & Run
### Option 1: Python ### Option 1: Python
``` Install with pip:
```bash
pip install secured_console_chat pip install secured_console_chat
``` ````
Run directly from Python:
```python ```python
import asyncio import asyncio
@ -31,18 +53,21 @@ if __name__ == '__main__':
Start the server: Start the server:
``` ```bash
cmd_chat serve localhost 5000 cmd_chat serve localhost 5000
``` ```
Connect to the server: Connect to the server:
``` ```bash
cmd_chat connect localhost 5000 tyler cmd_chat connect localhost 5000 tyler
``` ```
## Example ---
![Alt Text](example.gif) ## 🎥 Example
Heres how it looks in action:
![Example](example.gif)