一直用的 sm.ms 图床最近升级迁移到 s.ee 了,定位不再是仅图床服务,主观感觉有点臃肿,不符合我最早用它的初衷:简单、纯粹。于是开始用一直没怎么深度用的 Cloudflare R2 做自建图床。找了一圈没合适的 Web 端管理应用,要么审美不在线要么功能不到位。需求这不就来了?所以我用 Claude 搓了个 R2 Web 项目来管理,一切在浏览器完成,能充当图床角色,支持私有部署,尤其注重轻量、用户体验。这个项目年前写的,快一个月了,觉得其他人也可能会需要,于是去阮一峰大佬的周刊投稿,然后被推荐了。
之前用 CloudFlare Worker 部署 60s API 的 B 站热搜接口一直失效,因为 B 站会限制海外 IP。最近在 NeteaseCloudMusicApi 项目的 Issue 里偶然学到这个方法,亲测有效,思路很巧妙。其实 60s API 项目的 /ip 接口本身返回的 IP 也是从这些请求头里取的,刚好 B 站也是这样判断 IP 的,所以用这个办法就能让 CF Worker 也能正常访问 B 站热搜数据了。
<2025>
🥽 🛋️ Comfort in VRChat
❓ Question Mark / qm
🐈 🎂 Cola turned one
🏠 New cozy nest
💼 💸 A modest salary increase
🎧 R&B, Rap, DT, 小宇 & T
🥰 At last with Mio
🥽 🎓 Graduated from VRChat
🎮 CS2, It Takes Two and HoK
✈️ Flew to see Mio in Chengdu
😋 Durian, Durian and Durian!
🏺 Making crafts together
✍️ 💬 New blog, new thoughts
🤖 👋 Hi mioki! Bye KiviBot
🎆 🥂 New Year‘s Eve together
</2025>
发现了一个挺有想法的浏览器插件 Ad Break。正如其名称一样,它用小游戏来覆盖广告界面让用户玩游戏休息一下(Break),不仅能够低成本地解决「广告越来越难屏蔽」的问题,还不影响作者的广告收益,最终减少了用户的广告厌恶感,算是一个双赢的方案。同时,它也保留了时间进度和跳过广告的功能,如果用户不想玩游戏也可以仅显示空白界面。
import obj from "path/to/file.json" with { type: "json" }import text from "path/to/file.txt" with { type: "text" }import uint8array from "path/to/file.txt" with { type: "bytes" }
Bun 宣布加入 Anthropic,但其核心路线不变,变的是 Claude Code 及其 SDK 因 Bun 团队而受益。Bun 在 22 年暑假发布了 v0.1.0,开始在前端领域掀起大浪。比较认同 Bun 的核心理念,性能、效率、Just Work,只是目前 Bun 在生态和兼容性上仍需完善。