一款 Windows 桌面 FTP 客户端:双栏浏览本机与远程目录,支持 FTP / FTPS / SFTP 上传下载,站点凭证本地 DPAPI 加密保存。基于 Electron + 自研 C++ 协议栈,不依赖第三方 FTP SDK。
一款 Windows 桌面 FTP 客户端:双栏浏览本机与远程目录,支持 FTP / FTPS / SFTP 上传下载,站点凭证本地 DPAPI 加密保存。基于 Electron + 自研 C++ 协议栈,不依赖第三方 FTP SDK。
MyFTP 面向日常文件传输与内网运维场景:左侧浏览本机文件,右侧浏览远程服务器,选中后一键上传/下载,或直接拖拽到另一栏。连接、列表、传输、站点管理均在本机完成,密码不上传云端。
核心能力:

工作区:连接栏 + 双栏文件浏览 + 底部传输面板;明文 FTP 时会显示安全警告
MyFTP 分两层:Electron 界面负责展示与交互;C++ 动态库(sdtech_myftp) 负责真实的网络协议。界面通过 IPC 调用 DLL 的 C ABI,DLL 内部自研 TCP、FTP 命令通道、LIST 解析,以及 FTPS(OpenSSL)和 SFTP(libssh2)会话。
| 协议 | 说明 | 适用场景 |
|---|---|---|
| FTP | 控制通道 + 数据通道;默认明文 | 可信内网、老设备 |
| FTPS | 在 FTP 上叠加 TLS(AUTH TLS 或隐式 SSL) | 公网或需加密的 FTP |
| SFTP | SSH 子系统,与 FTP 无关 | 现代 Linux 服务器、云主机 |
被动模式(PASV)默认开启,适合 NAT/防火墙后的客户端。若列表或传输异常,可在设置中切换 PASV/PORT(见 3.5 设置)。
左侧竖栏可在五个页面间切换;标题栏显示当前页名称,支持最小化/最大化/关闭。
| 页面 | 说明 |
|---|---|
| 工作区 | 快速连接、双栏文件浏览、传输面板 |
| 站点管理器 | 保存/编辑/删除站点,一键连接并跳转工作区 |
| 帮助 | 上手步骤、协议说明、PASV 与防火墙提示 |
| 设置 | 并发数、速度限制、PASV、代理等 |
| 关于 | 版本与产品信息 |
右键菜单(本机/远程)支持:打开目录、上传、下载、删除、重命名、CHMOD(远程)等。
明文 FTP 警告:连接 FTP(非 FTPS/SFTP)时,连接栏下方显示黄色安全提示,建议改用 FTPS 或 SFTP。
sites.json,界面仅显示「已保存」掩码
站点管理器:左侧分组列表 + 右侧编辑表单;支持新建、复制、删除与一键连接
| 功能 | 说明 |
|---|---|
| 并发传输 | 默认最多 3 个任务并行(可在设置中调整) |
| 进度与速度 | 后端 SIZE + 字节计数;前端约 200ms 轮询刷新 |
| 取消 | 单任务取消 |
| 清除已完成 | 从队列移除已完成/失败/已取消项 |
| 日志 | 连接、登录、PASV、LIST 等命令摘要 |

传输队列:方向图标、源/目标路径、进度条、速度、剩余时间与状态;支持全部暂停与清除已完成
帮助页汇总三步上手、FTP / FTPS / SFTP / FXP 协议说明、PASV 与防火墙提示,以及当前版本支持/不支持能力清单。

帮助页:协议说明与 MyFTP 支持范围;底部为隐私与明文 FTP 提示
| 选项 | 说明 |
|---|---|
| 最大并发传输 | 同时进行的 upload/download 任务数 |
| 上传/下载限速 | 0 表示不限速 |
| 被动模式 (PASV) | NAT 后客户端建议开启 |
| 冲突策略 | 覆盖、跳过、重命名或询问 |
| 代理 | HTTP / SOCKS5(可选) |
| 证书策略 | FTPS 严格校验或允许自签 |

设置页:传输、网络与 FTPS 证书相关选项;本机默认路径在此配置
关于页显示产品名称、版本号与 SDTech 客户端工程信息。

关于页:MyFTP 版本与 06_MyFTP 工程标识
data/sites.json + DPAPI)desktop.ini)192.168.x.x、端口 21、用户名与密码22下载并安装发布包后,从开始菜单或桌面快捷方式启动 MyFTP 即可。首次运行会在程序目录下创建 data 目录存放站点配置。
cd Self/2026/06_MyFTP/Frontend
npm install
npm run backend # 编译 C++ DLL 并复制到 Frontend/dll
npm run dev # Vite + Electron 开发调试
npm run dist # 打包 NSIS 安装程序
构建依赖 prebuilt/x64-windows 中的 vcpkg 预编译库(OpenSSL、libssh2、SDTech::Net 等)。
生成博文配图:
cd Self/2026/06_MyFTP
pip install -r scripts/requirements-screenshot.txt
python scripts/auto_screenshot.py --dev
截图保存至 Content/posts/2026/myftp-feature-intro/。详见源码 scripts/auto_screenshot.py。
sdtech_myftp,C ABI 导出(koffi FFI)FtpCommandChannel / FtpListParser;FTPS 用 OpenSSL;SFTP 用 libssh2mf:* 通道(connect、listRemote、transferPoll、sitesSave 等)MyFTP 把「连上服务器、看目录、传文件」做成一个本地、可控的桌面工具:站点一次保存、双栏拖拽传输、队列看进度。若您在使用中遇到某类服务器 LIST 格式异常、PASV 端口被拦等问题,欢迎反馈服务器类型与日志摘要,便于后续兼容扩展。