现代化的跨平台 SSH / SFTP 客户端,使用 Rust + GPUI 构建
CrabPort 旨在实现一个简单易用的跨平台 SSH / Telnet 客户端,集终端与 SFTP 文件管理于一体。使用 Rust 编写,UI 基于 GPUI(Zed 编辑器的 GPU 渲染框架)。
config.toml 驱动

前往 Releases 页面 下载对应平台的最新版本:
| 平台 | 下载文件 | 说明 |
|---|---|---|
| macOS (Apple Silicon) | CrabPort-v*-macos-aarch64.dmg |
打开 .dmg 后将 CrabPort 拖入 /Applications |
| macOS (Intel) | CrabPort-v*-macos-x86_64.dmg |
打开 .dmg 后将 CrabPort 拖入 /Applications |
| Linux (x64) | CrabPort-v*-linux-x86_64.AppImage |
赋予执行权限后双击运行,内置运行时依赖 |
| Linux (arm64) | CrabPort-v*-linux-aarch64.AppImage |
赋予执行权限后双击运行,内置运行时依赖 |
| Windows (x64) | CrabPort-v*-windows-x86_64.zip |
解压后双击 CrabPort.exe 运行 |
| Windows (arm64) | CrabPort-v*-windows-aarch64.zip |
解压后双击 CrabPort.exe 运行 |
macOS 版本以
.dmg磁盘镜像分发,Linux 版本以.AppImage分发(内置 X11 / Wayland / Vulkan / fontconfig 等运行时库,无需手动安装系统依赖),Windows 版本以.zip分发(受 cargo-bundle v0.11.0 的 MSI 打包 bug 影响,暂未提供.msi安装包)。
macOS 提示:首次打开可能会提示"无法验证开发者"。右键点击应用 → 选择"打开"即可绕过限制,或在终端执行:
xattr -cr /Applications/CrabPort.app
macOS:Xcode Command Line Tools
xcode-select --install
Linux(Debian/Ubuntu):
sudo apt-get install -y \
libx11-dev libx11-xcb-dev libxcb1-dev libxcb-randr0-dev \
libxcb-keysyms1-dev libxcb-icccm4-dev libxcb-image0-dev \
libxcb-shape0-dev libxcb-xfixes0-dev libxcb-cursor-dev \
libxkbcommon-dev libxkbcommon-x11-dev \
libwayland-dev wayland-protocols \
libgl1-mesa-dev libegl1-mesa-dev libvulkan-dev \
libfontconfig1-dev libfreetype6-dev \
libasound2-dev libpulse-dev libdbus-1-dev \
libssl-dev pkg-config \
squashfs-tools # 打包 .AppImage 所需的 mksquashfs
Windows:MSVC 工具链(随 Visual Studio Build Tools 安装)
# 克隆仓库
git clone https://github.com/chi11321/CrabPort.git
cd CrabPort
# Debug 模式运行
cargo run
# Release 模式编译
cargo build --release
需先安装 cargo-bundle:
cargo install cargo-bundle --locked
| 平台 | 命令 | 产物 |
|---|---|---|
| macOS | cargo bundle --release --format dmg |
target/release/bundle/dmg/CrabPort_*.dmg |
| Linux | cargo bundle --release --format appimage |
target/release/bundle/appimage/CrabPort_*.AppImage |
| Windows | cargo build --release 后手动压缩 .exe |
CrabPort.exe(.zip) |
Windows 暂不使用 cargo-bundle 打包:其 v0.11.0 的 MSI 打包器存在一个将字符串写入二进制列的 bug,因此 CI 与本地均直接压缩
.exe分发。
应用数据存储在系统标准目录下:
| 平台 | 路径 |
|---|---|
| macOS | ~/Library/Application Support/crabport/ |
| Linux | ~/.local/share/crabport/ |
| Windows | %APPDATA%\crabport\ |
包含以下文件:
- crabport.db — SQLite 数据库(主机、凭据、片段、隧道、代理)
- .key — AES-256 加密密钥(随机生成,请勿删除,否则无法解密已存凭据)
- config.toml — 应用配置(语言等外观设置,原子写入)
| 领域 | 技术 |
|---|---|
| 语言 | Rust 2024 Edition |
| UI 框架 | GPUI |
| UI 组件库 | gpui-component |
| 动画 | gpui-animation |
| SSH 协议 | russh |
| SFTP 协议 | russh-sftp |
| 终端模拟 | alacritty_terminal |
| 数据库 | rusqlite (SQLite) |
| 加密 | aes-gcm (AES-256-GCM) |
| 异步运行时 | tokio + smol |
| 国际化 | rust-i18n |
Copyright © 2026 ch1ll321
$ claude mcp add CrabPort \
-- python -m otcore.mcp_server <graph>