CloudFlare 图床,基于 CloudFlare Pages 的免费图片托管解决方案,支持多种存储方式:主要是 Telegram Bot 和 Cloudflare R2 等,也可以自托管!
开源地址:https://github.com/MarSeventh/CloudFlare-ImgBed?tab=readme-ov-file

一、简介
免费图片托管解决方案(支持存储绝大多数常见格式的图片、视频、动图等),具有后台管理、图片审查、登录鉴权、页面自定义、多种方式及多文件上传、多文件及多格式链接复制等功能(详见第2章)。
此外,拖拽上传的方式并没有严格限制文件类型,理论上你可以上传任何文件,但是暂时不会针对图片和视频外的文件进行特殊优化和适配。

二、主要特征
- 开源
- 前端开源(可自行修改、打包使用)
- 炫酷的动效(
- 流畅丝滑的过渡动画~
- 上传文件实现呼吸灯效果
- 人性化上传
- 支持绝大多数常见图片、视频、动图等
- 支持 Telegram Bot, Cloudflare R2 等多种存储渠道一键切换Telegram Bot渠道:上传文件大小限制为20MB,提供客户端和服务端压缩功能Cloudflare R2渠道:上传大小不限,但超过免费额度会扣费,详见Pricing | Cloudflare R2 docs
- 支持多种上传方式(拖拽点击、粘贴)
- 粘贴上传支持文件和URL
- 支持批量上传(不限同时选择文件数量,但为了保证稳定性,同时处于上传状态的文件最多为10个)
- 上传显示实时上传进度
- 上传后图片无需手动点击,可直接展示在管理页面中
- 过大图片在前端进行压缩,提升上传稳定性和加载性能
- 支持自定义压缩质量,自定义开启前后端压缩功能
- 多样化复制
- 支持整体复制和单独复制(整体复制即将所有链接通过换行串联起来后复制)
- 支持MarkDown、HTML、BBCode和原始链接四种格式复制
- 上传完成后直观展示四种格式链接
- 支持身份认证、防滥用
- 支持页面自定义
- 页面背景支持单图、自定义多图轮播、bing随机图轮播等多种模式
- 自定义图床名称和Logo
- 自定义网站标题和Icon
- 一些小功能
- 支持随机图API,从图床中随机返回一张图片
- 以及原版所有特性1.无限图片储存数量,你可以上传不限数量的图片2.无需购买服务器,托管于 Cloudflare 的网络上,当使用量不超过 Cloudflare 的免费额度时,完全免费3.无需购买域名,可以使用 Cloudflare Pages 提供的
*.pages.dev
的免费二级域名,同时也支持绑定自定义域名4.支持图片审查 API,可根据需要开启,开启后不良图片将自动屏蔽,不再加载5.支持后台图片管理,可以对上传的图片进行在线预览,添加白名单,黑名单等操作
三、部署方式
原文链接介绍的部署方式非常保姆级了,看原文就好了。
四、本站部署项目时遇到的问题和解决方案。
(一)Cloudflare后台页面改版了,Worker和Page合并在一起了

(二)连接到GIT时,点击部署出错了。
点击连接时,输入账号密码后,跳转到了github的网址页面,选择项目后,无论如何部署都是失败。
需要Uninstall,再部署,如下

(三)一张环境变量的设置案例图[作者提供]

(四)一些变量的解释
- BASIC_USER – 后台设置页面的登录用户名
- BASIC_PASS – 后台设置页面的登录密码
TG_BOT_TOKEN
– 创建好TG的Bot后出现的TokenTG_CHAT_ID
– 创建好TG channel后,转发任意一条消息到@VersaToolsBot 后返回的群聊Channel ID- AUTH_CODE – 添加一个访问验证码
- ALLOWED_DOMAINS – 添加访问域名限制
- WhiteList_Mode – 白名单模式, 设置为
true
即可开启白名单模式,仅设置为白名单的图片可被访问。 - disable_telemetry – 便于开发者进行bug的捕捉和定位,但是过程中可能收集到访问链接、域名等信息,如您不愿意泄露类似信息给项目开发者,可在环境变量中添加
disable_telemetry
为true
来退出遥测。 - 设置
AllowRandom
环境变量,值为true
, 开启随即图API,网址后缀+/random
1、页面自定义(DIY接口),【这个没搞懂,有知道的留言告诉我一下】
类型写text就好了,这个json格式我也没搞懂,写正常json一直报错 – 作者
环境变量增加USER_CONFIG
,JSON格式 选择TXT格式,具体字段用途及内容规范见下表。
字段名 | 用途 | 类型 | 内容规范 |
---|---|---|---|
loginBkImg | 自定义登录页面背景 | 列表/字符串 | 1、当字段类型为列表 时,列表中元素为需要添加到轮播列表中的图片链接(列表中只有一张图时即为固定背景),形如["1.jpg","2.jpg"] 2、当字段类型为 字符串 时,目前仅支持字符串值为bing ,设置为该值时启用bing随机图片轮播模式。 |
uploadBkImg | 自定义上传页面背景 | 列表/字符串 | 同上 |
bkInterval | 轮播背景切换时间间隔 | 正整数 | 设置为背景图的轮播时间,默认3000 ,单位ms 。例如你希望10s切换一次,设置为 10000 即可。 |
bkOpacity | 背景图透明度 | (0,1]的浮点数 | 展示的背景图透明度,默认为1 。如果你觉得显示效果不佳,可以自定义,如 0.8 |
ownerName | 页内图床名称 | 字符串 | 只支持字符串 类型,设置为你自定义的图床名称(默认为Sanyue ) |
logoUrl | 页内图床Logo | 字符串 | 只支持字符串 类型,设置为你自定义的图床Logo链接 |
siteTitle | 网站标题 | 字符串 | 只支持字符串 类型,设置为你自定义的网站标题 |
siteIcon | 网站图标 | 字符串 | 只支持字符串 类型,设置为你自定义的网站图标链接 |
footerLink | 页脚传送门链接 | 字符串 | 只支持字符串 类型,设置为你自定义的传送地址(如个人博客链接) |