作者地址
https://github.com/0-RTT/telegraph
基于 Cloudflare Worker 和 Pages 以及TG_BOT的图床/视频床/文件床服务
亮点
可选的访客验证功能
可选的图片压缩功能(默认开启)
可选的文件大小限制(默认20MB)
支持查看本地历史记录
支持所有文件格式上传
支持多文件上传和粘贴上传
支持批量操作和显示上传时间
Cloudflare Cache API 缓存支持
基于 Telegram Bot API 的文件存储
| 变量名 | 说明 | 必填 | 示例 |
|---|---|---|---|
| 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 or ture |
| MAX_SIZE_MB | 单文件最大支持大小(单位:MB,默认值为 20) | 否 | 20 |
2. 创建 Telegram Bot
- 在 Telegram 中找到 @BotFather
- 发送
/newbot命令创建新机器人 - 按照提示设置机器人名和用户名
- 保存获得的 Bot Token (格式为
123456789:ABCdefGHIjklMNOpqrsTUVwxyz)- 这个 Token 将用作环境变量
TG_BOT_TOKEN - 获取个人tgid @Get_myidrobot
- 这个 Token 将用作环境变量
3 创建 D1 数据库
登录 Cloudflare Dashboard
进入 Workers & Pages → D1 SQL 数据库
点击 创建 创建数据库
数据库名称可自定义,例如images
建议选择数据库位置为 亚太地区,可以获得更好的访问速度
创建数据表:
点击数据库名称进入详情页
选择 控制台 标签
执行下 SQL 语句:
CREATE TABLE media ( url TEXT PRIMARY KEY, fileId TEXT NOT NULL );
4. 创建 Worker
进入 Workers & Pages
点击 创建
选择 创建 Worker
为 Worker 设置一个名称
点击 部署 创建 Worker
点击继续处理项目
5. 配置变量和机密
在 Worker 的 设置 → 变量和机密 中
根据需要逐个点击 添加 添加以下变量
DOMAIN
TG_BOT_TOKEN
TG_CHAT_ID
USERNAME
PASSWORD
ADMIN_PATH
ENABLE_AUTH(可选)
MAX_SIZE_MB(可选)
点击 部署
6. 绑定数据库
在 Worker 设置页面找到 设置 → 绑定
点击 添加 添加以下变量名称
DATABASE
点击 部署
7. 绑定域名
在 Worker 的 设置 → 域和路由
点击 添加 → 自定义域
输入你在Cloudflare绑定的域名
点击 添加域
等待域名生效
8. 部署代码
进入你的worker项目 → 点击编辑代码
将 _worker.js 的完整代码复制粘贴到编辑器中
https://github.com/0-RTT/telegraph/blob/main/_worker.js
点击 部署


E: Sub-process /usr/bin/dpkg returned an error code (1)