Typecho-Workers 安装指南在前面的几篇文章中,我梳理了把博客搬迁到 Cloudflare 边缘无服务器(Serverless / Edge)架构的完整过程:从最开始处理 10ms CPU 超时、平滑迁移历史文章与笔记,到构建平台层零 CPU 缓存,再到重构主题并实现评论动静分离。 在这段重构与打磨后,这个名为 Typecho-Workers 的项目已经在我的生产环境平稳运行。对于同样希望摆脱传统 VPS 维护繁琐、搭建一套... 评论点赞收藏10 天前
前台体验重塑 —— 从笔记动态到评论动静分离底层的初始化、数据迁移以及多级缓存搞定后,博客的基础设施基本稳了。 接下来,我把精力转回到了读者与作者端的前台体验——如何让随笔记录更轻快, 以及如何让前台主题在拥有丰富交互的同时,保持极高的边缘缓存命中率。 为什么我需要“微动态/笔记”? 写正经长文往往需要构思提纲、组织段落、排版配图,写一篇得花上几个小时甚至几天。 这种较重的心理负担,很容易让人一拖再拖。 在日常生活中,我经常会有一些零碎... 评论点赞收藏40 天前
从多级缓存到 Workers Caching,资源开销骤降 98.7% 性能优化实践历史数据全部导入完成后,博客终于像模像样地跑起来了。本以为接下来就能安稳地写写笔记,没想到第二天一早打开 Cloudflare 控制台,迎面而来的却是一条鲜红的配额超限报警。 在没有任何突发流量、仅仅是搜索引擎爬虫日常抓取和少量正常访问的情况下,D1 Database 的单日读操作行数直接飙到了 600 万 ~ 900 万行,直接击穿了 Cloudflare 每天 500 万行的免费额度。 Clo... 评论点赞收藏44 天前
从 WordPress 到 Typecho-Workers 的数据映射与导入书接上回,解决完初始化的 10ms CPU 超时问题后,程序总算能顺利运行了。接下来最重要的任务,就是把旧博客里的历史数据完整搬过来。 我的旧数据来自 WordPress 导出的 WXR(XML)备份文件。正经的文章和页面数据其实不算多,但十多年里积累下来的上万条读者评论, 每一条都是弥足珍贵的互动记录;再加上数年来随手记录的日常笔记,构成了整个博客最核心的数字资产。 数据的构成与难点 常规内... 评论点赞收藏47 天前
10 毫秒魔咒——PBKDF2 降档与 HMAC 胡椒安全加固书接上回,选定 Typecho-CF 之后,我兴冲冲地把它打包部署到了 Cloudflare Workers 上,本以为马上就能用上,没想到出师不利,初始化这一步就被卡住了。 代码发布上去后,我打开绑定的域名进入 /install 页面,输入站点名称、管理员账号和密码,点击“开始安装”。 浏览器转圈两三秒,随后弹出了一个红色错误页: Error 1102: Worker exceeded CPU... 评论点赞收藏48 天前
将 Typecho 跑在 Cloudflare Workers一、为什么想折腾这个? 其实工作之后博客就很少更新了。很多时候脑子里冒出一个不错的想法,真打算坐下来写的时候,又总觉得内容太简单、不太值得分享,于是慢慢养成了只写“笔记”的习惯——记录一些零碎的想法和短篇随笔。 然而,一个更新频率并不高的博客,传统架构的维护成本却一点也没少: 服务器维护繁琐:要维护服务器、运行环境、程序更新,偶尔还得防范扫盘和挂马; 资源浪费严重:就像一台服务器二十四小时开着,却... 评论点赞收藏50 天前
1Panel V1 升级 V2,以及命令注入漏洞 CVE-2025-54424 相关问题一大早收到腾讯云漏洞通知的邮件,显示 1Panel 命令注入漏洞 CVE-2025-54424,等级是高危,查了下这是 V2 版本才有的漏洞,我 V1 你提示个 der? 不过几个服务器基本都是 Proxy 用,没放什么东西,看了下官方更新记录 V2.0.6 已经修复了这个问题,索性花一点时间把 1Panel 升级到 V2 尝尝鲜。 CVE-2025-54424 目前影响返回仅 V2.0.0 ~ ... 评论点赞收藏430 天前
白嫖Cloudflare R2,失误反被扣费前段时间不小心把服务器搞墙了,临时想办法套了下CF,顺便研究了下大善人家里都有哪些服务可以白嫖,正好看到R2有免费10G的存储空间,想着服务器也没有设置自动备份,不如把这空间拿来做数据备份吧。 说干就干,结果创建存储桶时看着“默认存储类”,想着备份数据确实是“不频繁访问”的数据,就选这个吧(明明下面那么明显的颜色提示 免费层不适用于不频繁访问存储的使用,愣是完全忽略掉了) 愉快了自动备份了一段时间... 评论点赞收藏458 天前
WordPress社交营销优化之OpenGraph最近主题想实现一个分享链接自动解析 URL,并以卡片形式展示目标链接内容的功能,几经调研发现这个需求早在10多年前就已经有相应的标准了, 它就是有 FaceBook 提出的 OpenGraph 协议(开放图谱协议) OpenGraph是什么 我们知道,构建一个网站采用的技术和实现方式并不相同,普通方法无法完美地解析目标页面的基本信息, 导致没有 OpenGraph 协议时分享的链接展示形式相当有限... 评论点赞收藏1610 天前
Image()函数加载base64图片无onload事件的前端兼容方案Image 函数将会创建一个新的 HTMLImageElement 实例。它的功能等价于 document.createElement('img') 正常情况下,我们使用下面方法加载图片,是能能够获取到onload事件的: const img = new Image; img.src = 'picture.jpg'; img.onload = => { console.log('success')... 评论点赞收藏1648 天前