Skip to content

allannielsen/crabterm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

crabterm

A terminal (UART) server and client written in Rust.

Inspired by termhub but rewritten from scratch in Rust (not compatible).

If used without the server ability, then it is very similar to picocom or minicom.

Features

  • Serial port connections (e.g., /dev/ttyUSB0)
  • TCP device connections (connect to remote serial servers)
  • TCP server mode (expose a serial port over the network)
  • Multiple simultaneous TCP clients
  • Echo mode for testing without hardware
  • Configurable keybindings
  • Timestamp filtering on output
  • Auto-reconnection on disconnect

Installation

cargo build --release
sudo cp target/release/crabterm /usr/local/bin/

Usage

# Connect to a serial device
crabterm /dev/ttyUSB0

# Connect with specific baudrate
crabterm /dev/ttyUSB0 -b 9600

# Connect to a TCP device
crabterm 192.168.1.100:4000

# Start a TCP server exposing a serial port
crabterm /dev/ttyUSB0 -p 4000

# Echo mode (for testing)
crabterm echo

# Headless mode (daemon, no local console)
crabterm /dev/ttyUSB0 -p 4000 --headless

Configuration

Configuration file: ~/.crabterm

Example:

# Quit with Ctrl+Q
bind ctrl+q quit

# Prefix mode: Ctrl+A followed by another key
prefix ctrl+a

# Send break signal with Ctrl+A, b
bind ctrl+a b send \x00

# Toggle timestamp filter
bind ctrl+a t filter-toggle timestamp

License

MIT

About

A bit like picocom/minicom but also with server capabilities

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors