具体的部署可以见项目的readme,需要cloudflare的worker才能正常使用。
![]()
项目的地址:https://github.com/Yuri-NagaSaki/CattoPic
之前写过一个Go的版本:https://github.com/Yuri-NagaSaki/ImageFlow
博客地址:https://catcat.blog/2025/12/cattopic-self-hosted-image-hosting
核心功能包括:
- 多格式图片上传,支持 JPEG、PNG、GIF、WebP、AVIF
- 上传后自动转换为 WebP 和 AVIF 格式,节省存储和带宽
- 标签系统,便于图片分类管理
- 图片过期时间设置,支持临时图片
- 公开的随机图片 API,可用于博客背景或其他场景
- 横竖屏自动识别,API 可按方向筛选
技术架构
CattoPic 的技术选型颇为现代:
前端
- Next.js 16 配合 React 19
- Tailwind CSS 处理样式
后端
- Cloudflare Workers 作为计算层,使用 Hono 框架构建 API
- Cloudflare D1 作为数据库,存储图片元数据和配置
- Cloudflare R2 作为对象存储,存放图片文件
- Cloudflare KV 用于缓存
- Cloudflare Queues 处理异步任务(需付费才能使用)
- Cron Triggers 定时清理过期图片
整套后端服务运行在 Cloudflare 的边缘网络上,响应速度和稳定性都有保障。
项目预览
![]()
![]()
![]()
![]()
![]()
![]()
![]()
最后更新: 12月14日 14:12
BOSS catcat 🤚😭✋