标签: R2 图床

  • CloudFlare-ImgBed – 完全免费的无服务器私有图床方案,基于 Cloudflare Pages 和 Telegram

    CloudFlare-ImgBed – 完全免费的无服务器私有图床方案,基于 Cloudflare Pages 和 Telegram

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

    一、简介

    免费图片托管解决方案(支持存储绝大多数常见格式的图片、视频、动图等),具有后台管理、图片审查登录鉴权页面自定义多种方式及多文件上传多文件及多格式链接复制等功能(详见第2章)。

    此外,拖拽上传的方式并没有严格限制文件类型,理论上你可以上传任何文件,但是暂时不会针对图片和视频外的文件进行特殊优化和适配。

    CloudFlare-ImgBed – 完全免费的无服务器私有图床方案,基于 Cloudflare Pages 和 Telegram

    二、主要特征

    • 开源
      • 前端开源(可自行修改、打包使用)
    • 炫酷的动效(
      • 流畅丝滑的过渡动画~
      • 上传文件实现呼吸灯效果
    • 人性化上传
      • 支持绝大多数常见图片、视频、动图
      • 支持 Telegram BotCloudflare R2 等多种存储渠道一键切换Telegram Bot渠道:上传文件大小限制为20MB,提供客户端和服务端压缩功能Cloudflare R2渠道:上传大小不限,但超过免费额度会扣费,详见Pricing | Cloudflare R2 docs
      • 支持多种上传方式(拖拽点击、粘贴
      • 粘贴上传支持文件URL
      • 支持批量上传(不限同时选择文件数量,但为了保证稳定性,同时处于上传状态的文件最多为10个)
      • 上传显示实时上传进度
      • 上传后图片无需手动点击,可直接展示在管理页面中
      • 过大图片在前端进行压缩,提升上传稳定性和加载性能
      • 支持自定义压缩质量,自定义开启前后端压缩功能
    • 多样化复制
      • 支持整体复制单独复制(整体复制即将所有链接通过换行串联起来后复制)
      • 支持MarkDown、HTML、BBCode和原始链接四种格式复制
      • 上传完成后直观展示四种格式链接
    • 支持身份认证、防滥用
      • 支持Web和API上传认证(感谢hl128k
      • 支持访问域名限制(感谢hl128k
      • 支持上传IP统计
    • 支持页面自定义
      • 页面背景支持单图自定义多图轮播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后出现的Token
    • TG_CHAT_ID – 创建好TG channel后,转发任意一条消息到@VersaToolsBot 后返回的群聊Channel ID
    • AUTH_CODE – 添加一个访问验证码
    • ALLOWED_DOMAINS – 添加访问域名限制
    • WhiteList_Mode – 白名单模式, 设置为true即可开启白名单模式,仅设置为白名单的图片可被访问。
    • disable_telemetry – 便于开发者进行bug的捕捉和定位,但是过程中可能收集到访问链接、域名等信息,如您不愿意泄露类似信息给项目开发者,可在环境变量中添加disable_telemetrytrue来退出遥测。
    • 设置AllowRandom环境变量,值为true, 开启随即图API,网址后缀+/random

    1、页面自定义(DIY接口),【这个没搞懂,有知道的留言告诉我一下】

    类型写text就好了,这个json格式我也没搞懂,写正常json一直报错 – 作者

    环境变量增加USER_CONFIGJSON格式 选择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页脚传送门链接字符串只支持字符串类型,设置为你自定义的传送地址(如个人博客链接)