Netcatty

Netcatty

Modern SSH Client, SFTP Browser & Terminal Manager
netcatty.app

A beautiful, feature-rich SSH workspace built with Electron, React, and xterm.js.
Split terminals, Vault views, SFTP workflows, custom themes, and keyword highlighting — all in one.

GitHub Release   Platform   License

Download Latest Release

Support on Ko-fi

English · 简体中文 · 日本語

--- [![Netcatty Main Interface](screenshots/main-window-dark.png)](screenshots/main-window-dark.png) --- # Contents - [What is Netcatty](#what-is-netcatty) - [Why Netcatty](#why-netcatty) - [Features](#features) - [Demos](#demos) - [Screenshots](#screenshots) - [Main Window](#main-window) - [Vault Views](#vault-views) - [Split Terminals](#split-terminals) - [Supported Distros](#supported-distros) - [Getting Started](#getting-started) - [Build & Package](#build--package) - [Tech Stack](#tech-stack) - [Contributing](#contributing) - [License](#license) --- # What is Netcatty **Netcatty** is a modern SSH client and terminal manager for macOS, Windows, and Linux, designed for developers, sysadmins, and DevOps engineers who need to manage multiple remote servers efficiently. - **Netcatty is** an alternative to PuTTY, Termius, SecureCRT, and macOS Terminal.app for SSH connections - **Netcatty is** a powerful SFTP client with dual-pane file browser - **Netcatty is** a terminal workspace with split panes, tabs, and session management - **Netcatty supports** SSH, local terminal, Telnet, Mosh, and Serial connections (when available) - **Netcatty is not** a shell replacement — it connects to shells via SSH/Telnet/Mosh or local/serial sessions --- # Why Netcatty If you regularly work with a fleet of servers, Netcatty is built for speed and flow: - **Workspace-first** — split panes + tabs + session restore for “always-on” workflows - **Vault organization** — grid/list/tree views with fast search and drag-friendly workflows - **Serious SFTP** — built-in editor + drag & drop + smooth file operations --- # Features ### 🗂️ Vault - **Multiple views** — grid / list / tree - **Fast search** — locate hosts and groups quickly ### 🖥️ Terminal Workspaces - **Split panes** — horizontal and vertical splits for multi-tasking - **Session management** — run multiple connections side-by-side ### 📁 SFTP + Built-in Editor - **File workflows** — drag & drop uploads/downloads - **Edit in place** — built-in editor for quick changes ### 🎨 Personalization - **Custom themes** — tune the app appearance to your taste - **Keyword highlighting** — customize highlight rules for terminal output --- # Demos GIF previews (stored in `screenshots/gifs/`), rendered inline on GitHub: ### Vault views: grid / list / tree Switch between different Vault views to match your workflow: overview in grid, dense scanning in list, and hierarchical navigation in tree. ![Vault views: grid/list/tree](screenshots/gifs/gird-list-tre-views.gif) ### Split terminals + session management Work in multiple sessions at once with split panes. Keep related tasks side-by-side and reduce context switching. ![Split terminals + session management](screenshots/gifs/dual-terminal--split-manage.gif) ### SFTP: drag & drop + built-in editor Move files with drag & drop, then edit quickly using the built-in editor without leaving the app. ![SFTP: drag & drop + built-in editor](screenshots/gifs/sftpview-with-drag-and-built-in-editor.gif) ### Drag file upload Drop files into the app to kick off uploads without hunting through dialogs. ![Drag file upload](screenshots/gifs/drag-file-upload.gif) ### Custom themes Make Netcatty yours: customize themes and UI appearance. ![Custom themes](screenshots/gifs/custom-themes.gif) ### Keyword highlighting Highlight important terminal output so errors, warnings, and key events stand out at a glance. ![Keyword highlighting](screenshots/gifs/custom-highlight.gif) --- # Screenshots ## Main Window The main window is designed for long-running SSH workflows: quick access to sessions, navigation, and core tools in one place. ![Main Window (Dark)](screenshots/main-window-dark.png) ![Main Window (Light)](screenshots/main-window-light.png) ## Vault Views Organize and navigate your hosts using the view that best fits the moment: grid for overview, list for scanning, tree for structure. ![Vault Grid View](screenshots/vault_grid_view.png) ![Vault List View](screenshots/vault_list_view.png) ![Vault Tree View (Dark)](screenshots/treeview-dark.png) ![Vault Tree View (Light)](screenshots/treeview-light.png) ## Split Terminals Split panes help you monitor multiple servers/services at the same time (deploy + logs + metrics) without juggling windows. ![Split Windows](screenshots/split-window.png) --- # Supported Distros Netcatty automatically detects and displays OS icons for connected hosts:

Ubuntu Debian CentOS Fedora Arch Linux Alpine Amazon Linux Red Hat Rocky Linux openSUSE Oracle Linux Kali Linux

# Getting Started ### Download Download the latest release for your platform from [GitHub Releases](https://github.com/binaricat/Netcatty/releases/latest). | OS | Support | | :--- | :--- | | **macOS** | Universal (x64 / arm64) | | **Windows** | x64 / arm64 | | **Linux** | x64 / arm64 | Or browse all releases at [GitHub Releases](https://github.com/binaricat/Netcatty/releases). > **⚠️ macOS Users:** Since the app is not code-signed, macOS Gatekeeper will block it. After downloading, run this command to remove the quarantine attribute: > ```bash > xattr -cr /Applications/Netcatty.app > ``` > Or right-click the app → Open → Click "Open" in the dialog. ### Prerequisites - Node.js 18+ and npm - macOS, Windows 10+, or Linux ### Development ```bash # Clone the repository git clone https://github.com/binaricat/Netcatty.git cd Netcatty # Install dependencies npm install # Start development mode (Vite + Electron) npm run dev ``` ### Project Structure ``` ├── App.tsx # Main React application ├── components/ # React components │ ├── Terminal.tsx # Terminal component │ ├── SftpView.tsx # SFTP browser │ ├── VaultView.tsx # Host management │ ├── KeyManager.tsx # SSH key management │ └── ... ├── application/ # State management & i18n ├── domain/ # Domain models & logic ├── infrastructure/ # Services & adapters ├── electron/ # Electron main process │ ├── main.cjs # Main entry │ └── bridges/ # IPC bridges └── public/ # Static assets & icons ``` --- # Build & Package ```bash # Build for production npm run build # Package for current platform npm run pack # Package for specific platforms npm run pack:mac # macOS (DMG + ZIP) npm run pack:win # Windows (NSIS installer) npm run pack:linux # Linux (AppImage + DEB + RPM) ``` --- # Tech Stack | Category | Technology | |----------|------------| | Framework | Electron 40 | | Frontend | React 19, TypeScript | | Build Tool | Vite 7 | | Terminal | xterm.js 5 | | Styling | Tailwind CSS 4 | | SSH/SFTP | ssh2, ssh2-sftp-client | | PTY | node-pty | | Icons | Lucide React | --- # Contributing Contributions are welcome! Please feel free to submit a Pull Request. 1. Fork the repository 2. Create your feature branch (`git checkout -b feature/amazing-feature`) 3. Commit your changes (`git commit -m 'Add some amazing feature'`) 4. Push to the branch (`git push origin feature/amazing-feature`) 5. Open a Pull Request See [agents.md](agents.md) for architecture overview and coding conventions. --- # Contributors Thanks to all the people who contribute! See: https://github.com/binaricat/Netcatty/graphs/contributors --- # License This project is licensed under the **GPL-3.0 License** - see the [LICENSE](LICENSE) file for details. ---

Made with ❤️ by binaricat