Andy Dixon d6f8f3306b fix(ui): hover-panic on non-ASCII links, paste and clipboard spoofing, image budget, links
- is_web_url sliced the string at byte 7/8, panicking (and killing every
  session) when a remote host printed an OSC 8 or plain link with a
  multi-byte character at that offset and the user hovered it. It now
  compares bytes.
- Paste confirmation also triggers on control characters other than tab
  (readline's C-o runs a line with no newline), and the preview shows
  them escaped.
- Remote clipboard toasts escape control characters and state the line
  count, so 'ls\ncurl … | sh' no longer reads as a harmless 'ls'.
- Inline images: dimensions are read from the header first and anything
  over the 32 Mpx per-terminal budget is refused before decoding.
- Toasts: repeats extend the visible toast and at most 8 are kept, so
  trigger or OSC 52 floods can't stall frames.
- The URL regex is compiled once.
- Enable eframe's 'links' feature: without it every 'open in browser'
  (Cmd/Ctrl+click, GitHub repo links, the update link) was a silent
  no-op. Adds webbrowser 1.2.4 to the lockfile.
2026-10-13 06:32:37 +01:00

Nexus Terminal

A native desktop client for SSH, Telnet, RAW TCP, Serial, VNC, RDP, IRC, GitHub and local terminals — with secure credential handling and a focused, multi-session workflow.

Nexus Terminal helps you manage many connections at once, keep terminal work organised, and move files with confidence. It is a single Rust application with no webview, so it starts quickly and stays responsive under heavy terminal output.

Highlights

  • SSH, Telnet, RAW TCP, Serial, VNC, RDP, IRC, GitHub and local terminal sessions in one app
  • Tabbed sessions with split panes, pinning and drag-to-reorder
  • SFTP browser with drag-and-drop uploads and a permission-aware directory picker
  • SSH jump hosts, SOCKS5/HTTP proxies, local and remote port forwards, agent forwarding and TOTP auto-fill
  • Serial consoles with full line settings (baud, data bits, parity, stop bits, flow control)
  • Native VNC and RDP viewers; RDP with NLA, certificate pinning, and SOCKS5/HTTP proxy or SSH tunnel routes
  • Disconnected overlay with one-click reconnect, and auto-reconnect with backoff
  • Broadcast input, snippets, trigger rules and terminal search
  • Session recording (asciicast v2) and playback
  • Secure credential storage with the OS keychain first and an encrypted vault fallback

Quick start

  1. Launch Nexus Terminal.
  2. Click + at the bottom of the sidebar (or press Cmd+N / Ctrl+N) and create a connection profile.
  3. Click Create & Connect to save it and open a session in a new tab. Afterwards, click the profile in the sidebar to connect.

Prefer a one-off session? Use Cmd+Shift+Q / Ctrl+Shift+Q to quick connect, or click Local Machine in the sidebar for a local shell.

If a session drops, use the Reconnect button in the disconnected overlay.

Documentation

Keyboard shortcuts

All shortcuts use Cmd on macOS and Ctrl on Windows/Linux.

macOS Shortcut Windows/Linux Shortcut Action
Cmd + K Ctrl + K Open command palette
Cmd + N Ctrl + N New connection
Cmd + W Ctrl + W Close current tab
Cmd + Tab Ctrl + Tab Next tab
Cmd + Shift + Tab Ctrl + Shift + Tab Previous tab
Cmd + 1–9 Ctrl + 1–9 Switch to tab by number
Cmd + , Ctrl + , Open settings
Cmd + F Ctrl + F Find in terminal
Cmd + Shift + D Ctrl + Shift + D Split pane right (side by side)
Cmd + Shift + E Ctrl + Shift + E Split pane down (top and bottom)
Cmd + Shift + R Ctrl + Shift + R Toggle session recording
Cmd + Shift + B Ctrl + Shift + B Toggle broadcast input mode
Cmd + Shift + S Ctrl + Shift + S Open snippet library
Cmd + Shift + Q Ctrl + Shift + Q Quick connect
F11 F11 Toggle fullscreen

Building from source

Nexus Terminal is a Rust workspace in rust/. With rustup installed:

cd rust
cargo run --release

See docs/build-and-release.md for platform prerequisites, tests and release packaging.

S
Description
Open-source native desktop client for SSH, SFTP, Telnet, Serial, VNC, RDP, IRC and GitHub, written in Rust. AGPL-3.0.
https://dixon.cx/nexus Readme AGPL-3.0
32 MiB
v3.0.2
Latest
2026-10-13 14:16:27 +02:00
Languages
Rust 97.6%
Shell 1.5%
PHP 0.9%