Server: - Split into views, routes, helpers, models modules - Merged /ws/talk and /ws/update into single /ws/chat endpoint - Replaced polling with push-based broadcast model - Added username uniqueness validation on connect - Fixed run_server arguments bug (workers parameter) - Removed deprecated loop argument from Sanic listeners - Replaced datetime.utcnow() with timezone-aware datetime.now(timezone.utc) Client: - Rewrote client as single-file module - Migrated from websocket-client to websockets (asyncio) - Fixed websocket-client conflict with asyncio event loop on Windows - Added progress indicators for key generation, exchange, connection - Added animated 3D spinning cube in UI - Updated RSA key from 512 to 2048 bits CLI: - Removed unnecessary asyncio.run() wrapper - Simplified entry point |
||
|---|---|---|
| cmd_chat | ||
| .gitignore | ||
| cmd_chat.py | ||
| example.gif | ||
| LICENSE | ||
| README.MD | ||
| requirements.txt | ||
| ROADMAP.md | ||
| setup.py | ||
CMD CHAT
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.
🔒 Key Features
- 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
- The client generates an RSA key pair.
- The server creates a symmetric key.
- The client sends its public key to the server.
- The server encrypts the symmetric key and sends it back.
- The client decrypts and confirms the key.
- From that point, all communication is done via symmetric encryption.
Everything happens in memory only. Nothing is written to disk.
🚀 Installation & Run
Python
-
Clone the repository:
git clone https://github.com/emilycodestar/cmd-chat.gitcd cmd-chat -
Create a virtual environment and install dependencies:
Linux / macOS:
python -m venv venv && source venv/bin/activate && pip install -r requirements.txtWindows (PowerShell):
python -m venv venv ; .\venv\Scripts\activate ; pip install -r requirements.txt -
Start the server (set a password for client connections):
python cmd_chat.py serve 0.0.0.0 3000 --password YOUR_PASSWORD -
Connect a client:
python cmd_chat.py connect SERVER_IP 3000 USERNAME YOUR_PASSWORDExample (local run):
python cmd_chat.py connect localhost 3000 tyler YOUR_PASSWORD
🎥 Example
Here’s how it looks in action:
