Les’Go is a secure, terminal-based messaging system built in Go that provides authenticated, end-to-end encrypted communication between users, with real-time delivery, unread tracking, and encrypted message persistence.
Les'Go is designed for developers who prefer speed, control, and minimal interfaces. It eliminates unnecessary UI layers and focuses on performance, security, and simplicity.
- Authenticated user accounts
- End-to-end encrypted messaging
- Real-time message delivery
- Unread message tracking
- Persistent chat history
- Fully terminal-based interface
Client (CLI) <----> Server <----> Database
| | |
Encryption Auth + Routing Persistent Storage
- Terminal-based user interface
- Handles encryption/decryption
- Sends and receives messages via WebSocket
- Authentication and session management
- Message routing
- Real-time communication handling
- Secure message storage
- Persists users and messages
- Enables history retrieval and unread tracking
- Token-based authentication (JWT)
- Password hashing using bcrypt
- End-to-end encrypted message exchange
- TLS-ready server configuration
- Optional encrypted message storage
Messages are stored server-side to allow:
- Viewing past conversations
- Tracking unread messages
- Resuming sessions across restarts
Supported databases:
- PostgreSQL
- MongoDB
- SQLite (lightweight deployments)
- Core: Go
- Networking:
net/http,gorilla/websocket - Security: JWT, bcrypt
- Database: PostgreSQL / MongoDB / SQLite
-
Clone the repository
git clone https://github.com/XplnHUB/Les-Go.git cd Les-Go -
Build the server
go build -o server ./server
-
Build the client
go build -o lesgo ./client
-
Start the server
./server
-
Start the client
./lesgo
/register/login/send <username> <message>/history <username>/unread/logout
- Group chats
- File transfer support
- Offline message synchronization
- CLI themes and customization
- Self-hosted deployment scripts
- Peer-to-peer mode
- Multi-device support
Contributions are welcome! Please ensure code quality, security, and performance standards are maintained.
MIT License