647b90db752b4aaa96ecd028bc15e72712ecc8d3
Recommend dbaeumer.vscode-eslint in .vscode/extensions.json
Netcatty — SSH workspace, SFTP, and terminals in one
Netcatty is a modern SSH manager and terminal app that brings host grouping, drag-to-organize, SFTP side panel, keychain, port forwarding, and a rich UI theme. It ships with the Ghostty Web terminal (VT100) and an Electron desktop bridge for native SSH/SFTP.
Highlights
- 🧭 Host groups & breadcrumbs: right-click to create/delete groups, drag hosts or groups into target groups, double-click to drill into a group, and breadcrumb navigation back to root.
- 🗂️ SFTP panel: collapsible sidebar, single-click to enter directories, upload/delete/download, and loading animations.
- 🗝️ Keychain: import/generate SSH keys, choose password/key auth; single-click a host to connect.
- 🖥️ Terminal UX: Ghostty Web engine, auto-resize on window changes, connection logs, timeout/cancel, and connection progress UI.
- 🌗 Themes & branding: light/dark toggle, custom accent color, Netcatty logo baked in.
- 🔌 Electron bridge: native SSH/SFTP channels without extra browser plugins.
Getting Started
# install dependencies
npm install
# dev mode (Vite + Electron)
npm run dev
Key paths
- Web entry:
index.html/App.tsx - Terminal:
components/Terminal.tsx - SFTP:
components/SFTPPanel.tsx - Keychain:
components/KeyManager.tsx - Electron main:
electron/main.cjs
Core Workflows
- Create a host: click “New Host”, fill address/port/username, pick password or key; supports group path.
- Organize groups: right-click to create/delete, drag groups to become subgroups, drag hosts into groups, and use breadcrumbs to navigate.
- SFTP: after connect, open SFTP, single-click into dirs, upload/download/delete, with loading spinner and animated sidebar.
- Keychain: import/generate SSH keys; single-click a host to connect with the chosen auth method.
Scripts
npm run dev: Vite frontend + Electron dev.npm run build: build frontend (Electron packaging configurable).
License
MIT
Description
Languages
TypeScript
74.5%
JavaScript
24.7%
Shell
0.4%
CSS
0.2%
