A secure multi-threaded chat application built with Python, enabling real-time encrypted messaging and file transfer between multiple clients.
- Real-time messaging with multiple clients
- End-to-end encryption using Fernet
- Private messaging with
/whisper
command - File transfer capabilities
- Admin authentication and management (kick/ban users)
- User-friendly Tkinter GUI
- Comprehensive logging system
- Python 3.8+
- cryptography library
- tkinter (usually comes with Python)
# Clone the repository
git clone https://github.com/PM4305/pychat.git
cd pychat
# Install dependencies
pip install cryptography
- Start the server:
python server.py
- Launch the client:
python client.py
- Enter your username and connect to the server
/kick <username>
: Kick a user from the chat/ban <username>
: Ban a user from the chat/whisper <username> <message>
: Send a private message
pychat/
├── server.py # Server implementation
├── client.py # Client and GUI implementation
├── encryption.py # Encryption utilities
└── logs/ # Server logs directory
- Message encryption using Fernet
- Secure file transfer
- Admin authentication
- Activity logging
- Fork the repository
- Create a feature branch
- Commit changes
- Push to the branch
- Open a pull request
This project is licensed under the MIT License - see the LICENSE file for details.