[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-93091":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":10,"openIssues":12,"contributorsCount":12,"subscribersCount":12,"size":12,"stars1d":12,"stars7d":12,"stars30d":12,"stars90d":12,"forks30d":12,"starsTrendScore":12,"compositeScore":13,"rankGlobal":8,"rankLanguage":8,"license":14,"archived":15,"fork":15,"defaultBranch":16,"hasWiki":15,"hasPages":15,"topics":17,"createdAt":8,"pushedAt":8,"updatedAt":18,"readmeContent":19,"aiSummary":20,"trendingCount":12,"starSnapshotCount":12,"syncStatus":21,"lastSyncTime":22,"discoverSource":23},93091,"CrabPort","chi11321\u002FCrabPort","chi11321",null,"Rust",51,5,0,39.33,"Apache License 2.0",false,"main",[],"2026-07-22 04:02:08","# CrabPort\n\n\u003Cp align=\"center\">\n  \u003Cstrong>现代化的跨平台 SSH \u002F SFTP 客户端，使用 Rust + GPUI 构建\u003C\u002Fstrong>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"README.md\">中文\u003C\u002Fa> · \u003Ca href=\"README.en.md\">English\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fchi11321\u002FCrabPort\u002Factions\u002Fworkflows\u002Fdev.yml\">\u003Cimg alt=\"CI\" src=\"https:\u002F\u002Fgithub.com\u002Fchi11321\u002FCrabPort\u002Factions\u002Fworkflows\u002Fdev.yml\u002Fbadge.svg?branch=dev\">\u003C\u002Fa>\n  \u003Ca href=\"LICENSE\">\u003Cimg alt=\"License\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache--2.0-blue.svg\">\u003C\u002Fa>\n  \u003Cimg alt=\"Platform\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-macOS%20%7C%20Linux%20%7C%20Windows-lightgrey.svg\">\n  \u003Cimg alt=\"Rust\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Frust-1.91%2B-orange.svg\">\n\u003C\u002Fp>\n\n---\n\n## 简介\n\nCrabPort 旨在实现一个简单易用的跨平台 SSH \u002F Telnet 客户端，集终端与 SFTP 文件管理于一体。使用 Rust 编写，UI 基于 [GPUI](https:\u002F\u002Fgithub.com\u002Fzed-industries\u002Fzed\u002Ftree\u002Fmain\u002Fcrates\u002Fgpui)（Zed 编辑器的 GPU 渲染框架）。\n\n### 核心特性\n\n- **多标签终端** — SSH \u002F Telnet \u002F 串口 \u002F 本地终端，多会话切换\n- **SFTP 文件管理** — 可视化目录浏览与批量上传下载\n- **SSH 隧道** — Local \u002F Remote \u002F Dynamic（SOCKS）端口转发\n- **代理连接** — SOCKS5 \u002F HTTP(S) 代理，按主机独立配置\n- **凭据加密存储** — AES-256-GCM 本地加密\n- **命令历史与代码片段** — 自动捕获、搜索、快速执行\n- **可配置主题色彩** — 多套预设主题，`config.toml` 驱动\n- **跨平台** — macOS \u002F Linux \u002F Windows，x64 与 arm64\n\n## 截图\n\n![主界面](imgs\u002FPixPin_2026-07-01_01-19-29.png)\n\n![终端与文件面板](imgs\u002FPixPin_2026-07-01_01-20-00.png)\n\n## 下载安装\n\n### 从 Release 下载预编译版本\n\n前往 [Releases 页面](https:\u002F\u002Fgithub.com\u002Fchi11321\u002FCrabPort\u002Freleases) 下载对应平台的最新版本：\n\n| 平台 | 下载文件 | 说明 |\n|------|----------|------|\n| macOS (Apple Silicon) | `CrabPort-v*-macos-aarch64.dmg` | 打开 `.dmg` 后将 CrabPort 拖入 `\u002FApplications` |\n| macOS (Intel) | `CrabPort-v*-macos-x86_64.dmg` | 打开 `.dmg` 后将 CrabPort 拖入 `\u002FApplications` |\n| Linux (x64) | `CrabPort-v*-linux-x86_64.AppImage` | 赋予执行权限后双击运行，内置运行时依赖 |\n| Linux (arm64) | `CrabPort-v*-linux-aarch64.AppImage` | 赋予执行权限后双击运行，内置运行时依赖 |\n| Windows (x64) | `CrabPort-v*-windows-x86_64.zip` | 解压后双击 `CrabPort.exe` 运行 |\n| Windows (arm64) | `CrabPort-v*-windows-aarch64.zip` | 解压后双击 `CrabPort.exe` 运行 |\n\n> macOS 版本以 `.dmg` 磁盘镜像分发，Linux 版本以 `.AppImage` 分发（内置 X11 \u002F Wayland \u002F Vulkan \u002F fontconfig 等运行时库，无需手动安装系统依赖），Windows 版本以 `.zip` 分发（受 cargo-bundle v0.11.0 的 MSI 打包 bug 影响，暂未提供 `.msi` 安装包）。\n\n**macOS 提示**：首次打开可能会提示\"无法验证开发者\"。右键点击应用 → 选择\"打开\"即可绕过限制，或在终端执行：\n```bash\nxattr -cr \u002FApplications\u002FCrabPort.app\n```\n\n### 从源码构建\n\n#### 前置要求\n\n- **Rust 1.91+**（推荐使用 [rustup](https:\u002F\u002Frustup.rs\u002F) 安装）\n- 平台原生构建工具链\n\n#### 各平台依赖\n\n**macOS**：Xcode Command Line Tools\n```bash\nxcode-select --install\n```\n\n**Linux**（Debian\u002FUbuntu）：\n```bash\nsudo apt-get install -y \\\n  libx11-dev libx11-xcb-dev libxcb1-dev libxcb-randr0-dev \\\n  libxcb-keysyms1-dev libxcb-icccm4-dev libxcb-image0-dev \\\n  libxcb-shape0-dev libxcb-xfixes0-dev libxcb-cursor-dev \\\n  libxkbcommon-dev libxkbcommon-x11-dev \\\n  libwayland-dev wayland-protocols \\\n  libgl1-mesa-dev libegl1-mesa-dev libvulkan-dev \\\n  libfontconfig1-dev libfreetype6-dev \\\n  libasound2-dev libpulse-dev libdbus-1-dev \\\n  libssl-dev pkg-config \\\n  squashfs-tools   # 打包 .AppImage 所需的 mksquashfs\n```\n\n**Windows**：MSVC 工具链（随 Visual Studio Build Tools 安装）\n\n#### 编译运行\n\n```bash\n# 克隆仓库\ngit clone https:\u002F\u002Fgithub.com\u002Fchi11321\u002FCrabPort.git\ncd CrabPort\n\n# Debug 模式运行\ncargo run\n\n# Release 模式编译\ncargo build --release\n```\n\n#### 打包为各平台安装包\n\n需先安装 [cargo-bundle](https:\u002F\u002Fgithub.com\u002Fburtonageo\u002Fcargo-bundle)：\n\n```bash\ncargo install cargo-bundle --locked\n```\n\n| 平台 | 命令 | 产物 |\n|------|------|------|\n| macOS | `cargo bundle --release --format dmg` | `target\u002Frelease\u002Fbundle\u002Fdmg\u002FCrabPort_*.dmg` |\n| Linux | `cargo bundle --release --format appimage` | `target\u002Frelease\u002Fbundle\u002Fappimage\u002FCrabPort_*.AppImage` |\n| Windows | `cargo build --release` 后手动压缩 `.exe` | `CrabPort.exe`（`.zip`） |\n\n> Windows 暂不使用 cargo-bundle 打包：其 v0.11.0 的 MSI 打包器存在一个将字符串写入二进制列的 bug，因此 CI 与本地均直接压缩 `.exe` 分发。\n\n## 数据存储位置\n\n应用数据存储在系统标准目录下：\n\n| 平台 | 路径 |\n|------|------|\n| macOS | `~\u002FLibrary\u002FApplication Support\u002Fcrabport\u002F` |\n| Linux | `~\u002F.local\u002Fshare\u002Fcrabport\u002F` |\n| Windows | `%APPDATA%\\crabport\\` |\n\n包含以下文件：\n- `crabport.db` — SQLite 数据库（主机、凭据、片段、隧道、代理）\n- `.key` — AES-256 加密密钥（随机生成，请勿删除，否则无法解密已存凭据）\n- `config.toml` — 应用配置（语言等外观设置，原子写入）\n\n## 技术栈\n\n| 领域 | 技术 |\n|------|------|\n| 语言 | Rust 2024 Edition |\n| UI 框架 | [GPUI](https:\u002F\u002Fgithub.com\u002Fzed-industries\u002Fzed) |\n| UI 组件库 | [gpui-component](https:\u002F\u002Fgithub.com\u002Flongbridge\u002Fgpui-component) |\n| 动画 | [gpui-animation](https:\u002F\u002Fgithub.com\u002Fchi11321\u002Fgpui-animation) |\n| SSH 协议 | [russh](https:\u002F\u002Fgithub.com\u002FEugeny\u002Frussh) |\n| SFTP 协议 | [russh-sftp](https:\u002F\u002Fgithub.com\u002FAspectUnk\u002Frussh-sftp) |\n| 终端模拟 | [alacritty_terminal](https:\u002F\u002Fgithub.com\u002Falacritty\u002Falacritty) |\n| 数据库 | [rusqlite](https:\u002F\u002Fgithub.com\u002Frusqlite\u002Frusqlite) (SQLite) |\n| 加密 | [aes-gcm](https:\u002F\u002Fgithub.com\u002FRustCrypto\u002FAEADs) (AES-256-GCM) |\n| 异步运行时 | [tokio](https:\u002F\u002Ftokio.rs) + [smol](https:\u002F\u002Fgithub.com\u002Fsmol-rs\u002Fsmol) |\n| 国际化 | [rust-i18n](https:\u002F\u002Fgithub.com\u002Flongbridge\u002Frust-i18n) |\n\n## 路线图\n\n- [x] 设置面板（语言）\n- [x] 端口转发 \u002F SSH 隧道管理（Local \u002F Remote \u002F Dynamic）\n- [x] 代理连接（SOCKS5 \u002F HTTP CONNECT \u002F HTTPS CONNECT）\n- [x] Telnet 连接类型\n- [x] 可配置主题色彩\n- [ ] 设置面板（字体、快捷键自定义）\n- [ ] 终端会话同步（多窗口共享）\n- [ ] 串口连接类型\n- [ ] 插件系统\n\n## 许可证\n\n[Apache License 2.0](LICENSE)\n\nCopyright © 2026 ch1ll321\n","CrabPort 是一款现代化的跨平台 SSH\u002FSFTP 客户端，集成终端仿真与图形化文件管理功能。核心特性包括多标签会话（SSH\u002FTelnet\u002F串口\u002F本地终端）、可视化 SFTP 文件操作、SSH 隧道（Local\u002FRemote\u002FDynamic）、SOCKS5\u002FHTTP 代理支持、AES-256-GCM 加密存储凭据、命令历史与代码片段管理，以及基于 GPUI 的高性能 GPU 渲染界面。采用 Rust 构建，原生支持 macOS\u002FLinux\u002FWindows（x64\u002Farm64），开箱即用无需系统依赖。适用于运维工程师、开发者及系统管理员日常远程服务器管理、文件传输与网络调试等场景。",2,"2026-07-11 02:30:54","CREATED_QUERY"]