CF-PicUp V2
基于 Cloudflare Workers 和 R2 存储的图片上传服务,是 cf-picup 的升级版本。
相比V1版本的优化
- 安全性大幅增强:
- 新增基于魔数的文件类型检测,防止文件类型伪造
- 改进 API Token 验证机制,防止时序攻击
- 增加域名访问控制,提升安全性
- 功能更加完善:
- 新增 SVG 格式支持
- 优化 CORS 配置,提升跨域兼容性
- 完善错误处理机制,提供更友好的错误提示
- 性能显著提升:
- 优化缓存策略,设置合理的缓存时间
- 改进文件存储结构,提升读写效率
- 完善元数据存储,支持更多文件信息
特性
- 支持多种图片格式:JPEG、PNG、WebP、GIF、SVG
- 文件大小限制:50MB
- 安全性优化:
- 基于魔数的文件类型检测
- 防时序攻击的 API Token 验证
- 域名访问控制(仅允许 nodeseek.com)
- 自动文件哈希命名
- 完整的元数据存储
部署
-
创建 R2 存储桶
- 登录 Cloudflare 控制台,进入 R2
- 创建存储桶并记录名称
-
部署 Worker
- 进入 Workers & Pages,创建 Worker
- 复制
worker.js代码到编辑器 - 绑定 R2 存储桶:变量名设为
R2_BUCKET - 设置环境变量
UPLOAD_API_TOKEN(设置一个安全的随机字符串)
使用
油猴脚本(推荐)
- 安装 Tampermonkey 扩展
- 导入
ganba.de-cf.js脚本 - 配置脚本:设置服务地址和 API Token
- 功能:
- 支持粘贴上传(Ctrl+V)
- 支持拖拽上传
- 自动适配多种编辑器格式
API 调用
curl -X POST https://your-worker.workers.dev/api \
-H "Authorization: Bearer your-api-token" \
-F "[email protected]"
License
MIT
1112233
保存起来吃灰
能不能详细一点,老板
收藏
@贪财好色 #3
这个版本已经比第一版省事多了教程都在文字里
@622cc #0 bd