基于CloudFlare全家桶的图床/视频床,无服务器部署!

修改自我的telegraph图床项目,原项目的数据通过TG_BOT上传。

新版完全基于CloudFlare的产品,且功能和界面和先前的一样,使用非常方便!

支持worker && pages部署!使用pages部署可以fork仓库,或者下载_worker.js文件打包成压缩文件上传!

先来了解一下免费套餐的额度。

免费套餐介绍

  • 存储: 每月 10 GB
  • A类操作: 每月 100 万次请求
  • B类操作: 每月 1000 万次请求
  • 出口(数据传输到互联网): 免费

个人使用完全足够!图床默认开启压缩,可以储存更多的图片文件!
如果不需要压缩可以自行修改代码273行,将 enableCompression: true修改为 enableCompression: false即可!

功能特点

  • 查看本地历史记录
  • 可选的访客验证功能
  • 单文件最大支持 20MB
  • 支持多文件上传和粘贴上传
  • 支持批量操作和显示上传时间
  • 图片自动压缩(GIF和视频除外)
  • Cloudflare Cache API 缓存支持
  • 基于 Cloudflare R2 的文件存储
  • 支持多种链接格式(URL、BBCode、Markdown)
  • 支持常见的图片和视频格式(jpg、png、gif、mp4)

部署教程:

1. 环境变量说明

需要在 Cloudflare Workers 中配置以下环境变量:

变量名 说明 必填 示例
DOMAIN 自定义域名 example.workers.dev
DATABASE D1 数据库绑定变量名称 DATABASE
USERNAME 管理员用户名 admin
PASSWORD 管理员密码 password123
ADMIN_PATH 管理后台路径 admin
ENABLE_AUTH 访客验证(设置为 true 开启,不设置或设置为 false 则关闭) false
R2_BUCKET R2 存储桶名称 R2_BUCKET

2. 创建 R2 存储桶

  1. 登录 Cloudflare Dashboard
  2. 进入 R2对象储存创建存储桶
  3. 设置存储桶名称和区域
  4. 保存存储桶的名称以便后续使用

3. 创建 D1 数据库

  1. 登录 Cloudflare Dashboard
  2. 进入 Workers & PagesD1 SQL 数据库
  3. 点击 创建 创建数据库
    • 数据库名称可自定义,例如 images
    • 建议选择数据库位置为 亚太地区,可以获得更好的访问速度
  4. 创建数据表:
    • 点击数据库名称进入详情页
    • 选择 控制台 标签
    • 执行以下 SQL 语句:
CREATE TABLE media (
    url TEXT PRIMARY KEY
);

4. 创建 Worker

  1. 进入 Workers & Pages
  2. 点击 创建
  3. 选择 创建 Worker
  4. 为 Worker 设置一个名称
  5. 点击 部署 创建 Worker
  6. 点击继续处理项目

5. 配置环境变量

  1. 在 Worker 的 设置变量和机密
  2. 点击 添加 添加变量
  3. 点击 部署

6. 绑定数据库和 R2 储存

  1. 在 Worker 设置页面找到 设置绑定
  2. 点击 添加
  3. 选择 D1数据库
  4. 设置变量名为 DATABASE
  5. 选择之前创建的数据库
  6. 点击 部署
  7. 重复上述步骤绑定 R2 储存,变量名为 R2_BUCKET

7. 绑定域名

  1. 在 Worker 的 设置域和路由
  2. 点击 添加自定义域
  3. 输入你在 Cloudflare 绑定的域名
  4. 点击 添加域
  5. 等待域名生效

8. 部署代码

  1. 进入 Worker 的编辑页面
  2. _worker.js 的完整代码复制粘贴到编辑器中
  3. 点击 部署

9. 配置缓存

  1. 进入 Cloudflare Dashboard
  2. 进入 网站选择你的自定义域名缓存Cache Rules创建缓存规则
  3. 选择 缓存所有内容模板
  4. 设置 边缘 TTL忽略缓存控制标头,使用此 TTL30天(根据需要设置)
  5. 点击 部署

有需要的自行部署!
源码:GitHub - 0-RTT/JSimages: 基于 Cloudflare R2 储存的图床/视频床服务

101 个赞

大佬。。

1 个赞

先点个star支持一波

2 个赞

这个网站打开好快啊。

1 个赞

估计缓存了吧

1 个赞

做了Cloudflare Cache API 缓存

是第一打开你的站。CF 优选吗?

不是,没有优选。
因为缓存了,在你访问的时候,直接从cf的cdn获取内容,没有回源,速度可能会快一些。
外加现在早上,网络体验好,晚高峰的时候你打开可能就没有这么丝滑了。

太强了吧!

大佬好 请问我怎么能让这个图床也可以存储pdf,word等格式的文件呢

271行的修改为acceptTypes: '*/*',如果上传其他类型的文件,后台管理会不显示的。目前只支持图片和视频展示。

牛啊,佬

1 个赞

:bili_004:快去试试

1 个赞

好的 谢谢

后续可能会弄成文件床,后台支持显示所有文件。

太强了吧!

2 个赞

太强了,支持一下佬 :saluting_face:

这个可以配合picGo用吗,佬

我没用过这个耶

最近好像CF修改政策,准备噶号了