Skip to content

布灵图床 - 基于Cloudflare全家桶的个人图床。

Notifications You must be signed in to change notification settings

QyQj/buling-imgbed

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌈 布灵图床

一个基于 Cloudflare 全家桶的个人图床解决方案

license version hono cloudflare r2 d1 telegram

🌍 在线演示 · 🚀 部署指南 · 📚 使用文档 · 🎯 项目详解

🎯 基于 Cloudflare 的现代化图床解决方案,零成本易部署,为个人提供便捷的图片托管服务。

⚠️ 注意:本项目为后端服务,部署完成后可通过 Telegram 机器人进行图片上传。 如需网页端上传和管理功能,请部署配套的前端项目:布灵图床前端

🪄 特性一览

  • 零成本部署

    • ☁️ 完全基于 Cloudflare 免费服务
    • 🆓 每月 100k 请求完全免费
    • ⚡ 全球 CDN 加速
  • 简单易用

    • 🔐 绑定 Telegram 账号
    • 🤖 Telegram Bot 快速上传
    • 📋 多种图片链接格式

📸 效果预览

首页预览 上传预览

🚀 部署指南

部署准备

  • Cloudflare 账号(生成CF_API_TOKEN、CF_ACCOUNT_ID,以及已经激活R2存储桶)
  • JWT 密钥(可使用随机生成UUID)
  • Telegram Bot Token(可选)
📝 如何获取这些配置? · 📖 查看图文教程

1. Cloudflare 配置获取

  1. 注册并登录 Cloudflare
  2. 获取 Account ID:
    • 登录后点击右上角的账号图标
    • 在下拉菜单中选择 "Account Home"
    • 在右侧可以找到你的 Account ID
  3. 创建 API Token:
    • 进入 API Tokens 页面
    • 点击 "Create Token"
    • 选择 "Create Custom Token"
    • 权限设置:
      • Account.Workers R2 Storage: Read & Write
      • Account.Workers Scripts: Edit
      • Account.D1: Edit
      • Account.Cloudflare Pages: Edit (建议添加,用于前端项目部署,可复用此token)

2. JWT 密钥生成

  • 方法一:使用在线 UUID 生成器:UUID Generator
  • 方法二:使用命令行:
    # Linux/Mac
    uuidgen
    # 或者
    python -c 'import uuid; print(uuid.uuid4())'

3. Telegram Bot Token 获取

  1. 在 Telegram 中找到 @BotFather
  2. 发送 /newbot 命令
  3. 按照提示设置机器人名称
  4. 创建成功后,BotFather 会发送给你 Bot Token

GitHub一键部署(🌟推荐)

👉 查看详细图文部署教程

  1. Fork 本仓库
  2. 配置 GitHub Secrets:
    CF_API_TOKEN=your_cloudflare_api_token
    CF_ACCOUNT_ID=your_cloudflare_account_id
    JWT_SECRET=your_jwt_secret
    TG_BOT_TOKEN=your_telegram_bot_token
    
  3. 存储桶区域设置(可选):
    • 默认在亚太地区创建存储桶
    • 如需更改区域,请修改 .github\workflows\deploy.toml 中的以下配置:
      wrangler r2 bucket create buling-imgbed-r2 --location=<region>
    • 可选区域:
      • apac - 亚太地区(默认)
      • wnam - 北美西部
      • enam - 北美东部
      • weur - 欧洲西部
      • eeur - 欧洲东部
  4. 启用 GitHub Actions
  5. 推送代码触发自动部署(首次部署请点击 Actions 页面手动触发)

手动部署

# 安装依赖
npm install

# 本地开发
npm run dev

# 部署到 Cloudflare
npm run deploy

🔧 技术架构

Cloudflare Workers (服务运行时)
    ├── Hono.js (Web 框架)
    ├── Cloudflare D1 (SQLite 数据库)
    ├── Cloudflare R2 (对象存储)
    └── Cloudflare CDN (全球加速)

🤝 贡献指南

欢迎提交 PR、Issue 或者加入讨论组参与开发!

提交代码前请确保:

  1. 遵循现有的代码风格
  2. 添加必要的测试和文档
  3. commit message 遵循 约定式提交

📜 开源协议

本项目采用 MIT 协议开源。

🎉 鸣谢

  • Cloudflare - 提供优秀的基础设施服务
  • Vue - 优秀的 Web 框架
  • Nuxt - 优秀的 Web 框架
  • 开源社区 - 感谢所有开源贡献者

感谢所有为这个项目做出贡献的开发者们!

📞 联系作者


如果这个项目对你有帮助,请考虑给它一个 ⭐️

About

布灵图床 - 基于Cloudflare全家桶的个人图床。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%