| Crates.io | r-lanterm |
| lib.rs | r-lanterm |
| version | 0.2.4 |
| created_at | 2025-08-12 16:19:42.386939+00 |
| updated_at | 2025-08-14 17:05:57.871478+00 |
| description | A full-featured terminal user interface (TUI) application for managing and interacting with networked LAN devices |
| homepage | https://github.com/robgonnella/r-lanscan |
| repository | https://github.com/robgonnella/r-lanscan |
| max_upload_size | |
| id | 1792205 |
| size | 265,447 |
A full-featured terminal user interface (TUI) application for managing and interacting with networked LAN devices. This is the new and improved Rust version of ops, providing an interactive way to discover, monitor, and connect to devices on your local network.
ssh - For SSH connections to devicestraceroute - For network path analysislynx - For terminal web browsing# Clone the repository
git clone https://github.com/robgonnella/r-lanscan
cd r-lanscan
# Build the terminal application
cargo build --release -p r-lanterm
# The binary will be available at ./target/release/r-lanterm
Launch the application with default settings:
sudo r-lanterm
The application will automatically:
For troubleshooting or to see detailed logs:
sudo r-lanterm --debug
Debug mode disables the UI and shows detailed logging information.
--ports, -p <PORTS>Comma-separated list of ports and port ranges to scan.
Default: 22,80,443,2000-9999,27017
Examples:
# Common ports only
sudo r-lanterm --ports 22,80,443
# Extended range
sudo r-lanterm --ports 1-1000,8000-9000
# Mixed specification
sudo r-lanterm --ports 22,80,443,8080,8443,3000-4000
--debug, -dRun in debug mode - prints logs instead of showing the UI.
Use case: Troubleshooting network issues, debugging scan problems.
sudo r-lanterm --debug
The application provides several interactive views:
j/k to navigateEnter to view device detailsq - Quit applicationCtrl+C - Force quit (also handles external commands)v - Change view / Open view selection menuEsc - Cancel current action or go backj / ↓ - Move down in device listk / ↑ - Move up in device listEnter - View selected device detailsEsc - Back to devices listc - Configure device-specific SSH settingss - Connect to device via SSHt - Run traceroute to deviceb - Browse device via web browser (specify port)c - Start/enter configuration modeTab - Focus next input fieldShift+Tab - Focus previous input fieldEnter - Save configurationEsc - Exit configuration mode← / → - Navigate theme colors (when in theme selection)Backspace - Delete character in input fieldsr-lanterm stores configuration in platform-specific directories:
~/.config/r-lanterm/config.yml~/Library/Application Support/r-lanterm/config.yml%APPDATA%/r-lanterm/config.ymlThe application maintains a global configuration per network (CIDR block):
id: "home-network"
cidr: "192.168.1.0/24"
theme: "Blue"
ports: ["22", "80", "443", "2000-9999", "27017"]
default_ssh_user: "username"
default_ssh_port: "22"
default_ssh_identity: "/home/username/.ssh/id_rsa"
device_configs: {}
theme: Visual theme (Blue, Emerald, Indigo, Red)ports: Default ports to scan for all devicesdefault_ssh_user: Default username for SSH connectionsdefault_ssh_port: Default SSH portdefault_ssh_identity: Path to SSH private key fileOverride global settings for individual devices:
device_configs:
"aa:bb:cc:dd:ee:ff": # MAC address as key
id: "router"
ssh_port: 2222
ssh_identity_file: "/home/user/.ssh/router_key"
ssh_user: "admin"
Available color themes:
Themes automatically adapt to terminal capabilities (true color vs basic colors).
r-lanterm continuously monitors your network:
Prerequisites: SSH client must be installed on your system
Features:
Configuration:
v → select Config)c to enter configuration modeEnter to savePrerequisites: traceroute command must be installed
Features:
Usage:
Enter)t in Device Detail viewPrerequisites: lynx terminal web browser must be installed
Features:
Usage:
b to browseEnter to launch lynxConfigurable Ranges:
22,80,443,2000-9999,2701722,80,4438000-900022,80,8000-9000Scan Process:
Error: permission denied: must run with root privileges
Solution: Run with sudo:
sudo r-lanterm
Possible Causes:
Solutions:
Check network connectivity:
# Verify your network configuration
ip route show # Linux
route -n get default # macOS
Use debug mode:
sudo r-lanterm --debug
Verify network interface:
Common Problems:
Solutions:
Verify SSH key permissions:
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
Test SSH manually:
ssh -i ~/.ssh/id_rsa user@device_ip -p 22
Check device SSH configuration:
Missing Commands:
ssh: Install OpenSSH clienttraceroute: Install traceroute packagelynx: Install lynx web browserInstallation Examples:
# Ubuntu/Debian
sudo apt update
sudo apt install openssh-client traceroute lynx
# macOS (using Homebrew)
brew install openssh
brew install traceroute
brew install lynx
# CentOS/RHEL/Fedora
sudo yum install openssh-clients traceroute lynx
# or for newer versions:
sudo dnf install openssh-clients traceroute lynx
Large Networks:
--ports 22,80,443Slow Terminal:
While r-lanterm is primarily interactive, it can be integrated into workflows:
# Run in debug mode for logging
sudo r-lanterm --debug 2>&1 | tee network-scan.log
# Custom port scanning for specific services
sudo r-lanterm --ports 22,3389,5900 # SSH, RDP, VNC
Configuration files can be version controlled or shared:
# Backup configuration
cp ~/.config/r-lanterm/config.yml ~/backup/
# Share configuration across systems
scp config.yml user@remote:~/.config/r-lanterm/
This project is dual-licensed under either of
at your option.
ssh: SSH client for device connectionstraceroute: Network path analysislynx: Terminal web browserThis is version 0.1.0 - the initial Rust implementation, representing a complete rewrite and improvement over the original Go-based ops tool.