跳到正文
发现
桌面应用开发者工具

shellwing:原生 SSH 客户端

一款用 Rust 编写的原生 SSH 客户端,支持 macOS、Windows 和 Linux,内置标签分屏、SFTP、端口转发与加密保险库。

admin
发布于 2026-10-31 · 更新于 2026-11-01
浏览
2
访问
0
下载
0
版本
v0.2.1
平台
Windows、macOS、Linux
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

shellwing 是一款面向 macOS、Windows 和 Linux 的原生 SSH 客户端。它用 Rust 编写,界面基于 GPUI,终端仿真基于 libghostty-vt 并在独立线程中解析,由 GPU 渲染,因此在高负载输出下仍能跑满显示器刷新率。

除终端本身外,它还集成了标签页与分屏、SFTP 文件管理、端口转发、保存的主机列表,以及可在多台设备间同步的加密保险库。

主要功能

  • 原生与快速:GPU 渲染终端,任意 HiDPI 缩放下文字清晰;支持输入法(IME),候选文本跟随光标。
  • 按 OpenSSH 的方式工作:读取 ~/.ssh/config(别名、ProxyJump、ProxyCommand、转发、identity 文件、IdentityAgent、RemoteCommand、SendEnv、StrictHostKeyChecking、ConnectTimeout),支持 known_hosts 校验、agent 密钥、密钥文件、证书、keyboard-interactive 与两步验证码、通过 agent 使用安全密钥、agent 转发和 X11 转发。
  • 标签页与面板:可将标签分屏到同一主机,在面板间移动,同时向所有面板输入,拖动调整标签顺序;标签标题跟随 shell 标题。
  • SFTP 文件操作:浏览、上传、下载(支持拖放)、重命名、删除,并可用自己的编辑器编辑远程文件。
  • 端口转发:本地、远程和 SOCKS(-L、-R、-D),可从命令行、已保存主机或连接中的命令面板发起。
  • 保存的主机:hosts.toml 支持分组、颜色、收藏、标签、跳板机、转发和连接后执行的命令;提供主机列表与命令面板查找打开。
  • 保险库:密码、SSH 密钥、片段、环境、配置文件和笔记统一加密,通过系统钥匙串、Windows Hello、Touch ID 或口令解锁。
  • 设备间同步:保险库、主机与设置可通过同步文件夹(iCloud Drive、Dropbox、Syncthing 等)、WebDAV、兼容 S3 的存储或 Git 仓库同步,端到端加密,并提供恢复密钥与设备配对。
  • 面向日常工作:命令面板、终端内查找与历史查找、会话日志、与 SSH 标签并列的本地终端、可自定义快捷键、明暗主题(含渐变)、15 种界面语言。
  • 自动重连:连接丢失后按退避策略重试,转发也随之恢复。

安装与使用

从 GitHub Releases 下载对应安装包:

系统 文件
macOS 13 及以上(Apple silicon、Intel) shellwing_<version>_macos_<arch>.dmg
Windows shellwing_<version>_windows_x86_64-setup.exe,或 .zip
Linux(x86_64、aarch64) .AppImage、.deb、.rpm 或 .tar.gz

macOS 版本使用 Developer ID 签名并已公证。Windows 版本暂未签名,首次运行需在 SmartScreen 提示中选择 More info › Run anyway。应用会提示有新版本并可按指示安装。

从源码构建需要 Rust(rust-toolchain.toml 指定版本,可用 rustup 安装)以及位于 PATH 中的 Zig 0.17(libghostty-vt 从源码构建):

make build                    # 为当前电脑做 release 构建,输出到 dist/
make package                  # 以及发布用的安装包(docs/releasing.md)
cargo build --release         # 或者手动构建

运行方式:

shellwing                     # 打开主机列表窗口
shellwing [user@]host[:port]  # 打开并连接到该主机的标签页
shellwing --local             # 打开一个本地 shell 标签页

其中 host 可以是 hosts.toml 中的主机名,也可以是 ~/.ssh/config 中的别名。各平台的工具链、Linux 依赖库等细节见 docs/platforms.md。

配置

设置、主机和主题都是配置目录中的 TOML 文件(Linux 上为 ~/.config/shellwing),修改后应用运行时即生效;应用内的 Settings 编辑的就是这些文件。完整说明见 docs/configuration.md。

注意事项

  • 项目以 GNU GPL v3(或更高版本)发布;项目名称与 logo 不在 GPL 授权范围内,详见 TRADEMARKS.md。
  • 从源码构建时,crates/app/src/input.rs 改编自 GPUI 示例(Apache-2.0),crates/note-editor 来自 zorite-editor(MIT),内置终端主题多来自 iTerm2-Color-Schemes(MIT),各自保留原有许可证与声明。
  • 如果用 .deb 安装:v0.2.0 还不会显示新的更新命令,需要手动升级一次,例如 sudo apt install ./shellwing_0.2.1_amd64.deb(ARM 上为 arm64),会原地升级;此后应用内会显示更新命令。
  • 从 v0.2.1 起提供面向 Fedora、openSUSE 等系统的 .rpm,需要 glibc 2.35 或更新版本,Rocky Linux 9、Amazon Linux 2023 等系统无法安装;AppImage 同样需要该版本 glibc。

本作品整理自 GitHub 开源项目 hivepaas/shellwing,原作者 @hivepaas,许可证 GPL-3.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. v0.2.1当前版本

    新增 Fedora、openSUSE 等系统的 .rpm 包,并在标签页上方显示新版本提示,提供更新、跳过此版本和关闭按钮;设置中的关于页会按系统显示 apt、dnf 或 zypper 更新命令。

  2. v0.2.0

    v0.2.0:像 ssh 一样读取 ~/.ssh/config;macOS 版本签名并公证;终端引擎升级到 Ghostty 1.4.0 并包含安全修复;要求 macOS 13+;修正 Match 块与指定密钥的处理。

评论