Terminal Overview
ProfessionalExplore the NetStacks Terminal — a modern, powerful terminal emulator purpose-built for network engineers managing SSH and Telnet sessions at scale.
Overview
The NetStacks Terminal is a native desktop application built with Tauri (Rust + React) that replaces aging tools like SecureCRT and PuTTY with a modern, high-performance terminal emulator designed specifically for network engineering workflows. Whether you are configuring a single switch or managing hundreds of routers across multiple data centers, the Terminal provides the features you need in a single window.
Key Capabilities
- Multi-Tab Sessions — Open dozens of concurrent sessions in tabs, each with its own connection and scrollback buffer.
- Split Panes — Divide any tab into horizontal or vertical panes to compare configurations or monitor multiple devices side by side.
- Session Recording — Record terminal output for audit trails, change verification, or post-maintenance review.
- AI Assistance — Get context-aware help from an integrated AI chat that understands the device type, CLI flavor, and current session state.
- SFTP File Transfers — Upload and download files to devices without leaving the terminal interface.
- Multi-Send Broadcast — Type a command once and send it to every selected session simultaneously.
- Device Auto-Detection — Automatically identifies Cisco IOS, NX-OS, Juniper Junos, Arista EOS, Palo Alto PAN-OS, and Linux/Unix hosts by analyzing login banners and command prompts.
- Mapped Keys & Custom Commands — Bind keyboard shortcuts to device commands (e.g.,
Ctrl+Shift+Isendsshow ip interface brief) and define custom commands with parameters. - Session Sharing — Share live terminal sessions with team members for collaborative troubleshooting, training, or change review. Viewers connect via WebSocket and see output in real time.
- Plugin Integration — Access incidents, alerts, and configuration stacks directly from the Terminal activity bar without switching to the Admin UI. Create, view, edit, and triage plugin data alongside your terminal sessions.
Standalone vs Enterprise Mode
The Terminal operates in two modes depending on your infrastructure:
- Standalone (Professional) — Use the Terminal by itself with locally stored credentials and SSH keys. No server required. Ideal for individual engineers or small teams.
- Enterprise (Controller) — Connect to a NetStacks Controller for centralized credential management, SSH certificate authentication, session recording storage, device inventory, audit logging, and shared AI configuration.
How It Works
The Terminal is a Tauri application with a Rust backend and a React frontend. The frontend renders terminal output using XTerm.js with hardware-accelerated WebGL rendering, 256-color and true-color support, and configurable scrollback buffers up to 100,000 lines.
Architecture
When you open a session, the Terminal follows this lifecycle:
- Connect — The Rust backend establishes an SSH or Telnet connection to the target device, either directly or through a jump host chain.
- Authenticate — Credentials are resolved from the local encrypted store (standalone) or the Controller credential vault (enterprise). The Terminal supports password, SSH key (RSA, ECDSA, Ed25519), certificate, and keyboard-interactive authentication.
- Detect Device — After login, the Terminal analyzes the banner text and prompt pattern to identify the device type and CLI flavor. This enables platform-specific features like syntax highlighting presets and AI context.
- Active Session — A WebSocket channel streams data between the XTerm.js frontend and the Rust SSH/Telnet proxy. The terminal watcher monitors output for prompt changes, errors, and enrichment opportunities.
Standalone Architecture
In standalone mode, a local agent sidecar (running on localhost:8080) handles SSH connections, credential storage, session recordings, mapped keys, and script execution. All data stays on your machine.
Controller-Connected Architecture
In enterprise mode, the Terminal connects to a Controller server. SSH sessions can be proxied through the Controller, which provides centralized credential injection, SSH certificate issuance, session recording storage, and command audit logging. The Terminal communicates with the Controller over HTTPS and WebSocket connections.
Switching between standalone and enterprise mode is done in Settings → Enterprise. Existing sessions continue but may need to reconnect with new credentials from the Controller vault.
Step-by-Step Guide
This guide walks you through opening your first terminal session, connecting to a network device, and exploring the interface.
1. Launch the Application
Open NetStacks Terminal from your Applications folder (macOS) or Start Menu (Windows). On first launch, you will see a single empty tab with a local shell session.
2. Open the Quick Connect Dialog
Press Cmd+Shift+Q (Mac) or Ctrl+Shift+Q (Windows/Linux) to open Quick Connect. You can also click the + icon in the tab bar and select Quick Connect.
3. Enter Connection Details
Type the hostname or IP address of your device, enter your username, and select an authentication method (password or SSH key). For example:
- Host:
core-rtr01.dc1.example.net - Port:
22 - Username:
netadmin - Auth: Password
4. Connect
Click Connect or press Enter. The Terminal opens a new tab, establishes the SSH connection, and authenticates. You will see the device login banner followed by the command prompt.
5. Explore the Interface
- Tab Bar — Shows all open sessions with connection status icons. Right-click a tab for options like Rename, Duplicate, Save Session, and Session Settings.
- Terminal Area — The main terminal with hardware-accelerated rendering, URL detection, and scrollback search (
Cmd/Ctrl+F). - Status Bar — Displays connection state, detected device type, session duration, and recording indicator.
- Sidebar — Toggle with
Cmd/Ctrl+Bto access saved sessions, notes, scripts, topology, and device panels.
After connecting, right-click the tab and select Save Session to save the connection for quick access later. Saved sessions appear in the sidebar.
Code Examples
Below are examples of typical terminal workflows with network devices.
Quick Connect Syntax
# Quick Connect accepts several formats:
netadmin@core-rtr01.dc1.example.net
netadmin@10.0.1.1:22
ssh://netadmin@border-fw01.dc2.example.net:22Device Detection in Action
# After connecting to a Cisco IOS device, the Terminal detects the platform:
core-rtr01.dc1.example.net — SSH connection established
Cisco IOS XE Software, Version 17.09.04a
core-rtr01#
# Status bar shows: Cisco IOS | Connected | 0:00:12Checking Operating Mode
# View current mode from the menu:
# Help → About NetStacks
#
# Standalone Mode (Local Agent)
# Agent: localhost:8080
# Sessions: 3 active
#
# Enterprise Mode (Controller: https://controller.example.com)
# Organization: Example Corp
# Sessions: 12 active
# Vault: ConnectedAuto-Execute Commands
# Configure auto-execute commands in Session Settings.
# These run immediately after authentication:
# Cisco IOS — disable paging and set terminal width
terminal length 0
terminal width 200
# Juniper Junos — disable paging
set cli screen-length 0
# Arista EOS — disable paging
terminal length 0Questions & Answers
- Q: What is the NetStacks Terminal?
- A: The Terminal is a native desktop application (Tauri/Rust + React) that provides a modern SSH and Telnet client purpose-built for network engineers. It supports multi-tab sessions, split panes, session recording, AI assistance, SFTP, multi-send broadcast, device auto-detection, and mapped keyboard shortcuts.
- Q: What protocols does the Terminal support?
- A: The Terminal supports SSH (v2) and Telnet. SSH connections support password, SSH key (RSA, ECDSA, Ed25519), SSH certificate, and keyboard-interactive authentication. Local shell sessions are also available for running commands on your workstation.
- Q: How does standalone mode differ from enterprise mode?
- A: In standalone mode, the Terminal operates independently with locally stored credentials, local session recordings, and AI features using your own API keys. In enterprise mode, the Terminal connects to a Controller for centralized credential management, SSH certificate authentication, server-side session recordings, device inventory, audit logging, and shared AI configuration. You can switch modes at any time in Settings.
- Q: What device types are auto-detected?
- A: The Terminal detects Cisco IOS, Cisco IOS-XE, Cisco NX-OS, Juniper Junos, Arista EOS, Palo Alto PAN-OS, and Linux/Unix hosts. Detection uses banner text analysis and prompt pattern matching. If a device is misdetected, you can manually set the device type in Session Settings.
- Q: Can I use the Terminal without a Controller?
- A: Yes. The Terminal is fully functional in standalone mode. You can connect to devices using local credentials, record sessions locally, use AI assistance with your own API keys, and access all terminal features. The Controller adds centralized management, certificate auth, and audit capabilities but is not required.
- Q: How does the Terminal handle disconnections?
- A: When a connection drops, the Terminal displays a reconnect overlay with the reason for disconnection. Auto-reconnect can be enabled in session settings, which will attempt to re-establish the connection with a configurable delay and retry limit. The scrollback buffer is preserved across reconnections.
- Q: What is the command palette?
- A: The command palette (
Cmd+Shift+P/Ctrl+Shift+P) is a searchable list of all available actions. Type to filter, then press Enter to execute. It shows the keyboard shortcut for each command so you can learn bindings as you use them.
Troubleshooting
Terminal Not Connecting
Symptom: Connection attempt hangs or shows "Connection refused."
Cause: The target host is unreachable, the SSH service is not running, or a firewall is blocking port 22.
Solution: Verify network reachability with ping or traceroute from a local shell tab. Confirm the SSH service is listening on the expected port. Check firewall rules between your workstation and the device.
Slow or Choppy Rendering
Symptom: Terminal output appears slowly or flickers during large output (e.g., show tech-support).
Cause: WebGL rendering may not be available, or the scrollback buffer is very large.
Solution: Ensure hardware acceleration is enabled in your OS display settings. Reduce scrollback buffer size in Settings → Terminal. Consider piping large outputs to a file instead of the terminal.
Device Detection Failure
Symptom: Status bar shows "Unknown" instead of the device type.
Cause: The device banner or prompt does not match any known detection pattern. This can happen with custom prompts or uncommon device types.
Solution: Right-click the tab, open Session Settings, and manually set the device type under the Detection section. The AI assistant and highlighting presets will then use the correct platform context.
Scrollback Search Not Finding Results
Symptom: Cmd/Ctrl+F search returns no matches even though the text is visible.
Cause: The search query may be case-sensitive, or the text has already scrolled past the scrollback buffer limit.
Solution: Toggle case-sensitive search off in the find bar. Increase the scrollback buffer in Settings → Terminal if needed.
Related Features
- Connecting to Devices — SSH and Telnet connection methods, jump hosts, certificate authentication, and connection profiles.
- Multi-Tab & Split Panes — Working with multiple sessions in tabs and split-pane layouts.
- Keyboard Shortcuts — Complete shortcut reference, mapped keys, custom commands, and the command palette.
- Session Recording — Recording terminal sessions for audit, review, and compliance.
- SFTP File Transfers — Uploading and downloading files to and from devices.
- Multi-Send Broadcast — Sending commands to multiple sessions simultaneously.
- Themes & Customization — Terminal color themes, fonts, and appearance settings.