sms-terminal

Crates.iosms-terminal
lib.rssms-terminal
version2.1.0
created_at2025-09-22 20:25:39.476342+00
updated_at2026-01-10 18:14:13.387906+00
descriptionTUI for SMS-API - send/receive SMS, view message history, and control GSM modems from your terminal.
homepage
repositoryhttps://github.com/morgverd/sms-terminal
max_upload_size
id1850604
size5,757,203
morgverd (morgverd)

documentation

README

SMS Terminal

A Rust-based TUI for sending and receiving SMS messages live through your own hardware.

Related Projects

Features

Quick Start

# Install via cargo
cargo install sms-terminal

# Connect to an insecure server with auth
sms-terminal --host 192.168.1.20:3000 --auth hello --ws-enabled

# Connect to a secure server
sms-terminal --host sms-api.internal:3000 --ssl-certificate ./ca.crt

Showcase

Phonebook & Messages

Access recent contacts with friendly name support. Messages are lazy-loaded for optimal performance.

Phonebook

Live Messaging

Send messages and receive notifications in real-time across any view when WebSocket is enabled.

Sending Incoming Message

Device Information

Monitor modem status, server version, signal strength, and WebSocket connection state.

Device Info Websocket Reconnection

Delivery Reports

Check delivery confirmations for outgoing messages directly from the messages view.

Delivery Reports

Themes

Customize your experience with built-in themes and background fill options.

  • F10 - Change color scheme
  • F11 - Toggle background fill mode

Themes

Configuration

Configuration can be provided through command line arguments or a config file.

Config File Locations

  • ./sms-terminal-config.toml (local, highest priority)

  • Windows: %appdata%/Local/sms-terminal/config.toml

  • Linux: $HOME/.config/sms-terminal/config.toml

Available Options

Option Type Description
theme emerald, blue, zinc, indigo, red, amber, pink Select a built-in theme
host String Server host for HTTP and WebSocket (e.g., localhost:3000)
http-uri URI HTTP URI (overrides host if set)
ws-uri URI WebSocket URI (overrides host if set)
ws-enabled Boolean Enable WebSocket support for live updates
auth String Authorization token for requests
ssl-certificate Path SSL certificate filepath for secure connections
sentry URI Sentry DSN for error reporting (requires sentry feature)

[!TIP] WebSocket connection is optional but strongly recommended for live updates!

[!WARNING] In a config file, the options use underscores instead of hyphens. Eg: ws_enabled instead of ws-enabled!

Installation

Basic Installation

cargo install sms-terminal

With Sentry Support

cargo install sms-terminal -F sentry

Usage Examples

# View help and available commands
sms-terminal -h

# Start terminal with default view
sms-terminal --host 192.168.1.20:3000 --auth testing

# Start with messages view for a specific contact
sms-terminal messages "+44123" --host 192.168.1.20:3000
Commit count: 73

cargo fmt