Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

🖥️ Terminal Chat - CLI Based Peer-to-Peer Chat App

Terminal Chat is a minimal, secure, terminal-based chat tool allowing two users to communicate over the internet using only a command-line interface — no GUI, no extra installation, just Python + Ngrok for the host.


🚀 Features

  • ✅ One-file executable with no external dependencies (for guest)
  • 🔐 Secure tunneling via Ngrok
  • 🌍 Communicate globally using room links
  • 👥 Supports peer-to-peer chatting
  • 🧵 Multithreaded - both users can type and receive messages simultaneously
  • 🕒 Timestamps for each message
  • 🧑‍💻 Custom Nicknames

📦 Requirements

For Host (Room Creator)

  • Python 3.11+ (Just for Development)
  • Ngrok (Configured and Authenticated)

Ngrok is only needed on the host’s machine.

For Guest (Joining the Room)

  • No Python or Ngrok required if using the .exe version.

🔧 How to Use

🖥️ Step 1: Host Side (Create a Chat Room)

  1. Install and configure Ngrok on your machine:
ngrok config add-authtoken YOUR_AUTHTOKEN
  1. Ensure ngrok.exe is in your system's PATH or alongside your chat.exe.

  2. Run chat.exe by double-clicking it or via terminal.

  3. Select option 1 - Create a Chat Room.

  4. The app will:

  • Start a TCP server on port 5000

  • Auto-start an Ngrok TCP tunnel

  • Show a public address like:

Host: 2.tcp.in.ngrok.io
Port: 14321
  1. Share the Host and Port with your friend (guest).

  2. Begin chatting in real-time!


👤 Step 2: Guest Side (Join a Room)

  1. Open Terminal or run the chat.exe file.
  2. Choose [2] Join a Chat Room
  3. Enter the Host and Port shared by the room creator.
  4. Start chatting in real-time.

🧪 Example

========== Terminal Chat ==========
[1] Create a Chat Room
[2] Join a Chat Room
Choose option: 1
[+] Chat server started on port 5000
[*] Starting Ngrok tunnel...
[!] Share this with your friend to join:
Host: 0.tcp.in.ngrok.io
Port: 12345

🛠️ Upcoming Features

  • 🔒 End-to-End Encryption (AES-based)
  • 👥 Multi-user chat rooms
  • ⏳ Typing indicators
  • 📁 Log chat history
  • 🌐 IPv6 support

📝 Notes

  • The host must have a working Ngrok setup with ngrok authtoken configured.
  • Guest users do not need Python or Ngrok if using the packaged .exe version.
  • Ensure ports are not blocked by firewall or antivirus.

Developed by Manas Choksi

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages