在 Cloudflare 部署 FODI 后端
之前写过一个基于腾讯云 SCF 的 OneDrive 列表程序 FODI,现在腾讯云要收费了,每月至少 8 毛钱,虽然不多,但既然 Cloudflare 仍是免费的,不如移植一下,反正只是改改入口。
[tip type="danger" title="突然白屏"]refresh_token
有效期 3 个月,如突然无法打开,请 重设后端代码。计划使用 Github Action 自动更新,还没开始写,请耐心等待。 现已支持自动续期,请展开下方迟到的自动续期查看(如果是初次部署,请阅读完其它部分再看)。
[/tip]
[collapse title="迟到的自动续期"]
之前,FODI 每过 3 个月要重设后端代码,原因是 Cloudflare Worker 是 Serverless 环境,不支持持久化存储。刚编写 FODI 时,Cloudflare KV 还处于收费状态,如果使用第三方免费存储则担心可用性和延迟问题。考虑过使用 CI 定时更新环境变量但一直没有动工,想着整体重构后一并添加。但现在重构意愿不强了,Cloudflare KV 免费服务也已推出一段时间,于是添加几句代码,让它支持 Token 自动续期。
重设后端代码
首先,打开 部署助手,按照页面上方步骤重设 Worker 代码。
创建 KV 命名空间
保存好代码后,切换到顶部菜单栏的 KV
标签。在 命名空间名称
下方的输入框中输入 FODI_CACHE
,随后点击右边蓝色的 添加
按钮。
在 Worker 中绑定 KV
转到 FODI Worker 脚本的 设置
页面,点击页面中部 KV 命名空间绑定
项目右侧的 添加绑定
按钮。
在 变量名称
下方的输入框键入 FODI_CACHE
,KV 命名空间
下拉框也选择 FODI_CACHE
,最后点击 保存
。
添加续期计划任务
转到设置左边的 触发器
面板,点击页面右边蓝色的 添加 Cron 触发器
按钮。
切换到 添加 Cron 触发器
项目的 Cron
标签,在 Cron 下方输入框键入 0 0 1 * *
,最后点击右下方蓝色的 Add Trigger
按钮。
验证 Token 是否保存
现在打开你的 FODI 前端等待网页列出文件后,再次进入 KV
面板,点击页面中部 FODI_CACHE
右侧的 查看
。
当看到 token_data
时,表明代码工作正常,不出意外,以后都不再需要手动续期。
[/collapse]
演示地址
[tabs]
[tab title="主页"]
[btn url="https://logi.im/fodi.html"]你的免费网盘[/btn]
[/tab]
[tab title="图片/音频/视频"]
[btn url="https://logi.im/fodi.html?path=/Media/Music/Jay Chou/不能说的秘密"]演示资源地址[/btn]
[/tab]
[/tabs]
注册 Cloudflare 并创建 Workers
打开 Cloudflare 注册页面,输入 邮箱
和 密码
后点击 Create Account
,进入下个页面后直接点击左上角的 CLOUDFLARE
图标进入控制面板主页,不要进行其他操作。
进入主页后,点击靠近右下角的 Workers
。
此时系统会建议你修改子域名,直接点击 Set up
,随后点击弹出对话框中的 Confirm
。
之后会进入套餐选择页面,页面往下拉,找到 Continue with free
,点击它。
完成上述步骤后,系统会发送确认邮件到你的注册邮箱,请自行登录邮箱,找到相关邮件,点击其中的确认链接,完成确认。
上传 FODI 后端
完成邮箱验证后,再次点击左上角的 CLOUDFLARE
图标进入控制面板主页,点击右下角的 Workers
。
现在点击页面中间你刚刚创建的函数,进入代码编辑界面,随后打开 FODI Deployment Helper,按照指引生成并复制代码,粘贴到下图的代码编辑器中。
填写完毕后,点击页面中下部的 Save and Deploy
。
部署 FODI 前端
前端部署方法和老文章相同,见 通过 Github Pages 部署前端 章节。
唯一不同的是 SCF 网关地址
要换成 Cloudflare 的,右击下图箭头,选择 复制链接地址
即可获得。
最后如果这个项目帮到了你,不妨到 Github 为我点颗星。
[github repo="vcheckzen/FODI" /]