2072 字
10 分钟

过去的七个月里,我都在忙什么

2026-03-22
gemini-aiAI 摘要

上一次写这种总结文章已经是七个月前的事了。那篇《我的个人博客历程》详细记录了我从 WordPress 迁移到 Astro + Fuwari 的过程。如今博客已稳定运行超过半年,这段时间我持续对它进行深度打磨。今天借这篇文章,和大家聊聊这几个月的经历。

Fuwari 完善#

最初受二叉树树大佬影响,我选择了 Astro + Fuwari 作为新博客的底层。但我没有直接使用社区任何现成的 fork 版本,而是从官方 Fuwari 仓库重新克隆一份,从头开始按照它的架构思路进行改造。

这么做的核心原因只有两个字:理解。直接套用别人的完整修改版虽然快,但你很难真正搞懂每一处改动的来龙去脉,也不知道哪些功能对你真正有用。别人的代码再优秀,也可能包含对你而言的冗余甚至冲突逻辑。而从零开始虽然前期投入大,但能让你彻底吃透整个系统,后续维护、加功能、修 bug 时才能游刃有余。

基于这个思路,这七个月我陆续实现了:

  • 说说页面
  • 友链页面
  • 赞助页面
  • 关于页面
  • Umami 访问统计卡片
  • Uptime Kuma 监控卡片
  • 全新设计的页脚
  • 赞助卡片

此外还完成了对本站适配于 EdgeOne Pages 的服务器端渲染(SSR)的改造,调整完善了网站的动画与部分UI。

期间参考了 Mizuki、Firefly 等优秀 Astro 主题的实现思路,非常大家推荐使用。

在探索魔改 Fuwari 期间产出了几篇教程:

其中访问统计卡片一篇最受欢迎。将 Umami 访问数据以卡片形式呈现在侧边栏,虽然没有做到像二叉树树那样精确到单篇文章的 PV/UV,但对我来说效果已经完全够用。

图床问题#

在持续魔改 Fuwari 的过程中,一个很早就埋下的雷终于爆炸了。

早期用 WordPress + InfinityFree 免费主机时,我注册了 rf.gd 的一个子域名。后来迁移到静态站点 + Netlify,很多老文章的图片链接仍然指向旧 WordPress 地址。一开始没太在意,直到某天 InfinityFree 因为长期无访问删除了我的旧站点……于是博客里的图片资源开始频繁 404。

那时我才真正意识到问题的严重性——虽然早在迁移文章里就说过要自建图床,但改链接 + 迁移图片实在太麻烦,就一直拖着。结果老图片完全没有备份,全部丢失。

绝望之际,我想到了去年10月加入的 BlogsClub(博客俱乐部)。它有一个“档案馆”功能,会为成员博客做文章和主页的定期截图存档。我像抓住救命稻草一样翻看了存档,成功通过截图找回大部分丢失图片。虽然画质不高,但至少保住了内容的完整性。在此特别感谢 BlogsClub 的用心维护。

BlogsClub 档案馆截图

找回图片后,新问题来了:放哪里?

  • 自建兰空图床 → 服务器成本高 + 容易被刷流量,怕哪天续不起费就全挂
  • 第三方免费图床 → 要么迟早跑路,要么删图
  • 直接塞进博客仓库 → 仓库体积爆炸,不好管理

最后我选择直接单独把所有图片扔到一个仓库里统一管理,然后把这个图片仓库传到 EdgeOne Pages 上构建。

于是就有了这个项目:用 EdgeOne Pages 搭建随机图床。它最初就是为博客服务的,后来加了瀑布流图库 + 随机图片功能,并以 EdgeOne-Random-Picture 之名开源到 GitHub(目前 5 star 9 fork)。

H2O-ME
/
EdgeOne-Random-Picture
Waiting for api.github.com...
00K
0K
0K
Waiting...

现在博客所有图片都走 https://image.tianhw.top/ 域名(例如我的头像 https://image.tianhw.top/avatar.webp ),就算 EdgeOne Pages 哪天不可用,我也能无缝切换到 Vercel / Cloudflare Pages / ESA 等平台,只要更换域名的DNS记录到新的站点,甚至老文章里的图片链接都不用改。这个方案成本几乎为 0,且相当稳定。

