零成本构建个人云存储:基于Cloudflare Workers与OneDrive的无服务器网盘实践

张开发
2026/5/22 22:28:45 15 分钟阅读
零成本构建个人云存储:基于Cloudflare Workers与OneDrive的无服务器网盘实践
1. 为什么你需要一个零成本个人网盘每次手机弹出存储空间不足的警告时我都特别头疼。照片、视频、工作文档越积越多买云盘会员又得持续花钱。直到我发现用Cloudflare WorkersOneDrive这个组合完美解决了我的存储焦虑。传统网盘方案要么像百度网盘那样限速要么像NAS需要买硬件设备。而我们现在要搭建的这个方案完全基于现有资源Cloudflare Workers提供边缘计算能力OneDrive提供存储空间。最关键是完全免费——不用买服务器不用付流量费甚至连域名都可以用Cloudflare提供的免费workers.dev子域名。实测下来这套方案特别适合这几类人学生党不想花钱买会员但又需要随时存取学习资料程序员需要快速分享代码或搭建临时文件分享站点自媒体创作者经常需要存储和分享高清素材普通用户只是想找个地方安全存放自己的照片和视频2. 准备工作获取必要的API凭证2.1 获取OneDrive refresh_token首先我们需要让Cloudflare Workers能访问你的OneDrive。这需要获取一个长期有效的refresh_token访问微软官方OAuth授权页面注意要用国际版账号登录你的Microsoft账号同意应用权限请求在返回的页面中找到refresh_token并保存这个token相当于一把钥匙允许我们的Worker程序访问你的OneDrive文件。我建议把它保存在密码管理器中因为一旦丢失就需要重新获取。2.2 创建Cloudflare Workers如果你还没有Cloudflare账号先注册一个。然后进入Workers控制台https://workers.cloudflare.com/点击Create a Worker系统会让你设置一个子域名。这个域名格式是xxx.workers.dev设置后就不能改了所以建议想个好记的名字。3. 部署后端Worker代码3.1 配置Worker环境变量我们将使用FODI项目的修改版代码。新建一个Worker清空默认代码粘贴以下配置const IS_CN 0; // 0表示国际版1表示世纪互联版 const EXPOSE_PATH // 要公开的目录路径留空表示根目录 const ONEDRIVE_REFRESHTOKEN 你的refresh_token // 其余代码保持不变...这三个变量是最关键的配置项IS_CN区分国际版和国内版EXPOSE_PATH控制公开哪些目录ONEDRIVE_REFRESHTOKEN刚才获取的凭证3.2 部署后端代码完整的后端代码可以在GitHub找到。部署后记得点击Save and Deploy。这时你的Worker应该已经可以正常访问OneDrive API了。测试方法访问你的Worker地址如果返回JSON格式的文件列表说明后端配置成功。4. 前端界面部署4.1 修改前端配置再新建一个Worker用于前端界面。找到代码中的配置部分window.GLOBAL_CONFIG { SCF_GATEWAY: 你的后端Worker地址, SITE_NAME: 我的个人网盘, IS_CF: true };这里需要把SCF_GATEWAY改成你刚才部署的后端Worker地址。SITE_NAME可以自定义你的网盘名称。4.2 自定义界面样式如果你懂前端开发可以修改CSS来调整界面样式。主要修改这几个部分颜色主题在

更多文章