CloudFlare-ImgBed是非常流行的免费开源图床方案。不仅完全免费,而且无需购买服务器,非常适合个人博客、笔记或日常分享使用。

下面一份保姆级的搭建教程,只需几分钟就能拥有属于自己的永久免费图床。

🛠️ 准备工作

在开始之前,请提前准备好以下 3 个免费账号:

  1. Cloudflare 账号:用于托管图床程序和存储图片。
  2. GitHub 账号:用于获取开源的图床项目代码。
  3. 一个域名(可选):如果你希望图片链接更好看、更稳定,建议准备一个域名并托管到 Cloudflare;如果没有,也可以直接使用 Cloudflare 赠送的免费二级域名(.pages.dev)。

🚀 第一步:Fork 开源项目到 GitHub

  1. 打开 CloudFlare-ImgBed 的 GitHub 仓库页面:https://github.com/MarSeventh/CloudFlare-ImgBed
  2. 点击右上角的 Fork 按钮,将这个项目复刻(复制)一份到你自己的 GitHub 仓库中。
  3. 在弹出的页面中保持默认设置,直接点击 Create fork 即可。

☁️ 第二步:在 Cloudflare 中创建 Pages 项目

  1. 登录 Cloudflare 后台,在左侧菜单找到 计算和 AI (Workers & Pages)
  2. 点击 创建应用程序 (Create application),然后选择 Pages 标签页,点击 连接到 Git (Connect to Git)
  3. 授权并选择你刚刚 Fork 的 CloudFlare-ImgBed 仓库,点击 开始设置 (Begin setup)
  4. 在项目配置页面进行如下设置:
    • 项目名称:可以随意填写(例如 my-imgbed)。
    • 框架预设 (Framework preset):选择 无 (None)
    • 构建命令 (Build command):填入 npm install
    • 构建输出目录:/frontend-dist(很多教程这个地方让留空是不对的,输出目录不对,无法通过域名正常访问图床的)。
  5. 点击 保存并部署 (Save and Deploy)。等待几分钟后,Cloudflare 会自动完成项目的初次部署。

💾 第三步:创建并绑定 KV 数据库与 R2 存储

为了让图床能正常保存设置和存储图片,我们需要配置两个核心服务:

1. 创建 KV 数据库(用于存储图床的配置信息)

  • 回到 Cloudflare 后台,进入 存储和数据库 (Storage and Databases) -> Workers KV
  • 点击 创建命名空间 (Create a namespace),名称填写 img_url,然后点击创建。
  • 再次回到你刚才创建的 Pages 项目后台,点击 设置 (Settings) -> 绑定 (Bindings) -> 添加绑定 (Add binding)
  • 变量名称填写 img_url,KV 命名空间选择你刚刚创建的那个,点击保存。

2. 创建 R2 存储桶(用于实际存放图片文件)

  • 进入 Cloudflare 后台的 R2 对象存储,点击 创建存储桶 (Create Bucket),名称随意(比如 my-images),点击创建。
  • 注意:首次使用 R2 需要绑定一张银行卡(Visa/Mastercard等)以激活服务,但在 10GB 免费额度内不会扣费。
  • 同样回到 Pages 项目的 设置 (Settings) -> 绑定 (Bindings),再次 添加绑定 (Add binding)
  • 变量名称填写 img_r2,R2 存储桶选择你刚刚创建的那个,点击保存。

3. 重新部署生效

  • 绑定完成后,进入 Pages 项目的 部署 (Deployments) 页面,找到最新的一次部署记录,点击右侧的三个点,选择 重试部署 (Retry deployment),让刚才的配置生效。

⚙️ 第四步:初始化图床后台设置

  1. 在 Pages 项目的部署页面,点击顶部的链接(通常是 https://你的项目名.pages.dev)访问你的图床。
  2. 首次进入,点击页面右下角的 设置 图标,进入管理后台。
  3. 开启 R2 存储:在【系统设置】->【上传设置】中,找到 Cloudflare R2 渠道,将其 启用
  4. 设置安全密码(强烈建议):在【安全设置】中,设置 上传密码(防止别人盗用你的图床上传垃圾图片)和 管理员账户密码(保护你的后台管理权限)。
  5. 点击保存设置。

💡 进阶与使用小贴士

  • 免费额度:Cloudflare R2 提供每月 10GB 的免费存储空间,且出口流量(下载图片产生的流量)完全免费。对于个人日常使用来说,这个容量非常充裕。
  • 绑定自定义域名:在 Pages 项目的 自定义域名 (Custom domains) 选项中,你可以绑定自己的域名。这样你的图片链接就会变成 https://img.你的域名.com/xxx.jpg,更加美观且不受 .pages.dev 域名在国内偶尔抽风的影响。
  • 多种上传方式:除了网页端拖拽上传,该图床还支持 API 上传、Telegram Bot 上传,甚至支持粘贴直接上传,非常方便。
  • 图片管理:在后台你可以预览、搜索、批量删除已上传的图片,管理起来就像操作本地文件夹一样简单。