不靠谱的 VPS 服务商及大条的自己
注册了 7 年的 VPS,突然被暂停服务了,收到 Abuse 投诉(扫描攻击)。
登上后台,不知道啥时候悄咪咪地发过一次通知,“Wednesday, December 30, 2026”,🤷,让改够复杂的密码和默认的 SSH 端口。之前应该瞄到过一眼,但这通知没有邮件,我也就没重视。
联系了客服,要么支付 20 刀恢复,要么默认关停。然后还大篇幅说自己多不容易,这套餐在亏钱,后续也会停掉,建议不必恢复。
反正他们没错,穷逼滚粗。
仔细想了想上面有些啥,两个 Blog,梯子,几个域名跳转。
再一盘算,梯子几乎没用,其他的重要,但是 Cloudflare 可以完美取代。Blog 虽然没最新的备份,但是有最早的 WP 导出呀,几篇新的在互联网档案馆(Internet Archive)里也完美找回了。
穷逼狂喜,VPS 滚粗。
Cloudflare 做重定向
☑️ 页面规则(Page Rules)能实现,但是大材小用了,而且只免费 3 条。
✅️ 批量重定向(Bulk Redirects)完美实现需求,免费的量还大到夸张。
博客恢复
东市买骏马 西市买鞍鞯
3 年前导出的 WP 数据还躺在那里,幸好我没有随意删文件的习惯。
3 年过去了,有些变化还是非常明显的,AI 工具变得好用太多了!
告诉它用 Hexo 建个项目,WP 数据在哪里,它自己几分钟就搞好了。再告诉它要导入档案馆里哪篇文章,几秒钟又好了。
设置再稍微调一调,那个味道又回来了。
Cloudflare Pages 做静态页面
部署过程简单,拖一下文件夹就行,只是 Pages 新建入口一顿好找:Workers and Pages → 创建应用程序,注意页面下方小字。URL 是:**/workers-and-pages/create/pages
Cloudflare Workers 做评论系统
之前用默认的主题,自带 Valine,配合 LeanCloud 也能用,但是这服务明年也要关停了。
换!
让 AI 帮忙,在默认 landscape 主题的基础上改成 Waline 评论系统。很快搞定,我都没细看。
Waline 需要的后端稍麻烦,找到个工具 Waline_On_Worker,AI 辅助开发,实现了跑在 Cloudflare Workers 上的 Waline。
配置要稍稍调整下,运行完美。
评论的导出数据也在,让 AI 一顿分析,转换成合适的格式,顺利导入到了新的 Waline 数据库中。
被 getrandom 支配的恐惧
为了避免以后再丢数据,我要用 git 保存 Hexo 项目的代码,但是提交时报错了。error: unable to get random bytes for temporary file: Function not implemented
又是一番研究,结论是:群晖的内核版本较旧,没有 getrandom 这个函数。较新的 git 编译时依赖较新的 glibc,只会使用较新内核才有的 getrandom。而热衷于更新的我,最近更新了 Gitea 镜像。
回退 Gitea
没办法更新群晖的 Linux 内核,只能回退 Gitea 了。选了旧版镜像,gitea:1.25.5,启动报错。根据提示改了数据库中的 version。再启动再报错,数据迁移缺字段,加了 column,再启动,成功了。
代码也顺利提交了。
这时候又犯懒病了,想让 git 提交自动触发 Pages 部署。CF 默认支持 GitHub 和 GitLab 的自动构建。
Gitea 只能绕点路,需要配置个运行器(Runner),相应地在容器管理器中建好 runner 项目,使提交代码时触发部署。
运行,失败,检查日志,再次看到:error: unable to get random bytes for temporary file: Function not implemented
错误很熟悉,办法也差不多。
回退 runner-images
回退到哪个版本却成了问题,试了 ubuntu-24.04 和 ubuntu-22.04 都不行,最后用了 catthehacker/ubuntu:act-20.04-20250701,可能还有更合适的,但是累了,就这样吧。
就此,迁移算是完成了。感谢 Cloudflare,感谢 AI。