Loading... # Netcatty 现代化 SSH 客户端与终端管理器 # 一、概述 ## 1. 项目介绍 Netcatty 是一款现代化的 SSH 客户端、SFTP 浏览器和终端管理器,专为需要高效管理多台远程服务器的开发者、系统管理员和 DevOps 工程师设计。 ### A. 项目定位 Netcatty 是 PuTTY、Termius、SecureCRT 和 macOS Terminal.app 的替代方案,提供更现代、更高效的 SSH 连接体验。 ### B. 核心特性 - 基于 Electron、React 和 xterm.js 构建的跨平台应用 - 支持 macOS、Windows 和 Linux 三大主流操作系统 - 提供分屏终端、会话管理、SFTP 文件传输等一站式解决方案 - 支持自定义主题和终端关键词高亮 ## 2. 技术背景 传统 SSH 客户端界面陈旧、功能单一,难以满足现代开发团队的多服务器管理需求。Netcatty 通过现代化的技术栈和用户界面,重新定义了 SSH 工作流。 # 二、核心功能 ## 1. Vault 主机管理 Vault 是 Netcatty 的主机管理中心,提供多种视图模式: - 网格视图:快速概览所有主机 - 列表视图:密集扫描主机列表 - 树状视图:按层级结构组织主机 支持快速搜索定位,拖拽友好操作流程。 ## 2. 终端工作空间 Netcatty 提供强大的终端管理能力: - 分屏功能:支持水平和垂直分屏,实现多任务并行 - 会话管理:多个连接并排运行,减少上下文切换 - 会话恢复:实现 always-on 工作流 ## 3. SFTP 文件管理 内置强大的 SFTP 客户端: - 双面板文件浏览器 - 拖拽上传下载 - 内置编辑器支持原地快速修改 - 流畅的文件操作体验 ## 4. 个性化配置 - 自定义主题:调整应用外观 - 关键词高亮:自定义终端输出高亮规则,让错误、警告和关键事件一目了然 # 三、系统架构 Netcatty 采用典型的 Electron 架构设计: ```mermaid graph TB subgraph "Netcatty 架构" UI[React + TypeScript 前端] Electron[Electron 主进程] Terminal[xterm.js 终端] SFTP[SFTP 浏览器] Vault[Vault 主机管理] end UI --> Electron Electron --> Terminal Electron --> SFTP Electron --> Vault Terminal --> PTY[node-pty] SFTP --> SSH2[ssh2 客户端] Vault --> SSH2 subgraph "远程服务器" Server[Linux/Unix 服务器] end SSH2 --> Server PTY --> Server ```  ## 1. 技术栈 | 类别 | 技术 | |-----|------| | 框架 | Electron 40 | | 前端 | React 19, TypeScript | | 构建工具 | Vite 7 | | 终端 | xterm.js 5 | | 样式 | Tailwind CSS 4 | | SSH/SFTP | ssh2, ssh2-sftp-client | | PTY | node-pty | | 图标 | Lucide React | ## 2. 项目结构 ``` App.tsx # 主 React 应用 components/ # React 组件 ├── Terminal.tsx # 终端组件 ├── SftpView.tsx # SFTP 浏览器 ├── VaultView.tsx # 主机管理 ├── KeyManager.tsx # SSH 密钥管理 └── ... application/ # 状态管理和国际化 domain/ # 领域模型和逻辑 infrastructure/ # 服务和适配器 electron/ # Electron 主进程 ├── main.cjs # 主入口 └── bridges/ # IPC 桥接 public/ # 静态资源和图标 ``` # 四、支持的发行版 Netcatty 自动检测并显示连接主机的操作系统图标: - Ubuntu - Debian - CentOS - Fedora - Arch Linux - Alpine - Amazon Linux - Red Hat - Rocky Linux - openSUSE - Oracle Linux - Kali Linux # 五、快速开始 ## 1. 下载安装 从 GitHub Releases 下载对应平台的最新版本: | 操作系统 | 支持架构 | |---------|---------| | macOS | Universal (x64 / arm64) | | Windows | x64 / arm64 | | Linux | x64 / arm64 | macOS 用户注意:由于应用未进行代码签名,下载后需要运行以下命令移除隔离属性: xattr -cr /Applications/Netcatty.app 或者右键应用 → 打开 → 在对话框中点击打开。 ## 2. 开发环境 ### 前置要求 - Node.js 18+ 和 npm - macOS、Windows 10+ 或 Linux ### 开发步骤 ```bash # 克隆仓库 git clone https://github.com/binaricat/Netcatty.git cd Netcatty # 安装依赖 npm install # 启动开发模式 (Vite + Electron) npm run dev ``` ## 3. 构建打包 ```bash # 生产环境构建 npm run build # 打包当前平台 npm run pack # 打包特定平台 npm run pack:mac # macOS (DMG + ZIP) npm run pack:win # Windows (NSIS 安装包) npm run pack:linux # Linux (AppImage + DEB + RPM) ``` # 六、连接类型 Netcatty 支持多种连接方式: - SSH:标准的 SSH 安全连接 - 本地终端:本地 shell 会话 - Telnet:传统 Telnet 协议 - Mosh:移动友好的 SSH 替代方案 - 串口:串口连接(当可用时) # 七、对比分析 ## 1. 与传统工具对比 | 工具 | Netcatty | PuTTY | Termius | |-----|---------|-------|---------| | 现代界面 | 是 | 否 | 是 | | 分屏终端 | 是 | 否 | 是 | | SFTP 集成 | 是 | 否 | 是 | | 跨平台 | 是 | Windows 为主 | 是 | | 开源 | 是 | 否 | 否 | | 自定义主题 | 是 | 有限 | 是 | ## 2. 核心优势 ### 工作空间优先 分屏 + 标签 + 会话恢复,实现始终在线的工作流。 ### Vault 组织 网格/列表/树状视图,快速搜索和拖拽友好流程。 ### 专业 SFTP 内置编辑器 + 拖拽 + 流畅的文件操作。 # 八、开源协议 项目采用 GPL-3.0 开源协议。 *** ## 参考资料 1. [Netcatty GitHub 仓库](https://github.com/binaricat/Netcatty) 2. [Netcatty 官网](https://netcatty.app) 最后修改:2026 年 03 月 01 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