Skip to content
View msgcli's full-sized avatar

Block or report msgcli

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
msgcli/README.md

Msg CLI

Msg CLI

Minimalist CLI Messaging Tool
A lightweight tool for sending and receiving messages in the terminal.
Zero config, ready to use. Acts as both server and client, peer-to-peer direct connection.

msgcli.org

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

Popular repositories Loading

  1. msgcli msgcli Public

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

    Python 79 5