注:截至 2025 年 1 月,原有的 Telegraph API 接口被官方关闭,需要将上传渠道切换至 Telegram Channel,部署时需要设置 TG_Bot_Token 和 TG_Chat_ID,否则影响上传功能。

1. 在 GitHub 上 Fork 此项目

转到项目仓库(https://github.com/cf-pages/Telegraph-Image),点击页面右上角的 Fork,创建新分支到你的仓库

创建分支完成后,就不用管了,继续下面的步骤。

2. 创建一个 Telegram Bot

项目的原理可理解为:利用 Telegram Bot 的 API 实现图片上传和查看。

2.1 用 BotFather 创建机器人

登录 Telegram,向 @BotFather 发送命令 /newbot

根据提示,依次输入您的 机器人名称用户名

成功创建机器人后,您将会收到一个 BOT_TOKEN,用于与 Telegram API 进行交互。

2.2 新建频道,并将机器人设置为管理员

创建一个新的频道(Channel)。

进入该频道后,选择频道设置,将刚刚创建的机器人添加为频道管理员。

2.3 获取频道 ID

频道 ID 无法直接被查看,为此,我们需要利用一个第三方机器人来获取频道 ID。

向机器人 @VersaToolsBot 发送消息,并按提示操作。

你将得到一个 CHAT_ID ,此即频道的ID。

3. 在 Cloudflare 部署 Pages 项目

3.1 创建 Pages 项目

登录到 Cloudflare 控制台,在左侧边栏中选择 Workers 和 Pages

接下来选择 连接到 Git ,并在接下来的步骤中选中你刚刚 Fork 的那个仓库。

构建设置部分,我们点击展开 环境变量(高级) 选项。

新建以下两条变量(将示例值改为你刚刚在 第 2 步 获取的数据):

环境变量 示例值 说明
TG_Bot_Token 123468:AAxxxGKrn5 @BotFather 获取的 Telegram Bot Token
TG_Chat_ID -1234567 频道的 ID,确保 TG Bot 是该频道或群组的管理员

3.2 绑定自己的域名

回到项目列表,点击进入这个项目,然后点击 自定义域 选项。

根据提示绑定自己的域名,并配置 CNAME 解析,稍后 Cloudflare 还会自动为你配置 SSL 证书。

这一步骤大约需要 2 分钟生效,耐心等待片刻。

完成

至此,一个无限空间的图床部署完成,尽情使用吧~

进阶使用

Telegraph-Image 其实也支持了图片后台管理、以及通过第三方 API 实现的图片 AI 审核功能,需要手动开启。

有关操作步骤,请参阅官方教程:https://github.com/cf-pages/Telegraph-Image

局限性

  1. 图片文件实际上存储于 Telegram 的服务器,其对图片大小的限制为最大 5MB
  2. 毕竟使用了 Cloudflare 的网络,图片的加载速度在某些国家和地区可能较慢
  3. Cloudflare Function 免费版每日限制 100,000 个请求(即上传、加载图片的总次数不能超过 100,000 次)