@@ -53,6 +53,7 @@ sudo r-lanterm
5353```
5454
5555The application will automatically:
56+
56571 . Detect your default network interface
57582 . Start scanning your local network (CIDR block)
58593 . Discover devices using ARP scanning
@@ -72,11 +73,13 @@ Debug mode disables the UI and shows detailed logging information.
7273## Command Line Options
7374
7475### ` --ports, -p <PORTS> `
76+
7577Comma-separated list of ports and port ranges to scan.
7678
7779** Default** : ` 22,80,443,2000-9999,27017 `
7880
7981** Examples** :
82+
8083``` bash
8184# Common ports only
8285sudo r-lanterm --ports 22,80,443
@@ -89,6 +92,7 @@ sudo r-lanterm --ports 22,80,443,8080,8443,3000-4000
8992```
9093
9194### ` --debug, -d `
95+
9296Run in debug mode - prints logs instead of showing the UI.
9397
9498** Use case** : Troubleshooting network issues, debugging scan problems.
@@ -104,40 +108,47 @@ sudo r-lanterm --debug
104108The application provides several interactive views:
105109
106110#### 1. Devices View (Default)
111+
107112- ** Purpose** : Display all discovered network devices in a table
108113- ** Columns** : IP Address, Hostname, Vendor, MAC Address, Open Ports
109114- ** Navigation** : Use arrow keys or ` j ` /` k ` to navigate
110115- ** Selection** : Press ` Enter ` to view device details
111116
112117#### 2. Device Detail View
118+
113119- ** Purpose** : Detailed information and actions for a specific device
114120- ** Features** : SSH connection, traceroute, port browsing, device configuration
115121
116122#### 3. Configuration View
123+
117124- ** Purpose** : Manage global and device-specific settings
118125- ** Options** : SSH credentials, port ranges, themes, network settings
119126
120127### Navigation and Controls
121128
122129#### Global Controls
130+
123131- ** ` q ` ** - Quit application
124132- ** ` Ctrl+C ` ** - Force quit (also handles external commands)
125133- ** ` v ` ** - Change view / Open view selection menu
126134- ** ` Esc ` ** - Cancel current action or go back
127135
128136#### Devices View
137+
129138- ** ` j ` / ` ↓ ` ** - Move down in device list
130139- ** ` k ` / ` ↑ ` ** - Move up in device list
131140- ** ` Enter ` ** - View selected device details
132141
133142#### Device Detail View
143+
134144- ** ` Esc ` ** - Back to devices list
135145- ** ` c ` ** - Configure device-specific SSH settings
136146- ** ` s ` ** - Connect to device via SSH
137147- ** ` t ` ** - Run traceroute to device
138148- ** ` b ` ** - Browse device via web browser (specify port)
139149
140150#### Configuration View
151+
141152- ** ` c ` ** - Start/enter configuration mode
142153- ** ` Tab ` ** - Focus next input field
143154- ** ` Shift+Tab ` ** - Focus previous input field
@@ -185,7 +196,7 @@ Override global settings for individual devices:
185196
186197` ` ` yaml
187198device_configs:
188- "aa:bb:cc:dd:ee:ff": # MAC address as key
199+ "aa:bb:cc:dd:ee:ff": # MAC address as key
189200 id: "router"
190201 ssh_port: 2222
191202 ssh_identity_file: "/home/user/.ssh/router_key"
@@ -219,12 +230,14 @@ r-lanterm continuously monitors your network:
219230**Prerequisites**: SSH client must be installed on your system
220231
221232**Features**:
233+
222234- Uses configured SSH credentials (global or device-specific)
223235- Supports custom SSH ports and identity files
224236- Seamless transition - UI pauses while SSH session is active
225237- Returns to UI when SSH session ends
226238
227239**Configuration**:
240+
2282411. Navigate to Configuration view (`v` → select Config)
2292422. Press `c` to enter configuration mode
2302433. Set SSH user, port, and identity file path
@@ -235,12 +248,14 @@ r-lanterm continuously monitors your network:
235248**Prerequisites**: `traceroute` command must be installed
236249
237250**Features**:
251+
238252- Shows network path to selected device
239253- Displays hop-by-hop latency information
240254- Results shown directly in the device detail view
241255- Uses ICMP traceroute for accurate results
242256
243257**Usage**:
258+
2442591. Select device in Devices view (`Enter`)
2452602. Press `t` in Device Detail view
2462613. Results appear in real-time
@@ -250,12 +265,14 @@ r-lanterm continuously monitors your network:
250265**Prerequisites**: `lynx` terminal web browser must be installed
251266
252267**Features**:
268+
253269- Browse web interfaces on any device port
254270- Terminal-based browsing with lynx
255271- Custom port specification
256272- Useful for router admin interfaces, web servers, etc.
257273
258274**Usage**:
275+
2592761. Select device in Device Detail view
2602772. Press `b` to browse
2612783. Enter port number when prompted
@@ -264,12 +281,14 @@ r-lanterm continuously monitors your network:
264281# ## Port Scanning
265282
266283**Configurable Ranges**:
284+
267285- Default : ` 22,80,443,2000-9999,27017`
268286- Supports individual ports : ` 22,80,443`
269287- Supports port ranges : ` 8000-9000`
270288- Mixed specifications : ` 22,80,8000-9000`
271289
272290**Scan Process**:
291+
2732921. ARP scan discovers active devices
2742932. SYN scan checks configured ports on each device
2752943. Results update in real-time as ports are discovered
@@ -282,27 +301,31 @@ r-lanterm continuously monitors your network:
282301**Error**: `permission denied: must run with root privileges`
283302
284303**Solution**: Run with sudo:
304+
285305` ` ` bash
286306sudo r-lanterm
287307` ` `
288308
289309# ## No Devices Found
290310
291311**Possible Causes**:
312+
292313- Network interface detection issues
293314- Firewall blocking scan packets
294315- Devices configured to ignore ARP requests
295316
296317**Solutions**:
297318
2983191. **Check network connectivity** :
320+
299321 ` ` ` bash
300322 # Verify your network configuration
301323 ip route show # Linux
302324 route -n get default # macOS
303325 ` ` `
304326
3053272. **Use debug mode** :
328+
306329 ` ` ` bash
307330 sudo r-lanterm --debug
308331 ` ` `
@@ -314,19 +337,22 @@ sudo r-lanterm
314337# ## SSH Connection Issues
315338
316339**Common Problems**:
340+
317341- SSH key permissions
318342- Incorrect SSH port or username
319343- SSH service not running on target device
320344
321345**Solutions**:
322346
3233471. **Verify SSH key permissions** :
348+
324349 ` ` ` bash
325350 chmod 600 ~/.ssh/id_rsa
326351 chmod 644 ~/.ssh/id_rsa.pub
327352 ` ` `
328353
3293542. **Test SSH manually** :
355+
330356 ` ` ` bash
331357 ssh -i ~/.ssh/id_rsa user@device_ip -p 22
332358 ` ` `
@@ -338,6 +364,7 @@ sudo r-lanterm
338364# ## External Command Issues
339365
340366**Missing Commands**:
367+
341368- `ssh` : Install OpenSSH client
342369- `traceroute` : Install traceroute package
343370- `lynx` : Install lynx web browser
@@ -363,11 +390,13 @@ sudo dnf install openssh-clients traceroute lynx
363390# ## Performance Issues
364391
365392**Large Networks**:
393+
366394- Reduce port scan range : ` --ports 22,80,443`
367395- Network scans are performed every 15 seconds
368396- UI rendering optimized for real-time updates
369397
370398**Slow Terminal**:
399+
371400- Try different themes for better performance
372401- Reduce terminal window size if rendering is slow
373402- Use debug mode to check for underlying issues
@@ -443,13 +472,23 @@ scp config.yml user@remote:~/.config/r-lanterm/
443472- **File Permissions**: Ensure config directory has appropriate permissions
444473- **Sensitive Data**: Consider encrypting configuration files if needed
445474
475+ # # License
476+
477+ This project is dual-licensed under either of
478+
479+ - Apache License, Version 2.0 ([LICENSE-APACHE](../LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
480+ - MIT License ([LICENSE-MIT](../LICENSE-MIT) or http://opensource.org/licenses/MIT)
481+
482+ at your option.
483+
446484# # Related Tools
447485
448486- **[r-lanlib](../lib/README.md)**: The underlying Rust library powering this application
449487- **[r-lancli](../cli/README.md)**: Command-line interface for batch scanning
450488- **SSH clients**: Works with any SSH client (OpenSSH, PuTTY, etc.)
451489
452490# ## Optional External Tools
491+
453492- `ssh` : SSH client for device connections
454493- `traceroute` : Network path analysis
455494- `lynx` : Terminal web browser
0 commit comments