喜之梁
不只是图床!使用 Telegraph-Image 搭建免费无限存储

不只是图床!使用 Telegraph-Image 搭建免费无限存储

使用 Cloudflare Pages 免费部署 Telegraph-Image,把图片与音视频上传至 Telegram 获取直链,实现免费无限存储;涵盖 Bot/频道准备、环境变量配置、域名优选与后台管理全流程。

Telegraph-Image 是一个很有意思的项目,将媒体资源上传到 Telegram,之后获取直链作为图床(不仅限于图片)。正好最近有存音视频的需求,那么搭建一个玩玩。

准备工作

该项目运行于 Cloudflare Pages,所以无需准备服务器。

你需要:

  1. cloudflare 账号
  2. github 账号
  3. telegram 账号
  4. 科学上网环境
  5. 域名(可选)
  6. 手、大脑

实操

基础搭建

  1. fork 官方仓库
    fork 官方仓库截图 1
    fork 官方仓库截图 2
  2. 打开 CloudFlare,进入 Workers 和 Pages 页面,点击 创建应用程序
    Cloudflare Workers 和 Pages 入口截图
  3. 点击下方的 开始使用,以此来创建 Pages,点击 "导入现有 Git 存储库",选择刚才创建的 fork 仓库,之后无脑下一步。我第一次创建的时候不小心创建成了 worker,搞了半天不知道问题在哪里🤣
    导入 Git 存储库截图
  4. 接下来要获取运行必备的环境变量信息
    环境变量示例值
    TG_Bot_Token123468:AAxxxGKrn5
    TG_Chat_ID-1234567

    打开 Telegram,搜索 @BotFather,或者点开链接跳转。打开该机器人的聊天窗口,输入 /newbot,按照提示进行自定义配置。保存好最后输出的 TG_Bot_Token
    BotFather 创建 Bot 截图
    新建一个频道(Channel),公开私人都行,在频道管理中将刚才你创建的 bot 设置为管理员
    频道设置截图 1
    频道设置截图 2
    之后在该频道里随便发一条消息,并转发给 @VersaToolsBot@VersaToolsBot 输出的 频道ID 即为 TG_Chat_ID 变量值
    获取频道 ID 截图
  5. 来到 Pages 的设置页面,在 变量和密钥 里配置必备环境变量,如图。之后在 部署 页面中 重新部署 即可正常运行
    配置环境变量截图
    至此,若网络环境支持,打开自动绑定的域名(pages.dev 结尾),就能看到上传页面了
    上传页面截图

可选优化

域名&优选

由于官方提供的 pages.dev 域名在某些地区被墙,所以最好配置成自己的域名。在 自定义域 页面即可配置

自定义域名配置截图

另外,默认分配的节点速度较慢,所以需要优选 IP 进行加速。我这里采用的方法是我认为最简单的 DNS 分流解析,国内解析到优选 CNAME,国外不变。解析服务我使用的是华为云国际,其分区域解析功能是免费的

DNS 分流解析配置截图

关于优选 CNAME,我使用的是自维护的 cloudflare.liang.one。网上还有很多类似服务,如 微测网 提供的 *.cloudflare.182682.xyzNB优选*.cloudflare.19931110.xyz

可选功能配置

Telegraph-Image 项目还提供了很多 可选功能,需要通过 配置环境变量绑定相关资源 开启

可选环境变量:

环境变量示例值说明
BASIC_USERadmin后台管理页面(/admin)的登录用户名。不设置则后台无需登录。
BASIC_PASSadmin-password后台管理页面的登录密码,需要和 BASIC_USER 同时设置。
UPLOAD_BASIC_USERuploader上传入口的 Basic Auth 用户名。不设置则保持公开上传。
UPLOAD_BASIC_PASSstrong-password上传入口的 Basic Auth 密码,需要和 UPLOAD_BASIC_USER 同时设置。
ENABLE_SHORT_URLStrue开启后(需绑定 KV)上传将返回形如 /file/AbC123 的短链接,原有长链接依然有效。
SHORT_URL_LENGTH6短链接 ID 长度(4-16,默认 6),仅在开启短链接时生效。
MODERATION_PROVIDERcloudflare-ai图片审查服务:cloudflare-ai(Workers AI,推荐)、moderatecontent(旧版)或 none。不设置时自动检测:有 ModerateContentApiKey 用 moderatecontent,有 AI 绑定用 Workers AI。
MODERATION_AI_MODEL@cf/meta/llama-3.2-11b-vision-instructcloudflare-ai 审查所使用的 Workers AI 模型。不设置时按内置的现役视觉模型降级链依次尝试,Cloudflare 下线某个模型时会自动降级而不是失效。
CF_ACCOUNT_ID / CF_API_TOKENabc123 / token可选,两者同时设置即开启实时模型发现:审查模型链改为从 Cloudflare 的现役模型目录实时构建(结果在 KV 中缓存 6 小时),已下线的模型自动剔除、新上线的视觉模型自动加入。Token 只需要 "Workers AI: Read" 一项权限。
ModerateContentApiKeyabc123旧版图片审查,值为 moderatecontent.com 的 API key。该服务已停止新用户注册,新部署请改用 Workers AI。
ALLOWED_REFERERSmyblog.com,*.example.com防盗链:允许引用你文件的域名白名单(逗号分隔)。不设置则不限制;空 Referer(直接访问、API 客户端)和你自己的域名始终放行。
STORAGE_PROVIDERtelegram上传文件的存储后端:telegram(默认)或 r2(需绑定 img_r2)。每个文件都会记住自己存在哪里,切换后旧文件依然可以正常加载。
SITE_NAMEMy Images首页顶部显示的站点名称(通过 GET /api/config 下发给前端)。
SITE_TITLEMy Images | Home首页的浏览器标签页标题。
SITE_BACKGROUNDhttps://.../bg.jpg首页背景图 URL。
HIDE_ADMIN_ENTRYtrue隐藏首页上的后台入口链接(/admin 页面本身仍可访问)。
WhiteList_Modetrue白名单模式:只有加入白名单的图片才能被加载。
disable_telemetrytrue退出远端遥测。

绑定(设置->函数):

类型变量名称说明
KV 命名空间img_url绑定一个提前创建好的 KV 命名空间,即可开启后台图片管理;短链接功能也依赖此绑定
R2 存储桶img_r2绑定一个提前创建好的 R2 存储桶,配合 STORAGE_PROVIDER=r2 使用
Workers AIAI绑定 Workers AI 即可启用内置图片审查

我拿后台管理举例,后台管理功能需要绑定 KV,所以先在 Cloudflare 中创建 KV。然后在 Pages 的设置页面中,点击添加 绑定。变量名称填入 img_url。绑定好 KV 后,再添加管理员账号密码相关环境变量 BASIC_USERBASIC_PASS,之后重新部署即可开启需要身份验证的后台功能。

创建 KV 命名空间截图

添加绑定截图

配置环境变量截图 2

后台管理页面截图

结尾

更多信息请查看官方仓库 Telegraph-Image

cloudflare 大善人、telegram 大善人

本地部署MiniMax H3和MiniMax Music 3:零成本生成视频与音乐!
R3S旁路由网络环境配置:使用OpenClahs轻松解决DNS泄露

评论区

评论加载中...