域名与备案#

随着博客逐步完善,我决定淘汰老域名 thw.lol,正式启用 tianhw.top(在 Namesilo 注册)。

之后因为想使用一些国内云服务(例如阿里云 ESA、轻量应用服务器等),几乎无一例外都需要 ICP 备案。没有 ICP 备案整天和这些厂商斗智斗勇太耗精力。

综合考虑下,我将域名转移到了阿里云并在 2026 年 1 月 3 日在阿里云提交了 ICP 备案申请,11 天后获得备案号 鲁ICP备2026002442号-1;寒假期间进行了公安联网备案,2026 年 2 月 26 日通过,备案号 鲁公网安备37030302001162号。这些信息你可以在页脚卡片中看到,此后也是实名上网了😭。

阿里云 ICP 备案截图

备案过程虽然繁琐,但完成后博客迁移到国内版 EdgeOne Pages,网站的加载速度和访问体验提升非常明显。以后在国内使用起来会方便很多。

攻击与安全#

虽然站点是纯静态,但刷流量依然很烦人。

第一次:当时我一个部署在 Cloudflare Pages 的站点被来自美国的 IP 刷流量,整个静态站点文件加起来才几 MB,却产生了高达 196GB 的流量,不过这点流量对应 Cloudflare 来说只能算是洒洒水,要不是我主动打开控制台查看访问流量我都没发现。

Cloudflare 流量攻击截图

第二次:我在文章《利用 IPFS 构建免费图床》里分享了一个通过 EdgeOne 反代的 IPFS 图床方案。并搭建了一个免费图床网站,得到了很多其他的博客站点的使用,但这却却导致了我连带遭到攻击。

从 EdgeOne 日志看,不是我的站点被针对,而是一个使用了我图床的博客被攻击,一张几百kb的图片却导致了我的流量暴涨上百 GB,而且访问ip居然全是来自国内。

从二叉树树的经历来看,就算 EdgeOne 宣传无限流量,被刷太多也可能被停用。我尝试联系了这个博客站长未果,最终只能屏蔽了被攻击的图片资源,最后以 ipfs.crossbell.io 接口直接卒了告终。

最近一次:我目前的博客图床再次被攻击,目标直指这个页面《Bilibili 美化扩展 — BewlyCat》,这篇文章里的所有图片流量出现了明显异常。这次我保留了较为完整的数据,攻击 IP 如下:

  • 43.133.58.242
  • 43.134.183.214
  • 150.109.25.183
  • 43.156.240.167
  • 43.156.6.122
  • 119.28.101.45
  • 150.109.12.53
  • 119.28.101.51
  • 129.226.197.201
  • 129.226.197.194

攻击 IP 情报截图

通过微步在线X情报社区查询,这些 IP 均为腾讯云的恶意傀儡机,有 Webshell 扫描、Nmap 端口扫描、爆破 Tomcat/WebSphere/OA、SSRF 探测等攻击行为记录。

分析#

这几次很有可能都是PCDN刷下行流量,因为PCDN要为平台充当CDN分流,那么它的上传流量与下载流量的比例就会明显异常,而刷流量的目的就是平衡上传下载比,规避运营商的封禁。

至于为什么喜欢挑静态站刷流量,因为动态站点往往一打就死,很多站点可能只会用个2h2g的服务器,流量往往也很少,稍微一打就挂了。而静态站点承受更大的流量攻击,低速访问也不会触发防护策略,因此在某种意义上,静态站点反而更容易被攻击。

但这只能解释国内的情况,至于为什么海外ip也要刷流量我就百思不得其解了🤔

访问数据#

流量来源:必应占 85%,其次是阿里云开发者社区和 GitHub。
浏览器分布:Chrome 50%,Edge (Chromium) 37%。

结束#

非常感谢每一位访客的支持!

过去的七个月里,我都在忙什么
https://blog.tianhw.top/posts/past-seven-months/
作者
THW
发布于
2026-03-22
许可协议
CC BY-NC-SA 4.0