v1.0 — Open Source

Chat from your Terminal

A simple yet powerful terminal-based chat application written in Python. Realtime messaging via TCP sockets, straight from your command line.

Install Documentation
bash
$ curl -s https://ben.de-roo.org/install/script.sh | bash
terminal-chat — python3
$ python3 client.py

Terminal Chat

========================================
   Welcome to The Terminal Chat
========================================

1. Login
2. New account

> 1

Username: max
Password: ********

--- Available chats: ---

1. General
2. Create new chat

> 1

Everything you need

Terminal Chat is built with a focus on simplicity and functionality. No unnecessary complexity, just chatting from your terminal.

Login & Signup

Full authentication system with username and password. Default test account included.

Terminal Interface

Colorful terminal interface with intuitive navigation. Works on any terminal that supports ANSI colors.

Realtime Messaging

Messages are delivered instantly via TCP sockets. No delay, no polling. True realtime communication.

Multiple Chats

Create multiple chat channels and easily switch between them. Each channel has its own message history.

User Management

Add users to chats with a simple command. Manage who is in which channel.

Open Source

Fully open source and free to use. View the code, contribute, or fork the project for your own use.

Get started quickly

Everything you need to install, configure, and use Terminal Chat.

Installation

Install Terminal Chat with a single command. The script downloads and configures everything automatically.

# Automatic installation
$ curl -s https://ben.de-roo.org/install/script.sh | bash

# Or manually
$ git clone <repo-url>
$ cd terminal-chat
$ pip install -r requirements.txt

Getting Started

Start the server first, then the client. Log in with the default test account or create a new one.

# Start the server
$ python3 server.py

# Start the client (another terminal window)
$ python3 client.py

# Default test account
user: test  pass: test

Available Commands

Use these commands while chatting to perform additional actions.

CommandDescription
/add <username> Add a user to the current chat
/break Leave the current chat and return to chat selection
/quit Close the program completely and disconnect
obviously more commands and features comming on the way!

How it works

Terminal Chat uses a classic client-server model with TCP sockets for reliable, bidirectional communication.

Client Python script that connects to the server. Handles input/output and displays messages with ANSI colors.
↓ TCP Socket ↓
Server Runs centrally and manages all connections, authentication, chat channels, and message routing.
↓ Threading ↓
Storage User and chat data are stored server-side. Each client gets its own thread for non-blocking I/O.


# Simplified overview

client.py Connects to server via socket
            Login / Signup prompt
            Chat selection menu
            Send & receive messages

server.py Listens on TCP port
            New thread per client
            Authentication handling
            Message broadcast to channel