telegraph-Image:搭建你的专属开源图床
telegraph-Image:搭建你的专属开源图床
胜天半子telegraph-Image:搭建你的专属开源图床
点击标题即可打开Github源项目链接
Demo
账号:blog123
密码:blog123
介绍
图床是一个在互联网上储存图片的空间,图床的人通常都是一些在网上分享博客的人,使用图床的人通常采用Markdown的方式去编辑文字。目前有许多获得图床的途径非常多,通常分为收费的和免费的。
该文章讲述通过 Telegraph-Image 与赛博菩萨Cloudflare提供的 Pages、D1等,搭建一个专属于你自己的开源图床!
优点
- 无限图片储存数量,你可以上传不限数量的图片,but,单张图片不能超过5MB
- 无需服务器,托管于Cloudflare的网络上,当使用量不超过Cloudflare的免费额度时,完全免费
- 无需域名,可以使用Cloudflare Pages提供的*.pages.dev的免费二级域名,同时也支持绑定自定义域名
- 支持图片审查API,可根据需要开启,开启后不良图片将自动屏蔽,不再加载
- 支持后台管理,日志管理,查看访问前20的Referer、IP、img,可以对上传的图片进行在线预览,添加白名单,黑名单等操作
让我们开始学习如何部署叭!!!
部署教程
- Pages部署telegraph-Image项目
打开telegraph-Image项目仓库,先给作者点击
Star后再点击Fork!可以增加成功率哦!!!手动狗头🤭回到 Workers 和 Pages > 概述 > 创建 > Pages > 连接到Git > 选择
telegraph-Image项目 > 在Set up builds and deployments部分中,Framework preset(框架)选Next.js,保存并部署即可

- 绑定自定义域
这里推荐优先使用已经转入CF的域名,并开启小黄云。如果你没有域名,也可以退而求其次使用CNAME方式使用免费域名接入自定义域
回到 Workers和Pages/
telegraph-Image项目 > 设置 > 函数 > 放置 > 制作 > 智能 > 保存
- 创建管理后台
3.1 回到 Workers 和 Pages > D1 > 创建数据库 > 仪表盘 > 数据库名称为
img(名称可取任意值,建议为img) > 创建3.2 进入
img数据库 > 控制台 > 粘贴以下代码后 > 点击执行 > 等待提示此查询已成功执行。
1 | DROP TABLE IF EXISTS tgimglog; |
3.3 配置
Cloudflare R2,前往后台依次点击设置>函数>R2 存储桶绑定>编辑绑定>变量名称填写:IMGRS命名空间 选择你提前创建好的R2 存储桶绑定3.4 回到 Workers 和 Pages /
telegraph-Image项目 > 设置 > 函数 > D1 数据库绑定 > 变量名IMG>img数据库 > 点击保存3.5 回到 Workers 和 Pages /
telegraph-Image项目 > 设置 > 环境变量 > 为生产环境定义变量 > 变量内容如下:变量名
BASIC_USER,值为你的后台管理员用户名变量名
BASIC_PASS,值为你的后台管理员密码无需审查违规内容可跳过这一步
- 打开ModerateContent API申请页面,输入你的邮箱后点击SUBMIT
- 前往你的邮箱将 ModerateContent.com Sup 邮件内的 API Key 复制出来
- 变量名
ModerateContentApiKey,值为你的 API Key
3.6 设置兼容性标志,前往后台依次点击设置>函数>兼容性标志>配置生产兼容性标志 填写
nodejs_compat

- 3.7 回到 Workers 和 Pages /
telegraph-Image项目 > 部署 > 点击右下角省略号 > 重试部署即可
How To Use
例如:你的 Pages自定义域 为img.123456.com
https://img.123456.com为 图床上传使用地址https://img.123456.com/admin为 图床后台管理地址https://123456.com/list为 图床访问日志
变量说明
环境变量
| 变量名称 | 值 |
|---|---|
| PROXYALLIMG | 反向代理所有图片(默认为false) |
| BASIC_USER | <后台管理页面登录用户名称> |
| BASIC_PASS | <后台管理页面登录用户密码> |
| ModerateContentApiKey | <审查图像内容的API key> |
| RATINGAPI | <自建的鉴黄api > |
| CUSTOM_DOMAIN | https://your-custom-domain.com (自定义加速域名) |
| TG_BOT_TOKEN (必需) | 123468:AAxxxGKrn5 (从 @BotFather) |
| TG_CHAT_ID (必需) | -1234567 (频道的ID,TG Bot要是该频道或群组的管理员) |
ModerateContentApiKey请前往 [https://moderatecontent.com/] (https://moderatecontent.com/)注册免费获取API key
TG_BOT_TOKEN
Telegram的TG_BOT_TOKEN和TG_CHAT_ID
首先需要拥有一个Telegram账户,然后按照以下步骤获取TG_BOT_TOKEN和TG_CHAT_ID。
- 向@BotFather发送
/newbot,按照提示输入bot的备注、用户名等信息。成功创建后获得TG_BOT_TOKEN。

- 创建一个新的频道(Channel),进入新建的频道,选择频道管理,将刚才创建的机器人设为频道管理员。
获取ID机器人 @VersaToolsBot
TG_CHAT_ID为目标对话的唯一标ID或目标频道的用户名(eg: @channelusername),当目标对话为个人或私有频道是只能是ID,当为公开频道或群组是可以为目标频道的用户名(eg:@channelusername)


- 向@VersaToolsBot发消息,按步骤操作获取
TG_CHAT_ID(频道ID)

