Skip to main content

Overview

Netcatty provides extensive host configuration options beyond basic connection details. This guide covers advanced settings including environment variables, startup commands, protocol selection, and host-specific customizations.

Environment Variables

Set custom environment variables that will be exported in your SSH session.

Configuration

environmentVariables
EnvVar[]
Array of environment variable objects

Example

{
  "environmentVariables": [
    { "name": "EDITOR", "value": "vim" },
    { "name": "NODE_ENV", "value": "production" },
    { "name": "PATH", "value": "/usr/local/bin:/usr/bin:/bin" }
  ]
}

UI Location

  1. Open Host Details panel
  2. Navigate to Advanced section
  3. Click Environment Variables
  4. Add variables using the + button
Environment variables are exported after connection but before the startup command runs.

Startup Commands

Execute commands automatically after connecting to a host.
startupCommand
string
Command or script to run after connection

Use Cases

  • Change to a specific directory
  • Source profile files
  • Display system information
  • Activate virtual environments
  • Start monitoring tools

Examples

Change Directory and Show Status
cd /var/www && git status
Activate Python Environment
source ~/venv/bin/activate && cd ~/project
Multi-line Script
cd /srv/app
source .env
npm run status

UI Location

  1. Open Host Details panel
  2. Find Startup Command field
  3. Enter your command(s)
  4. Multi-line commands are supported

Protocol Configuration

Netcatty supports multiple protocols per host with individual port configurations.

Available Protocols

protocol
HostProtocol
Default protocol for this host

Multi-Protocol Support

protocols
ProtocolConfig[]
Configure multiple protocols for quick switching

Example Configuration

{
  "protocol": "ssh",
  "port": 22,
  "protocols": [
    { "protocol": "ssh", "port": 22, "enabled": true },
    { "protocol": "telnet", "port": 23, "enabled": true },
    { "protocol": "mosh", "port": 22, "enabled": true, "moshServerPath": "/usr/local/bin/mosh-server" }
  ]
}

Mosh Configuration

Mobile Shell provides better connectivity over unstable networks.
moshEnabled
boolean
Enable Mosh support
moshServerPath
string
Custom path to mosh-server executable on remote host

Example

{
  "moshEnabled": true,
  "moshServerPath": "/usr/local/bin/mosh-server"
}
Mosh requires mosh-server to be installed on the remote host. The default path is usually /usr/bin/mosh-server.

Serial Port Configuration

Connect to devices via serial ports (for network equipment, embedded systems, etc.).
serialConfig
SerialConfig
Serial port connection settings

Example: Cisco Switch Connection

{
  "protocol": "serial",
  "serialConfig": {
    "path": "/dev/ttyUSB0",
    "baudRate": 9600,
    "dataBits": 8,
    "stopBits": 1,
    "parity": "none",
    "flowControl": "none"
  }
}

Character Encoding

charset
string
Character encoding for the terminal session (e.g., UTF-8, ISO-8859-1)

Legacy Algorithm Support

Enable support for older SSH algorithms (for network equipment, legacy servers).
legacyAlgorithms
boolean
Enable legacy SSH key exchange and cipher algorithms
Legacy algorithms are less secure. Only enable this for connecting to older devices that don’t support modern algorithms.

Font Customization

Override the global terminal font settings per host.
fontFamily
string
Terminal font family for this host
fontSize
number
Terminal font size in points for this host

Example

{
  "fontFamily": "JetBrains Mono",
  "fontSize": 14
}

Theme Override

theme
string
Terminal theme ID to use for this host

Example

{
  "theme": "dracula"
}
Available themes include: netcatty-dark, netcatty-light, dracula, monokai, solarized-dark, solarized-light, nord-dark, tokyo-night, and many more.

Distribution Detection

distro
string
Auto-detected Linux distribution ID (e.g., ubuntu, debian, centos)
Netcatty automatically detects the remote system’s distribution for optimized feature support.

Complete Configuration Example

{
  "id": "prod-web-01",
  "label": "Production Web Server",
  "hostname": "web-01.example.com",
  "port": 22,
  "username": "deploy",
  "protocol": "ssh",
  "authMethod": "key",
  "identityFileId": "my-deploy-key",
  "agentForwarding": true,
  "environmentVariables": [
    { "name": "NODE_ENV", "value": "production" },
    { "name": "EDITOR", "value": "vim" }
  ],
  "startupCommand": "cd /var/www/app && git status",
  "theme": "dracula",
  "fontFamily": "Fira Code",
  "fontSize": 13,
  "keywordHighlightEnabled": true,
  "tags": ["production", "web"],
  "group": "Production/Web Servers"
}

Best Practices

  • Keep sensitive values out of environment variables
  • Use consistent naming conventions
  • Document required variables for team members
  • Keep commands lightweight to avoid connection delays
  • Use && to chain commands that depend on each other
  • Avoid interactive prompts in startup commands
  • Use SSH for secure connections
  • Enable Mosh for unstable networks (WiFi, mobile)
  • Use Telnet only for legacy equipment in trusted networks

Authentication

Configure SSH keys, passwords, and certificates

Keyword Highlighting

Customize host-specific highlight rules

Custom Themes

Create and apply custom terminal themes

Proxy & Jump Hosts

Configure proxy servers and bastion hosts