完全免费,图文教程使用cloudflare搭建一个无限空间的私人图床!

完全免费,图文教程使用cloudflare搭建一个无限空间的私人图床!
Wang Run关于本项目
注意!!!如果你之前部署过此项目,现在一定要更新一下最新版本,新版本作者修复了部分问题。
非常感谢作者能够回复并解决我提出的需求
新版本新增页脚自定义传送门;管理端新增一键下载与全选功能
项目仓库(点击跳转)
前端仓库(点击跳转)
作者博客(点击跳转)
我参考的教程(点击跳转)
我的图床最终效果(点击跳转)
图床速度体验(点击跳转) 看看加载图片的速度能不能瞒住你的需求
本项目是 Telegraph-Image 的重制版
在找到这个图床项目以前,之前也使用的类似的免费图床。之前的项目应该是基于cloudflare,把图片存储到cloudflare上面,现在那个项目已经无法上传了,但是已经上传的图片还是可以正常使用
这个项目的逻辑(本人小白下面是我的理解不知道对不对)
- telegraph 由 telegram 推出的匿名图片托管平台,图片存储在telegram(就是我们平时说的电报)的服务器
- 在电报建立一个频道(可以理解是一个群),然后将图片发送到群里,通过一个电报的机器人获取图片的链接。所以可以到这个频道看到上传的所有图片
- 玩过电报的都应该知道,电报的服务器在国外,国内无法访问。所以就需要cloudflare的cdn服务来进行访问。
这个项目为你提供了一个不限容量不限数量的图床 + cdn 服务
图片存储在 telegram 的服务器上 cloudflare 提供全球 cdn 服务
基于 cloudflare pages 完全免费(现在 page 不限制额度了 和 worker 分开了)
支持图片审查 API,可自动屏蔽不良图片(我不会这个变量,或者说我没有这个需求所以无所谓了)
可以自定义域名(如果没有域名可以使用cloudflare分配的 *.page.dev 我看网上说这个域名被墙了,在我地区测试是没有问题)
最好还是绑定一个自己的域名(这样更加适合装逼)
实操部署
部署此项目首先需要拥有
小白教程,记录我自己的部署过程。大佬应该不会看到我的教程哈哈
GitHub 账号(点击跳转)
cloudflare 账号(点击跳转)
Telegram 账号(点击跳转)
关于账号的注册自己网上搜索,我默认已经完成三个账号的注册。
Telegram 配置
注册 telegram 后 包点此安装官方简体中文语言包点击Apply Language安装中文包。手机版本可能更加好操作(因为telegram默认是英文版本,本人英文基本靠翻译)
在电报需要获取TG_BOT_TOKEN和TG_CHAT_ID这两个值 后续使用(必须的!!)
- 获取TG_BOT_TOKEN
- 搜索 “@BotFather” 注意看文字和图标不要点错了!我开始就在这一步翻车了!
点击开始
a发送/newbot 新建机器人
b.给机器人起一个名字我这里用的imgbed(自己喜欢都可以的)
c.给机器人起一个用户名结尾必须是_bot(我这里第一次使用imgbed_bot就提示重复了,就需要换一个名字imgbedrun_bot这个也是你自己喜欢)这个名字我觉得无所谓的后期基本不会使用的
Use this token to access the HTTP API:下面这一串就是TG_BOT_TOKEN等一下需要使用
- 新增频道增加机器人获取 TG_CHAT_ID(频道 ID)
- 在 telegram 中 打开左侧的菜单(三道杠) 打开新建频道 注意是频道不是群组 名字根据自己喜欢来 我这里就叫在imgbed 然后跳过
- 进入创建的imgbed频道,点击三个点管理频道
3.菜单中点击 “添加管理员”将刚才创建的机器人也设为管理员(注意搜索 @刚才设置的用户名 前面设置的机器人用户名是@imgbedrun_bot别填加错了 你填写你自己的哈 不要写我的哈)然后保存默认权限保存
4.搜索@VersaToolsBot点击开始
5.回到建立的频道imgbed 随便发一条消息然后转发这条消息给@VersaToolsBot
点击 发送
回到 VersaToolsBot机器人界面找到频道的ID
注意频道ID”-1002430……”前面的-也要一起复制
保留好TG_BOT_TOKEN和TG_CHAT_ID
github配置
首先打开该项目仓库(点击跳转)点击 “Fork”(如果你认可此项目 可以点击旁边的 starts 以支持作者)
此页面不用动任何设置 点击 “Create fork”
注意!!!如果你之前部署过此项目,现在一定要更新一下最新版本
cloudflare 配置
- cloudflare部署Pages项目
cloudflare 登录你的账号并打开仪表盘 点击侧边栏中的 “Workers 和 Pages”点击上方的 “创建”
选到 Pages 一栏,点击 连接到 Git
在打开的第一个页面 点击 “连接到 GitHub” 随后会跳转到 GitHub 进行授权 选到 “All repositories”(默认即可)完成授权后会回到 cloudflare 的选择存储库的界面(如下图),选择刚才 fork 的仓库后点击 “开始设置”
直接保持并部署即可(如果没有域名想要用pages.dev自带的这个域名,项目名称这里可以修改一下自己喜欢的名字 我这里就修改为imgbed (自动分配的域名就是 imgbed-enm.pages.dev)
出现下图即部署完成,点击 “继续处理项目”
点击 “自定义域” 添加一个你自己的域名(我只会托管到 cf 中的域名。没有托管cf域名网上有教程好像比较麻烦我也不会)
我这里就用img作为二级域名来访问,如果托管cf的直接就好了
- 绑定KV数据库(其实我不明白这一步的用途,以前的项目创建这个KV空间库用来储存图片,这个我不明白了,不管了反正跟着教程抄就完了)
点击左侧栏中的 KV(在 Workers 和 Pages 菜单下)点击 创建命名空间 名称为 imgbed 点击 添加
完成添加后 回到 pages 的界面 imgbed项目 点击 设置 后点击 变量与机密
点击 绑定 添加
变量名称 填写 img_url(这里的变量名称必须是img_url不可以自己乱写) KV 命名空间 选择刚才
创建的 KV imgbed 完成后点击保存
添加 环境变量
常用用环境变量可以添加 如下表(全部变量参考项目说明)
变量名称 用途 推荐说明 TG_CHAT_ID telegram 频道 ID 必须 TG_BOT_TOKEN telegram 机器人 token 必须 BASIC_USER 后台管理员用户名 登录后台管理查看图片 BASIC_PASS 后台管理密码 AUTH_CODE 前台的认证码 只要有这些变量就可以正常使用了 图片审查 api 访问域名限制这些我用不到就没有去设置了
然后重新部署(所有关于环境变量和 kv 绑定的修改都要重新部署一遍)
选到 部署 一栏 最新的部署(就是最上面的那一个),鼠标点击在右侧三个点 在弹出的菜单中选择 重新部署
重新部署后,打开自己绑定的域名或者cf给的域名打开网页,随便上传一张图片测试一下
上传成功的同时电报频道也会收到消息,可以将频道改为免打扰。复制一下图片的URL测试一下访问速度。
添加 美化变量
页面自定义DIY环境变量增加USER_CONFIG,JSON格式,具体字段用途及内容规范见下表。
字段名 | 用途 | 类型 | 内容规范 |
---|---|---|---|
loginBkImg | 自定义登录页面背景 | 列表/字符串 | 1、当字段类型为列表时,列表中元素为需要添加到轮播列表中的图片链接(列表中只有一张图时即为固定背景),形如[“1.jpg”,”2.jpg”]2、当字段类型为字符串时,目前仅支持字符串值为bing,设置为该值时启用bing随机图片轮播模式。 |
uploadBkImg | 自定义上传页面背景 | 列表/字符串 | 同上 |
bkInterval | 轮播背景切换时间间隔 | 正整数 | 设置为背景图的轮播时间,默认3000,单位ms。例如你希望10s切换一次,设置为10000即可。 |
bkOpacity | 背景图透明度 | (0,1]的浮点数 | 展示的背景图透明度,默认为1。如果你觉得显示效果不佳,可以自定义,如0.8 |
ownerName | 页内图床名称 | 字符串 | 只支持字符串类型,设置为你自定义的图床名称(默认为Sanyue) |
logoUrl | 页内图床Logo | 字符串 | 只支持字符串类型,设置为你自定义的图床Logo链接 |
siteTitle | 网站标题 | 字符串 | 只支持字符串类型,设置为你自定义的网站标题 |
siteIcon | 网站图标 | 字符串 | 只支持字符串类型,设置为你自定义的网站图标链接 |
下面是我用的,可以更具需要自己进行复制修改
1 | { |
自定义登录页面背景我改了没有反应不知道哪里错了
我遇到的问题
-
- 上传透明背景图片PNG背景变成白色。目前作者已经更新压缩设置按钮可以进行开启或者关闭
目前图片压缩设置项分为客户端压缩和服务端压缩两项,前者仅支持在web端上传时使用。
以下是对该设置的几点说明:
1.本设置仅针对图片文件,单位为MB
2.客户端压缩指上传前压缩,服务端压缩指Telegram端压缩
3.若图片大小>10MB,或压缩后图片大小>10MB,服务端压缩将自动失效
4.若图片大小>20MB,将自动进行客户端压缩
5.若想要存储的图片和原图完全一致,可以将两个压缩设置均设置为关闭
6.若上传分辨率过大图片,或透明背景图片,建议关闭服务端压缩,否则可能出现上传失败、背景变白等问题
- 上传透明背景图片PNG背景变成白色。目前作者已经更新压缩设置按钮可以进行开启或者关闭
- 2.点击头像和名字跳转的的作者的github仓库地址,希望可以加入变量进行修改。这里没有不尊重原作者的意思
- 3.底部的Designed by SanyueQi for You!(叁月柒设计)跳转的作者博客。希望可以在底部右边在加一个按钮来进行自定义跳转,比如跳转回我的博客。这里没有不尊重原作者的意思
- 4.佬能加个添加文件夹功能,方便管理图片