Shell360:跨平台 SSH/SFTP 客户端

项目概述

Shell360 是一款跨平台 SSH 与 SFTP 客户端,面向在桌面和移动端间频繁切换的开发者与运维人员。项目目标是将远程开发、服务器管理与安全文件传输整合为一致、流畅且可靠的使用体验。为了解决平台碎片化、认证方式分散和移动端功能不足的问题,Shell360 支持多种认证方式及主流密钥(ED25519、RSA、ECDSA)、应用数据加密、强大的 SFTP 功能,以及本地/远程/动态端口转发等实用特性。它的独特价值在于在 Windows、macOS、Linux、Android 与 iOS 上提供一致的界面与安全策略,兼顾移动端友好性与桌面级功能,帮助用户更高效、安全地管理远程主机与传输文件。

项目统计

:bar_chart: 项目概况

:star: 237 Stars | :fork_and_knife: 7 Forks | :eyes: 237 Watchers | :bug: 8 Issues

:page_facing_up: 开源协议: GNU General Public License v3.0 | :date: 创建于: 2024-04-06 | :counterclockwise_arrows_button: 更新于: 2025-09-28

:laptop: 技术栈

该项目主要使用 TypeScript 开发,占代码库的 74.9%。此外还包含 Rust (16.0%)、Swift (2.9%)、Kotlin (1.9%)

核心功能

Shell360 把枯燥的远程连接变成一种轻松又可靠的体验。它覆盖 Windows、macOS、Linux、Android 与 iOS,让你在手机、平板或电脑上都能用同样的方式管理服务器和传输文件。

  • 多重身份验证:原生支持 ED25519、RSA 与 ECDSA 密钥,兼容常见服务器并满足高安全性需求,登录更放心。
  • 端到端加密:会话与应用数据均可加密,保护命令、文件和凭据免受中间人攻击,隐私有保障。
  • 交互式 SSH 终端:键入响应迅速,支持常用终端特性,适合远程开发、调试与运维,手感流畅。
  • 强大的 SFTP 文件管理:支持断点续传、批量上传/下载、目录预览与权限管理,常见文件操作一次搞定。
  • 灵活的端口转发:本地转发、远程转发与动态(SOCKS)代理均受支持,方便搭建隧道、穿透内网或代理流量。
  • 跨平台一致性与易用性:统一的界面与配置,让你在不同设备间无缝切换,移动端也能完成复杂运维任务。

更多功能特性正在不断完善中,未来还会引入自动化脚本、会话共享与更多安全控件,持续提升远程工作效率与可靠性。

技术架构

Shell360 使用 TypeScript 开发,面向 Windows、macOS、Linux、Android 与 iOS 的跨平台 SSH/SFTP 客户端。架构采用分层与模块化,将协议引擎、认证与密钥管理、SFTP、端口转发和 UI 分离,便于平台适配与维护。核心选型侧重安全与一致性:支持 ED25519/RSA/ECDSA 密钥、应用数据加密,采用异步 IO 与事件驱动以提升并发与响应性。设计强调可插拔鉴权(口令、私钥、agent)、独立的文件传输模块和本地安全存储。典型流程:UI → 协议引擎(握手/鉴权)→ 建立加密通道 → 执行 shell 或 SFTP 操作;该分层便于在握手、传输与 UI 层分别加入日志、监控与性能优化。架构图可表示为:UI → 业务层 → 协议层 → 传输层 → 远端主机,清晰展示数据与控制流。TypeScript 的静态类型与模块化生态有助于跨平台代码复用与长期可维护性。

使用指南

  • 下载与安装:从 Releases 页下载对应平台安装包,或 App Store 安装 macOS/iOS;如果要从源码运行:
git clone https://github.com/nashaofu/shell360.git
cd shell360
npm install
npm run start   # 或 npm run dev(开发)
npm run build   # 打包
  • 快速使用:启动后,点击“新建连接”,填写 Host、Port、Username。认证方式选择 Password 或 Private Key。也可开启 “Use agent” 使用 SSH agent。

  • 导入/生成密钥:

ssh-keygen -t ed25519 -f ~/.ssh/id_shell360
# 在应用中选择 Private Key,路径填 ~/.ssh/id_shell360,若有 passphrase 一并填写
  • 示例连接配置(可用于导入或参考):
{
  "name":"prod-server",
  "host":"192.0.2.1",
  "port":22,
  "username":"admin",
  "auth":{"method":"privateKey","privateKey":"~/.ssh/id_shell360","passphrase":""},
  "portForwards":[{"type":"local","localPort":8080,"remoteHost":"127.0.0.1","remotePort":80}]
}
  • SFTP 与端口转发:在连接建立后打开 SFTP 面板拖拽上传/下载;在连接设置中配置本地/远程/动态端口转发并保存后启用。

总结评价

Shell360 是一款跨平台 SSH/SFTP 客户端,支持 Windows/macOS/Linux/Android/iOS、ED25519/RSA/ECDSA 密钥与端口转发,在 GitHub 上有 237 颗星,属于小而活跃的项目。亮点是多终端一致的操作体验与移动端支持,适合需要随时管理远程主机或在移动设备间传输文件的用户。使用建议:上线前务必验证主机密钥、妥善备份私钥并关注版本与安全更新。结合社区反馈,项目功能实用但仍有改进空间,建议加强文档、引入安全审计、优化大文件传输和插件扩展能力,以便吸引更多贡献者与企业用户。总体而言,Shell360 功能完整且具有发展潜力,适合个人和小团队试用与评估。

项目截图