Skip to content

SadLiter/GoTalk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Encrypted CLI Chat

A secure, encrypted chat application written in Go that guarantees end-to-end encryption between two users. It runs in the command line with colored output to distinguish between your messages and your peer's messages.

Project Structure

encrypted-chat/
├── cmd
│   ├── server.go      # TCP server that relays encrypted messages
│   └── client.go      # CLI client that encrypts and decrypts messages
├── go.mod             # Go module file
└── README.md          # This file

Requirements

  • Go 1.20 or later

How to Run

  1. Start the Server:

    Open a terminal and run:

    go run cmd/server.go

    The server listens on port 9000.

Start the Clients:

Open two separate terminals (for two users) and run:

go run cmd/client.go <server-ip>:9000

Replace <server-ip> with:

  • localhost if both server and client are on the same machine,
  • your local IP (e.g., 192.168.1.100) if the server is running on your local network,
  • your public IP if you want to chat over the internet (requires setting up port forwarding on your router).
  1. Chat:

    Enter the same passphrase in both clients to enable secure communication. Then, type your messages and enjoy the chat!

About

GoTalk is a secure, end-to-end encrypted CLI chat built in Go. Messages are encrypted with AES-GCM using a passphrase, ensuring private communication without external storage. Simple real-time messaging with colored output for an intuitive user experience.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages