全新的Telegraph图床

admin
2024-08-30 / 0 评论 / 29 阅读 / 正在检测是否收录...

介绍

基于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、 数据库初始化


数据库初始化命令

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

3、创建Worker程序


image.png

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


如果需要加速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调用10001000
命名空间100100
存储/帐户1 GB无限
存储/命名空间1 GB无限
键/命名空间无限无限
键大小512 bytes512 bytes
键元数据1024 bytes1024 bytes
值大小25 MiB25 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优选的经验和方法

0

评论

博主关闭了所有页面的评论