我创建 SimpleTransfer ,是为了解决一个非常具体的问题:快速把文件从一台设备传到另一台设备,不必发送邮件、建立 SSH 连接,也无需安装额外工具。
01不断重复出现的两种情况
第一个场景是 iPhone 与 PC 之间传文件。为了快速移动文档、截图或其他文件,我经常把它们通过邮件发给自己。方法能用,却既不优雅也不方便。
第二个场景是在某台机器上,RDP 连接不允许传输文件。要上传或取回文件,我得先建立 SSH 连接,再配置 SCP、SFTP 或 rsync 命令。
这些方法在技术上完全合理,但对于“现在就把这个文件从这里移到那里”这样简单的需求,显得过于繁琐。
02刻意保持简单的方案
于是,我决定做一个简单、快速、临时、无需账户的文件传输服务。
我无意再造一个文档平台、协作存储空间或 SharePoint 竞品。目标非常明确:以尽可能少的操作完成一次性传输。
因此,界面刻意保持极简。用户选择文件并上传后,会立即得到在另一台设备下载所需的信息。
03SimpleTransfer 如何工作?
文件上传后,服务会生成三项信息:
- 下载链接;
- 二维码,方便从电脑快速切换到手机;
- 用于识别本次传输的临时令牌。
令牌生成机制由 Soptimal 的 Nidal Fakih 提供,感谢他的贡献。
文件不会长期保存,上传两小时后会自动从服务器删除。因此,这项服务用于临时传输,而不是归档。
04原始架构
SimpleTransfer 的首个版本由两部分组成:使用 JavaScript 与 PHP 开发的前端,以及以 WINDEV API 形式提供的后端。
这套架构满足了最初需求,也让我很快把服务上线。不过,读过我其他文章的人知道,我后来开始逐步把 WINDEV 应用迁移到其他技术栈。
SimpleTransfer 也随之演进。用户看到的操作依然简单,但底层项目已经完成现代化改造。
05从传统开发到 Vibe Coding
SimpleTransfer 最初完全由我采用传统开发方式手工实现。
开始尝试 Vibe Coding 后,这个项目成了很好的试验场。我熟悉它的运行方式、架构和限制,因此既能准确评估开发智能体带来的改进,也能及时发现它们的错误。
我借此机会整理代码、现代化多个组件,并修复旧版本中发现的安全问题。
这段经历体现了一个我很看重的用途:AI 不仅能创建新项目,也可以帮助接手、记录并加固现有应用。
06安全和服务限制
我的目标是提供临时传输,而不分析文件的业务内容。服务不会读取文档、提取信息,也不会基于文件内容建立数据库。
不过,把任何在线文件传输服务描述成绝对保密都是不负责任的。文件必然经过服务器,安全性取决于架构、配置、访问权限和具体保护机制。
两小时后自动删除可以缩短暴露时间,但不会让 SimpleTransfer 变成数字保险箱。
07为什么要免费提供服务?
最诚实的答案可能是:为什么不呢?
对这类项目而言,域名和适当规模的托管成本并不高;这项服务也能展示我的工作方式,以及我如何设计简单工具。
根据服务内部统计,SimpleTransfer 目前每年有超过 5,000 名用户。整体使用量保持合理,用户也没有滥用可用磁盘空间。
我原本可以只为自己保留这个工具,或仅部署在本地网络。但既然它也能帮助其他人,我更愿意免费开放。
08多人共建的项目
虽然 SimpleTransfer 由我发起并开发,但项目并非只依靠我一个人的工作。
Logo 与视觉识别由 UI/UX 设计师 Roger Chaudet(Spatiograph.fr)完成,感谢他的高质量贡献。
令牌生成系统由Soptimal的Nidal Fakih提供。
SimpleTransfer 很能代表独立开发者之间的协作方式。围绕那些熟悉的“夜晚与周末项目”,我们经常交换想法、组件、建议,或投入几个小时共同推进。
这些项目很少最受关注或最赚钱,却让我们持续测试、学习,并保持对这份工作的热情。
09小工具,却提供实实在在的服务
SimpleTransfer 无意彻底改变文件共享,只是用快速、易懂的方式解决一个日常痛点。
这正是我喜欢这类项目的地方:从具体问题出发,做出自己需要的工具,再发现它同样帮助了数千人。
也许有一天,我们会在众多夜晚与周末项目中找到真正改变局面的那个。在此之前,我们继续构建、学习并分享。




评论
0 条评论暂无已发布评论,欢迎率先参与。