logo NodeSeekbeta

CF-PicUp V2 Cloudflare Workers 图床部署教程

CF-PicUp V2

基于 Cloudflare Workers 和 R2 存储的图片上传服务,是 cf-picup 的升级版本。

相比V1版本的优化

  • 安全性大幅增强:
    • 新增基于魔数的文件类型检测,防止文件类型伪造
    • 改进 API Token 验证机制,防止时序攻击
    • 增加域名访问控制,提升安全性
  • 功能更加完善:
    • 新增 SVG 格式支持
    • 优化 CORS 配置,提升跨域兼容性
    • 完善错误处理机制,提供更友好的错误提示
  • 性能显著提升:
    • 优化缓存策略,设置合理的缓存时间
    • 改进文件存储结构,提升读写效率
    • 完善元数据存储,支持更多文件信息

特性

  • 支持多种图片格式:JPEG、PNG、WebP、GIF、SVG
  • 文件大小限制:50MB
  • 安全性优化:
    • 基于魔数的文件类型检测
    • 防时序攻击的 API Token 验证
    • 域名访问控制(仅允许 nodeseek.com)
  • 自动文件哈希命名
  • 完整的元数据存储

部署

  1. 创建 R2 存储桶

    • 登录 Cloudflare 控制台,进入 R2
    • 创建存储桶并记录名称
  2. 部署 Worker

    • 进入 Workers & Pages,创建 Worker
    • 复制 worker.js 代码到编辑器
    • 绑定 R2 存储桶:变量名设为 R2_BUCKET
    • 设置环境变量 UPLOAD_API_TOKEN(设置一个安全的随机字符串)

使用

油猴脚本(推荐)

  1. 安装 Tampermonkey 扩展
  2. 导入 ganba.de-cf.js 脚本
  3. 配置脚本:设置服务地址和 API Token
  4. 功能:
    • 支持粘贴上传(Ctrl+V)
    • 支持拖拽上传
    • 自动适配多种编辑器格式

API 调用

curl -X POST https://your-worker.workers.dev/api \
  -H "Authorization: Bearer your-api-token" \
  -F "[email protected]"

License

MIT

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有72271位seeker

🎉欢迎新用户🎉