基于cloudflare worker的Telegraph图床部署教程

发布时间: 2024-08-17 热度: 5749

Telegraph 图床

基于 Cloudflare Workers 和 Pages 的图床服务。

功能特点

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

更新日志

最近更新: 2024-11-29

  • 管理页面:新增全选和复制功能,优化资源加载,禁用视频自动播放
  • 首页:修复粘贴上传的按钮显示问题

部署步骤

1. 环境变量说明

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

变量名 说明 必填 示例
DOMAIN 自定义域名 example.workers.dev
DATABASE D1 数据库绑定变量名称 DATABASE
TG_BOT_TOKEN Telegram Bot Token 123456789:ABCdefGHIjklMNOpqrsTUVwxyz
TG_CHAT_ID Telegram 频道/群组 ID -100xxxxxxxxxx
USERNAME 管理员用户名 admin
PASSWORD 管理员密码 password123
ADMIN_PATH 管理后台路径 admin
ENABLE_AUTH 访客验证(设置为 true 开启,不设置或设置为 false 则关闭) false

2. 创建 Telegram Bot

  1. 在 Telegram 中找到 @BotFather
  2. 发送 /newbot 命令创建新机器人
  3. 按照提示设置机器人名和用户名
  4. 保存获得的 Bot Token (格式为123456789:ABCdefGHIjklMNOpqrsTUVwxyz)
    • 这个 Token 将用作环境变量 TG_BOT_TOKEN

3. 创建 Telegram 频道或群组

  1. 创建一个新的频道或群组
  2. 将你的 Bot 添加为管理员
  3. 获取频道/群组 ID:
    • 发送频道内的任意消息给 @getidsbot
    • 在 Origin chat 下找到对应的 ID (格式为 -100xxxxxxxxxx)
    • 这个 ID 将用作环境变量 TG_CHAT_ID

4. 创建 D1 数据库

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

5. 创建 Worker

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

6. 配置环境变量

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

7. 绑定数据库

  1. 在 Worker 设置页面找到 设置 → 绑定
  2. 点击 添加
  3. 选择 D1数据库
  4. 设置变量名为 DATABASE
  5. 选择之前创建的数据库
  6. 点击 部署

8. 绑定域名

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

9. 部署代码

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

Worker 部署示例

1、初始化数据库

image

image

image

image

image

2、创建worker

image

image

3、设置自定义域名

image

image

image

image

image

4、设置变量

image

5、将_worker.js中的代码复制粘贴到编辑器中

image

image

6、点击部署即可

image

Pages部署教程:

1、初始化数据库

image

image

image

image

image

2、部署到pages

image

  • 2.1 下载_worker.js,打包成zip上传到pages

image

  • 2.2 通过fork本仓库部署到pages image image

3、设置变量

image

4、设置自定义域名。

image

image

image

5、重新部署生效刚刚配置的自定义域名和变量

image

imageimage

项目地址

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

在下方留下您的评论.加入TG群.打赏🍗