https://github.com/gofaone315/chaterminal
ChaTerminal is a fast, encrypted terminal-based group chat app for local or internet-connected networks. With real-time messaging, admin tools, private DMs, and stylish command-line visuals, it's perfect for developers who love chatting in the terminal.
https://github.com/gofaone315/chaterminal
anonymous chat-application chaterminal chats client cmdline communication localhost localxpose ngrok server terminal-based wifi wlan
Last synced: about 1 year ago
JSON representation
ChaTerminal is a fast, encrypted terminal-based group chat app for local or internet-connected networks. With real-time messaging, admin tools, private DMs, and stylish command-line visuals, it's perfect for developers who love chatting in the terminal.
- Host: GitHub
- URL: https://github.com/gofaone315/chaterminal
- Owner: Gofaone315
- License: mit
- Created: 2025-05-25T18:24:14.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-05-27T14:19:06.000Z (about 1 year ago)
- Last Synced: 2025-06-02T07:26:42.421Z (about 1 year ago)
- Topics: anonymous, chat-application, chaterminal, chats, client, cmdline, communication, localhost, localxpose, ngrok, server, terminal-based, wifi, wlan
- Language: Python
- Homepage:
- Size: 34.2 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# ChaTerminal
**ChaTerminal** is a cross-platform terminal-based encrypted chat system built with Python. It supports multiple users on a local network or via tunneling tools like Ngrok or LocalXpose, providing a lightweight and interactive chat experience — right from the terminal.



## Features
- **Encrypted communication** using custom crypto utilities
- **Multi-user chat** over LAN or tunneled internet
- **Color-coded messages** with timestamp formatting
- **Auto-complete** for commands via `readline` and TAB
- **Direct messaging** using `/dm `
- **Username renaming** with `/rename `
- **List online users** using `/list`
- **Admin controls**: `/kick ` (admin-only)
- **Emote support**: `/me `
- **Help menu**: `/help` displays command reference
- **User join/leave notifications**
- **Sound alert** for DMs and admin actions
- **Graceful client disconnect and server feedback**
- **Color personalization** based on username hash
## Getting Started
### Requirements
- Python 3.9+
- pip packages: `colorama`, `pyfiglet`, `readline` (Linux/macOS), `pyreadline3` (Windows)
### Installation
```bash
pip install ChaTerminal
```
### Running the Server
```bash
python -m ChaTerminal init server
```
- Enter a port (e.g., `5555`) and the admin username
- Displays local IP with instructions for LAN or tunneled access
### Running the Client
In a **new terminal window**:
```bash
python -m ChaTerminal init client
```
- Enter the server IP, port, and a unique username
## Commands
| Command | Description |
|---------------------|------------------------------------------|
| `/dm ` | Send a private message |
| `/kick ` | Kick a user (admin only) |
| `/list` | View online users |
| `/rename ` | Change your username |
| `/me ` | Send an action/emote (e.g., waves) |
| `/help` | Show all available commands |
## Networking Tips
To let others join:
- **Local network**: Share the IP and port printed on server start
- **Ngrok**: `ngrok tcp `
- **LocalXpose**: `./lx tcp `
- **Port Forwarding**: Map the server's port on your router
## Example
```bash
# Start server
$ python -m ChaTerminal init server
Port: 5555
Admin Username: admin
# Start client
$ python -m ChaTerminal init client
Server IP: 192.168.1.100
Server Port: 5555
Username: myname
```
## Security Note
All messages are encrypted using the `crypto_utils` module before transmission. Ensure that this module uses secure encryption practices for production deployments.
## License
This project is licensed under the MIT License. See `LICENSE` for more info.
## Author
**Gofaone Tlalang**
GitHub: [@Gofaone315](https://github.com/Gofaone315)
## Contributors ✨
Thanks goes to these wonderful people:
---
**ChaTerminal** – Real-time encrypted chat, right from your terminal.