A secure command-line interface chat server with authentication, private messaging, file transfers, and comprehensive logging.
- 🔐 Role-based authentication system (admin/user)
- 💬 Real-time messaging
- 📝 Private messaging system
- 📁 File transfer support (up to 5MB)
- 📊 Comprehensive logging system
- 🛡️ Advanced admin controls
- User authentication with access keys
- IP banning system
- User muting capability
- Connection attempt logging
- Maximum login attempts (3)
!kick <user>- Kick a user from the chat!ban <user>- Ban a user's IP address!mute <user>- Mute a user!unmute <user>- Unmute a user!logs- View recent server logs
!help- Show available commands!active- Show active users!clear- Clear screen!whoami- Show your username and role!time- Show server time!room- Show current room name!pm <user> <message>- Send private message!sendfile <user> <filepath>- Send file to user!receivefile- Accept pending file transfer!quit- Exit chat
- Python 3.6+
- No external dependencies required (uses standard library)
- Clone the repository:
git clone https://github.com/yourusername/backdoor-chat.git
cd backdoor-chat- Make sure you have Python 3.6 or higher installed:
python --version# Basic server start (default port: 55555)
python chat.py --server
# Custom port and room name
python BackDoorChat.py --port 5000 --room hackroom
# Bind to specific IP
python BackDoorChat.py --host 0.0.0.0 --port 5000Users can connect using standard terminal tools:
nc localhost 55555
# or
telnet localhost 55555Default access keys:
- Admin:
backdoor123 - User:
user123
The server supports file transfers up to 5MB:
- Sender:
!sendfile username filepath - Receiver:
!receivefile
Files are automatically renamed with timestamps to prevent conflicts.
The server maintains two types of logs in the logs directory:
chat_YYYYMMDD.log: Chat messages and commandsevents_YYYYMMDD.log: Server events and actions
Logs older than 7 days are automatically cleaned up.
// Chat log entry
{
"timestamp": "2024-01-16T10:15:30.123",
"type": "message",
"nickname": "user",
"message": "Hello everyone!"
}
// Event log entry
{
"timestamp": "2024-01-16T10:15:00.000",
"type": "user_connected",
"details": {
"nickname": "user",
"ip": "192.168.1.100",
"role": "user"
}
}- End-to-end encryption
- Multiple chat rooms
- Custom user profiles
- File encryption
