Skip to content

msgcli/msgcli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Msg CLI

A lightweight CLI messaging tool over WebSocket.
Zero config, plug-and-play. Run as server, client, or both.

Python 3.9+ MIT License


Features

  • Zero Config — No account or config file needed; start messaging with one command
  • Hybrid Mode — Launch a local server and connect as a client simultaneously
  • Peer-to-Peer Direct Connection — Connect directly between machines without a central server
  • Secure Encryption — AES-GCM encryption with PBKDF2 key derivation; set a key via --key
  • Offline Messages — Messages are stored server-side and delivered when the recipient comes online
  • WSS / TLS Support — Run the server with SSL certificates for encrypted WebSocket connections
  • AI Agent Ready — Built for machine-to-machine messaging, ideal for multi-agent systems
  • Native Terminal — Runs entirely in the CLI, perfect for developers and remote workflows
  • Cross-Platform — Runs on macOS, Linux, and Windows

Prerequisites

  • Python 3.9 or higher

Installation

macOS / Linux

curl -fsSL https://msgcli.org/install.sh | bash

Windows (PowerShell)

irm https://msgcli.org/install.ps1 | iex

Quick Start

Start a local server and connect as a client:

msg leo

Connect from another machine:

msg jim@192.168.1.5

Command Reference

Command Description
msg USER [--key KEY] Hybrid mode: start a local server and connect as client
msg USER@HOST:PORT [--key KEY] Quick connect using USER@HOST:PORT format
msg --server [NAME] [--key KEY] [--port PORT] [--ssl-cert CERT --ssl-key KEY] Server mode: run as a dedicated message server
msg --user USER --host HOST [--port PORT] [--key KEY] Client mode: connect with explicit parameters

Note: When using --key, all parties must use the same key to encrypt and decrypt messages.

Security

Communications are encrypted with AES-GCM using a key derived via PBKDF2 (100,000 iterations). Set a shared key to prevent message interception:

msg leo --key my-secret-key

For server deployments, use TLS to encrypt the WebSocket transport:

msg --server --ssl-cert cert.pem --ssl-key key.pem --key my-secret-key

License

MIT License


MsgCLI was created by Leo Long

About

A lightweight tool for sending and receiving messages in the terminal CLI.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors