全新的Telegraph图床

介绍

基于Cloudflare Workers的Telegraph图床目前提供D1和KV两个版本,二者的主要区别在于存储位置
D1版本使用Cloudflare D1数据库进行存储,访问后台管理更流畅
KV版本则使用Cloudflare KV空间,数据多的情况下,加载后台页面需要的时间长一点

源码:https://github.com/0-RTT/telegraph
成品:https://545040.xyz/(使用D1数据库进行部署)

效果图

image.png

image.png

功能

  • 支持上传大于5MB的图片。
  • 在图床界面中可以直接粘贴上传。
  • 选择图片后会自动上传,使用方便。
  • 管理界面支持查看和播放MP4文件。
  • 显示上传时间,并支持按上传时间排序。
  • 支持修改后台路径为 /admin,可在代码的第二行进行调整。
  • 图片管理功能可通过访问域名 /admin 实现,且图片支持懒加载。
  • 仅允许代理自己上传的图片,无法访问通过其他TG图床上传的链接。
  • 支持JPEG、JPG、PNG、GIF和MP4格式,GIF和MP4的大小需≤5MB。
  • 支持URL、BBCode和Markdown格式,点击对应按钮可自动复制相应格式的链接。
  • 选择图片后会自动压缩,以节省Cloudflare和Telegraph的存储空间,同时加快上传速度。
  • 对于需要自定义UI的用户,可以自行修改HTML代码,在修改html代码时能够保留项目开源地址

D1版本部署

D1数据库限制

类别 限制
数据库数量 50,000 (付费用户) beta / 10 (免费用户)
最大数据库大小 2 GB (付费用户) beta / 500 MB (免费用户)
每个帐户的最大存储空间 50 GB (付费用户) beta / 5 GB (免费用户)
Time Travel 间隔时间 (时间点恢复) 30 days (付费用户) / 7 days (免费用户)
最大 Time Travel 还原操作数 每 10 分钟 10 次还原(每个数据库)
每个工作线程调用的查询数(读取子请求限制) 50 (Bundled) / 1000 (Unbound)
每个表的最大列数 100
每个表的最大行数 无限制(不包括每个数据库的存储限制)
最大字符串或 BLOB 表行大小 1,000,000 bytes (1 MB)
最大 SQL 语句长度 100,000 bytes (100 KB)
每个查询的最大绑定参数数 100
每个 SQL 函数的最大参数数 32
LIKEGLOB 模式中的最大字符数(字节) 50 bytes
每个工作线程脚本的最大绑定数 约5,000 人

图片教程

1、 创建D1数据库

2、 数据库初始化

图片[1]-全新的Telegraph图床-解忧小铺
数据库初始化命令

CREATE TABLE media (
    key TEXT PRIMARY KEY,
    timestamp INTEGER NOT NULL,
    url TEXT NOT NULL
);

3、创建Worker程序

图片[2]-全新的Telegraph图床-解忧小铺

image.png

4、设置自定义域名或路由设置优选域名

图片[3]-全新的Telegraph图床-解忧小铺

如果需要加速cf worker,并且域名托管在CF
只需要将自定义域的解析记录删除,然后重新添加新的cname记录到任意优选CNAME域名即可(不要勾选小云朵,选择仅DNS)
优质优选cname地址如下
https://monitor.gacjie.cn/page/cloudflare/cname.html
image.png
进入该管理域名内,左侧有个worker路由,将刚刚优选的二级域名(后面最好加/*)填入这个路由中,然后worker选择指向,选择刚刚创建的,最后手动访问一次网站即可
image.png

5、设置后台管理环境变量

环境变量设置账号USERNAME
环境变量设置密码PASSWORD

数据库绑定变量DATABASE

KV版本部署

KV限制

类别 免费用户 付费用户
每天 100,000 次读取 无限
写入不同的键 每天 1,000 次写入 无限
写入同一密钥 每秒 1 次 每秒 1 次
操作/worker调用 1000 1000
命名空间 100 100
存储/帐户 1 GB 无限
存储/命名空间 1 GB 无限
键/命名空间 无限 无限
键大小 512 bytes 512 bytes
键元数据 1024 bytes 1024 bytes
值大小 25 MiB 25 MiB

使用方法

将代码部署到 Cloudflare Worker,设置自定义域和变量(需要设置环境变量并绑定 KV 命名空间)。

步骤 1: 创建 KV 命名空间

  1. 点击 Workers 和 Pages
  2. 点击 KV
  3. 点击 创建命名空间
  4. 填写命名空间名称(可随意命名)。
  5. 点击 添加

步骤 2: 创建 Worker

  1. 点击 Workers 和 Pages
  2. 点击 创建
  3. 填写 Worker 名称(可随意命名)。
  4. 点击 部署

步骤 3: 添加自定义域

  1. 点击刚刚创建的 Worker 名称。
  2. 点击 设置
  3. 点击 触发器
  4. 点击 添加自定义域

步骤 4: 添加环境变量

  1. 点击刚刚创建的 Worker 名称。
  2. 点击 设置
  3. 点击 变量
  4. 点击 添加环境变量
  5. 填写两个环境变量:USERNAMEPASSWORD,分别对应的值为账号和密码。

步骤 5: 绑定 KV 命名空间

  1. 点击刚刚创建的 Worker 名称。
  2. 点击 设置
  3. 点击 变量
  4. 点击 KV 命名空间绑定
  5. 点击 编辑变量
  6. 填写变量名称 imgurl,并选择前面设置的 KV 命名空间。

步骤 6: 编辑 Worker 代码

  1. 点击刚刚创建的 Worker 名称。
  2. 点击 编辑代码
  3. 清除 Worker 原本的代码。
  4. 复制粘贴 worker.js 中的代码。
  5. 将代码第一行中的example.com改为你的自定义域。
  6. 点击 部署
  7. 访问自定义域名即可访问图床。

参考链接

1、利用D1数据库储存Telegraph图床链接 ,超详细的图片教程
2、分享一下我个人使用CF优选的经验和方法

THE END
喜欢就支持一下吧
点赞5 分享