搭建专属白嫖图床:基于 Cloudflare Pages 与 Telegram 的免费无限图片托管方案
在独立博客和网站运营中,图床(图片托管) 永远是一个让人头疼的问题。大厂的存储服务(如七牛云、腾讯云 COS、阿里云 OSS)虽然稳定,但流量费和存储费长期累积下来也是一笔开销,甚至还有被恶意盗刷流量的风险。
今天给大家分享一个真正的“零成本、无限量”的终极图床解决方案——Telegraph-Image。它基于 Cloudflare Pages 部署,并利用 Telegram 作为后端存储。不仅完全免费、无限容量、不限流量,而且还自带功能强大的后台管理与图片审查功能!
⚠️ 重要背景提醒:过去该项目使用 Telegraph 官方接口,但由于原接口已被官方关闭,现在的最新版本已经全面切到了 Telegram Channel(频道) 渠道。我们需要配置自己的 Telegram Bot 来实现图片上传,稳定性和隐私性反而更高了。下面就带大家手把手完成搭建!


一、 为什么选择 Telegraph-Image?
零服务器成本:完全托管在 Cloudflare 边缘网络上,无需购买任何服务器。
无限存储容量:图片实际存储在 Telegram 频道中,只要 Telegram 不倒闭,就能无限上传。
免费二级域名 & 自定义域名:默认提供 Cloudflare 免费的
*.pages.dev域名,当然也支持绑定你自己的独立域名。强大的后台管理:支持网格、瀑布流预览,可对上传的图片进行批量复制、黑白名单控制。
智能图片审查:可对接第三方 API,自动屏蔽不良图片,防止违法违规内容撑爆你的站点。
全自动同步更新:支持 GitHub Actions,上游代码更新后,你的图床也能自动同步最新功能。
二、 准备工作:获取 Telegram 必要凭证
在部署前,我们需要获取 Telegram 的两个核心参数:TG_Bot_Token(机器人令牌)和 TG_Chat_ID(频道 ID)。
1. 申请 Telegram Bot Token
在 Telegram 中搜索并关注官方机器人
@BotFather。向它发送指令
/newbot。按照提示,先输入机器人的显示名称,再输入机器人的用户名(必须以
bot结尾,例如my_image_hub_bot)。创建成功后,
BotFather会发给你一串长字符串,这就是你的TG_Bot_Token,请妥善保存。
2. 创建并配置 Telegram 频道
在 Telegram 中新建一个频道(Channel),设置为公开或私有均可。
进入频道设置 -> 管理员列表(Administrators),将刚刚创建的机器人添加为频道管理员,并赋予发消息的权限。
3. 获取频道的 Chat_ID
在 Telegram 中搜索并关注机器人
@VersaToolsBot或@GetTheirIDBot。将你刚刚创建的频道中的任意一条消息转发给这个机器人。
机器人会返回一串带有负号的数字(例如
-100xxxxxxxxx),这就是该频道的TG_Chat_ID。
三、 手把手部署教程:只需简单三步
第一步:Fork 项目仓库
首先,登录你的 GitHub 账号,访问 Telegraph-Image 官方仓库,点击右上角的 Fork 按钮,将项目复制一份到你自己的账号下。
第二步:开启 GitHub 自动更新(可选但强烈推荐)
由于 GitHub 的限制,Fork 出来的项目默认不会自动运行工作流。
进入你 Fork 后的仓库,点击顶部的 Actions 标签。
页面会提示需要启用,点击绿色按钮 "I understand my workflows, go ahead and enable them"。
在左侧菜单找到
Upstream Sync,确保其处于开启状态。这样以后原作者更新了代码,你的仓库每小时会自动同步,无需手动搬运。
第三步:在 Cloudflare Pages 中部署
在左侧菜单栏选择 Workers 和 Pages -> 点击 创建应用程序 -> 选择 Pages 标签页。
点击 连接到 Git 提供程序,选择你的 GitHub 账号,并选中刚才 Fork 的
Telegraph-Image仓库,点击 开始设置。关键步骤(配置环境变量):在展开的“环境变量(高级)”中,添加以下两个变量:
点击 保存并部署。稍等一两分钟,Cloudflare 就会为你生成一个
*.pages.dev的专属图床网址。大功告成!
四、 进阶高级配置(让图床更完美)
如果你希望将它作为一个长期稳定的生产力工具,建议开启以下进阶功能:
1. 绑定自定义域名
Cloudflare 默认的分配域名在国内部分地区访问可能不够顺畅。
操作方法:在 Cloudflare Pages 的管理后台,切换到 自定义域 标签页,点击 绑定自定义域,输入你自己的域名。如果域名本身就在 Cloudflare 托管,它会自动帮你写好 DNS 解析,非常方便。
2. 开启图片管理后台(带登录验证)
默认情况下,图床是没有后台管理页面的。如果想对上传的图片进行预览、删除、拉黑,可以这样配置:
绑定 KV 数据库:
在 Cloudflare Pages 页面中,点击 设置 -> 函数 -> 找到 KV 命名空间绑定。
点击 编辑绑定,添加一个绑定:
变量名称 填写:
img_urlKV 命名空间 选择或新建一个你提前准备好的 KV 存储空间。
开启密码保护:
再次前往 设置 -> 环境变量,添加以下两个生产环境下的变量:
重新部署:修改完上述内容后,去 部署 页面手动重新部署一次。
访问后台:此后,访问
https://你的域名/admin即可看到精美的图片管理后台。
3. 智能图片审查
防止有人利用你的图床上传违规内容,可以接入免费的审查服务。
前往 ModerateContent 注册一个免费账户,获取 API key。
在 Cloudflare Pages 的环境变量中添加:
ModerateContentApiKey=你的API key。如果想更严格,还可以添加变量
WhiteList_Mode=true,开启白名单模式。此模式下,上传的图片必须由你在后台手动审核通过(加入白名单)才能正常展示。
五、 方案的额度与局限性(避坑指南)
虽然这个方案非常完美,但天下没有完全无限制的午餐。在使用前,你需要了解 Cloudflare 免费版的一些软性限制:
单个文件大小限制:由于底层使用的是 Telegram Bot API,单张图片的大小一般受 Telegram 官方限制(通常不超过 50MB),不过作为网页图床这完全足够了。
Cloudflare Functions 请求额度:免费版每日限制 100,000 次请求(即每天上传+加载图片总次数不超过10万次)。
KV 数据库额度(若开启后台管理):
每日免费写入额度 1,000 次(每有一张新图片加载会占用一次写入记录)。
每日免费读取额度 100,000 次。
每日免费列出/删除额度 1,000 次。
💡 站长小贴士:对于个人博客和中小型网站来说,这个免费额度完全是溢出的。如果你开启了 Cloudflare 的边缘缓存(Cache),大部分图片在第二次加载时直接走缓存,并不会消耗请求额度。如果有一天你的博客流量爆炸,也可以无缝升级到 Cloudflare $5/月的付费版,彻底解除限制。
六、 结语
使用 Cloudflare Pages + Telegram 搭建图床,不仅将白嫖艺术发挥到了极致,更重要的是它依托于大厂基础设施,稳定性和速度在免费图床中都是属于第一梯队的。
赶紧去搭建一个你自己的专属图床吧!如果在部署过程中遇到任何问题,欢迎在评论区留言交流。
本文项目开源地址:cf-pages/Telegraph-Image
-topaz-denoise-enhance-tuya.jpg)