{"id":31074188,"url":"https://github.com/chendonming/doroshell","last_synced_at":"2025-09-16T02:05:35.778Z","repository":{"id":312032751,"uuid":"1045526279","full_name":"chendonming/DoroShell","owner":"chendonming","description":"electron版本的远程连接工具 FTP、SFTP、Shell","archived":false,"fork":false,"pushed_at":"2025-09-08T02:24:46.000Z","size":1384,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-09-08T04:16:49.166Z","etag":null,"topics":["electron","ftp","ftp-client","shell"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chendonming.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-27T10:08:26.000Z","updated_at":"2025-09-08T03:20:05.000Z","dependencies_parsed_at":"2025-08-29T11:26:07.826Z","dependency_job_id":null,"html_url":"https://github.com/chendonming/DoroShell","commit_stats":null,"previous_names":["chendonming/electron-ftp","chendonming/doroshell"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/chendonming/DoroShell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chendonming%2FDoroShell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chendonming%2FDoroShell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chendonming%2FDoroShell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chendonming%2FDoroShell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chendonming","download_url":"https://codeload.github.com/chendonming/DoroShell/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chendonming%2FDoroShell/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275348511,"owners_count":25448626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-16T02:00:10.229Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["electron","ftp","ftp-client","shell"],"created_at":"2025-09-16T02:05:32.485Z","updated_at":"2025-09-16T02:05:35.766Z","avatar_url":"https://github.com/chendonming.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DoroShell - 现代化远程工具\n\n一个使用 Electron + React + TypeScript 构建的现代化远程工具，实现了对FTP、SFTP、SSH的支持\n\n![](./resources/p1.png)\n\n![](./resources/p2.png)\n\n## 功能特性\n\n### 🔌 连接管理\n\n- 支持 FTP, SFTP, SSH 协议\n- 连接状态实时显示\n- 安全的凭据管理\n\n### 📁 文件浏览\n\n- 双面板设计（本地文件 + 远程文件）\n- 文件和文件夹图标显示\n- 文件大小和修改时间\n- 多选支持\n\n### 📤 文件传输\n\n- 拖拽上传支持\n- 传输队列管理\n- 实时进度显示\n- 传输状态跟踪（待传输、传输中、已完成、失败）\n- 失败重试和已完成清理\n\n### 🎨 现代化界面\n\n- 响应式设计\n- 直观的用户体验\n- 清晰的状态指示\n- 专业的视觉设计\n\n## 界面组件\n\n### 1. 连接界面\n\n- 协议选择（FTP/SFTP）\n- 服务器配置（主机、端口、用户名、密码）\n- 连接状态反馈\n\n### 2. 文件浏览器\n\n- **左侧面板**: 本地文件系统\n- **中间控制区**: 上传/下载按钮\n- **右侧面板**: 远程服务器文件\n\n### 3. 传输队列\n\n- 当前传输项目列表\n- 进度条显示\n- 传输统计信息\n\n## 技术栈\n\n- **框架**: Electron + React 19\n- **语言**: TypeScript\n- **样式**: 自定义CSS（类似TailwindCSS风格）\n- **构建工具**: Vite + electron-vite\n\n## 开发环境\n\n```bash\n# 安装依赖\nnpm install\n\n# 启动开发服务器\nnpm run dev\n\n# 构建应用\nnpm run build\n\n# 打包应用\nnpm run build:win   # Windows\nnpm run build:mac   # macOS\nnpm run build:linux # Linux\n```\n\n## 项目结构\n\n```\nsrc/\n├── main/           # Electron 主进程\n├── preload/        # 预加载脚本\n└── renderer/       # React 渲染进程\n    └── src/\n        ├── components/\n        │   ├── FTPManager.tsx      # 主应用组件\n        │   ├── FTPConnection.tsx   # 连接界面\n        │   ├── FileExplorer.tsx    # 文件浏览器\n        │   └── FileTransfer.tsx    # 传输队列\n        ├── assets/\n        └── App.tsx\n```\n\n## 界面预览\n\n### 连接界面\n\n- 简洁的连接表单\n- 协议选择和服务器配置\n- 连接状态反馈\n\n### 主界面\n\n- 三列布局：本地文件 | 传输控制 | 远程文件\n- 文件列表显示文件类型图标、大小、修改时间\n- 传输队列实时显示传输进度\n\n## 后续开发计划\n\n1. **实际FTP功能**: 集成真实的FTP/SFTP客户端库\n2. **文件操作**: 重命名、删除、新建文件夹\n3. **书签管理**: 保存常用服务器连接\n4. **传输优化**: 断点续传、并发传输\n5. **安全增强**: 密钥认证、SSL/TLS支持\n\n---\n\n这个项目展示了现代Web技术在桌面应用开发中的应用，提供了专业的FTP客户端界面和用户体验。\n\n## 自动构建与发布（GitHub Actions）\n\n本仓库包含一个 GitHub Actions workflow (`.github/workflows/ci-release.yml`)，用于在创建 tag（例如 `v1.0.0`）或发布 Release 时自动构建并打包应用。默认会在 Ubuntu、Windows、macOS 三个平台上运行构建并上传构建产物到 workflow artifacts，随后由 Release 步骤将构建产物发布到 GitHub Releases。\n\n需要在仓库的 Secrets 中配置以下变量（通过 Settings → Secrets → Actions 添加）：\n\n- `GITHUB_TOKEN`：Actions 自动提供，通常不需要手动设置。用于创建 Release。\n- `CSC_LINK`：可选，代码签名证书的远程下载链接（用于 macOS/Windows 签名）。\n- `CSC_KEY_PASSWORD`：可选，代码签名证书密码。\n\n如何触发发布：\n\n- 通过推送 tag（例如 `git tag v1.0.0 \u0026\u0026 git push origin v1.0.0`）触发自动构建并执行 Release 步骤。\n- 也可以在 GitHub 上手动创建 Release（发布类型为 `published` 时也会触发）。\n\n注意事项：\n\n- 如果需要自动签名 macOS 或 Windows 应用，请准备好签名证书并使用 `CSC_LINK`/`CSC_KEY_PASSWORD` 或 GitHub Actions 适配的签名方法。\n- workflow 文件简单示例放在 `.github/workflows/ci-release.yml`，可按需修改：构建平台、artifact 路径、打包参数等。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchendonming%2Fdoroshell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchendonming%2Fdoroshell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchendonming%2Fdoroshell/lists"}