利用 Cloudflare + Telegram 搭建永久免费图床:零成本 Pages/D1/KV
今天给大家带来一个非常实用的 GitHub 开源项目,教大家如何利用 Cloudflare 的生态系统搭建一个 完全免费 的个人图床。
该方案的巧妙之处在于:使用 Cloudflare Pages 部署前端,KV 存储元数据,D1 存储数据库,而真正的图片文件则存储在 Telegram 中(利用 TG 的无限容量作为免费硬盘)。
1. 项目准备
首先,进入本项目地址并 Fork 到你的 GitHub 账号下:
- 项目地址:CloudFlare-ImgBed
来到这个项目之后先给项目的作者点一个 star,感谢作者的辛苦付出,然后点击 fork。
2. 配置 Cloudflare Pages
没有 Cloudflare 账号可以先注册一个,只需要一个邮箱就可以注册。
Cloudflare: https://dash.cloudflare.com/
登录 Cloudflare 控制台,点击 Workers 和 Pages -> 创建应用程序 -> Pages -> 连接到 Git。
如果是第一次使用,还需要先关联登录自己的
GitHub账号。第一次关联会先来到这样的页面,此时需要进行仓库的关联设置。
下滑来到仓库权限设置。
可以直接选择让
Cloudflare有权访问所有仓库,也可以选择指定仓库,按照个人需求进行选择。选择完成之后,点击
Save。⚠️ 注意!! 这里必须点击
Save才能重新跳转到Cloudflare页面。如果Save是灰色,就点击一下另一个选项,再点击回你期望的选项,Save按钮就可以正常点击了。选择你刚才 Fork 的项目
CloudFlare-ImgBed。在“构建设置”中进行如下配置:
- 框架预设:无(None)
- 构建命令:
npm install - 构建输出路径:
frontend-dist
点击“保存并部署”。
3. 配置 KV 数据库
- 回到 Cloudflare 控制台,选择 Storage & Databases -> Workers KV。
- 点击“创建命名空间”,名称输入:
img_url。
4. 绑定 KV 到项目
- 进入你刚刚创建的 Pages 项目设置。
选择 设置 -> 绑定 -> KV 命名空间绑定。
点击“添加绑定”:
- 变量名称:
img_url,必须是这个名称,否则程序无法读取。
- KV 命名空间:选择刚才创建的
img_url。
说明:在这个项目中,KV 仅用来存储图片的元数据(如短链接索引),它并不存储真实的图片文件。我们利用 Telegram 作为后端“硬盘”来存储实际图片。
5. 创建 D1 数据库并初始化
- 在控制台选择 Workers 和 Pages -> D1。
点击“创建数据库”,名称建议使用:img_d1。
数据库位置建议选第一个。
进入该数据库,点击 控制台,复制并执行以下 SQL 脚本来创建表结构。
SQL
1 | CREATE TABLE IF NOT EXISTS files ( id TEXT PRIMARY KEY , value TEXT, metadata TEXT NOT NULL , file_name TEXT, file_type TEXT, file_size TEXT, upload_ip TEXT, upload_address TEXT, list_type TEXT, timestamp INTEGER , label TEXT, directory TEXT, channel TEXT, channel_name TEXT, tg_file_id TEXT, tg_chat_id TEXT, tg_bot_token TEXT, is_chunked BOOLEAN DEFAULT FALSE , tags TEXT, created_at DATETIME DEFAULT CURRENT_TIMESTAMP , updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ); |
6. 绑定 D1 数据库
- 回到 Pages 项目的 设置 -> 绑定。
找到 D1 数据库绑定,点击“添加绑定”:
- 变量名称:
img_d1 - D1 数据库:选择刚才创建的
img_d1
- 变量名称:
7. 重新部署并生效
- 在 Pages 项目中点击 部署 选项卡。
- 在最近的一条部署记录右侧点击三个点
...,选择 重新部署。
- 等待部署完成,访问你的 Pages 域名。
安全提醒:首次登录后,请务必第一时间进入后台修改管理员账号、密码以及上传密码。
8. 获取 Telegram 配置
- 获取 Token:关注机器人
@BotFather,根据提示创建一个新机器人,获取 API Token。
按照提示的步骤创建一个机器人,创建完成之后保存自己创建的机器人的 API Token。
- 获取 Chat ID:关注机器人
@VersaToolsBot,向其发送一条消息即可获得你的个人 Chat ID。
- 将保存好的
bot_token和聊天 ID 填入图床的渠道配置。
最后填入配置信息。








































