1. 为什么你需要一个零成本个人网盘
每次手机弹出"存储空间不足"的警告时,我都特别头疼。照片、视频、工作文档越积越多,买云盘会员又得持续花钱。直到我发现用Cloudflare Workers+OneDrive这个组合,完美解决了我的存储焦虑。
传统网盘方案要么像百度网盘那样限速,要么像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来调整界面样式。主要修改这几个部分:
- 颜色主题:在