CF图床

发布于 2025-02-22  76 次阅读


https://github.com/0-RTT/telegraph

新版完全基于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
DATABASED1 数据库绑定变量名称DATABASE
USERNAME管理员用户名admin
PASSWORD管理员密码password123
ADMIN_PATH管理后台路径admin
ENABLE_AUTH访客验证(设置为 true 开启,不设置或设置为 false 则关闭)false
R2_BUCKETR2 存储桶名称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. 点击 部署

有需要的自行部署!


我看谁还便秘