Skip to content

morgverd/sms-terminal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

TUI for sms-server - send/receive SMS, view message history, and control GSM modems from your terminal.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages