零成本、完全免费搭建私人图床(一)
前言
Tech智汇君最近根据网上教程搭建了一个私人图床,个人感觉还不错给大家分享一下。整个搭建过程完全免费、零成本、技术要求不高小白也可拥有。
该图床的数据是存储在CloudFlare R2对象存储里的,也可以选择将文件存到Telegram Channel里,整个项目部署在Cloudflare上,拥有前端页面方便资源上传、查看和管理。个人可以再配合PicGo图床工具进一步提高使用效率。
基本知识
图床
图床是一种图片存储、提供链接分享使用的服务。
常见付费的有腾讯云COS、阿里云OSS等。免费的有使用github+CDN、七牛云、CloudFlare R2等。
PicGo
PicGo是一款支持多平台的图床工具,可以方便资源上传和链接获取。资源上传方式支持:拖拽、点击浏览选择、剪贴板、URL、右键等。返回链接格式持:Markdown、Html、URL等。
Markdown
markdown是一种轻量级标记语言,文档格式为**.md**。与熟知的Word鼠标点击所见即所得式排版不同,编辑者可以专注于文章内容的书写,只用简单的「标记语法」实现文章的样式排版。
例如Tech智汇君用Typora(一款markdown编辑器)配合前面提到的PicGo轻松在文章中实现图片的上传和使用,完成博客内容的编写。
项目搭建
你需要准备一个GitHub账号,CloudFlare账号,Telegram账号(可选)
GitHub方面
在GitHub登录后搜索CloudFlare-ImgBed:
点击后Fork此项目:
存储配置
下面的两种方式可以只选其一,用的时候只用创建的存储方案就行了,或者都选择也行。因为Tech智汇君觉得Telegram channel方式也不一定稳定,而且两边都存储文件管理起来挺麻烦的,所以我实际也只在R2上存储了
创建Cloudflare r2存储桶
Cloudflare注册登录后,点击R2对象存储创建存储桶:
存储桶名字随意img、默认存储类选择标准:
创建Telegram Bot(可选)
创建登录账户后,搜索@BotFather->发送指令/newbot->根据提示设置机器人名字信息,可以随便设置->得到TG_BOT_TOKEN
主页点击右下角的笔->new channel->manage channel->administrators
将前面创建的机器人设置为管理并开启相应权限:
随便在新建的channel里发送一条消息,并将消息转发@VersaToolsBot获取TG_CHAT_ID(频道ID):
将项目部署在Cloudflare上
点击Works和Pages->Pages->连接到Git:
点击下面的直接上传资产也可以,将前面Fork的项目压缩包直接上传~
这里我们选择链接到Git后,添加GitHub账户,选择Fork的项目:
保持默认设置,点击部署:
配置Telegram 渠道(可选)
部署完成后创建变量TG_BOT_TOKEN和TG_CHAT_ID
点进刚才部署的项目里,设置->变量和机密->添加->类型:文本->值就是上面获取的对应值:
Cloudflare R2 渠道
设置->绑定->添加->R2存储桶->名称:img_r2->选择刚才创建的存储桶
创建KV数据库点击KV->创建->名称随便->添加
点击Works和Pages->点击项目cloudflare-imgbed->设置->绑定->添加->KV命名空间->名称:img_url->选择创建的KV
绑定KV和前面绑定R2桶一样的步骤:
前端页面管理员密码
和前面创建TG_BOT_TOKEN和TG_CHAT_ID变量一样,创建管理员名和密码:BASIC_USER和BASIC_PASS
其它配置(可选)
图片审查、Web和API上传认证、访问域名限制、白名单、页面自定义、缓存等~
可自行按照官方文档进行配置~
部署
所有的配置项配置好然后部署就可以使用了~
每次修改相关设置后都需要重新部署~
使用
前端管理页面
部署成功后,项目的右侧有一个访问按钮,点击后可以直接使用前端页面管理资源:
使用PicGo
也可以搭配PicGo一起使用,安装PicGo后,在插件设置里搜索安装web-uploader-custom-url:
接下来配置:
名称:随意
Api地址:没有用自己的域名绑定项目的话,使用Cloudflare默认为你项目分配的就可以了,长这个样子**https://xxx.pages.dev**,再加上**/upload**
Post参数名:file
Json路径:0.src
自定义请求头:{"serverCompress":"true","uploadChannel":"cfr2"} 重点看官方文档API就可以了
自定义图片前缀:https://xxx.pages.dev
免费域名这里没有提,后续会发布相关教程,如果有需要的可以关注一下~
在Typora中设置好PicGo,就可以愉快的编写内容了:
重要提醒
如果你对相关内容感兴趣,建议关注我的公众号[Tech智汇站],公众号保持常更!
如果这篇文章对你有帮助请:点点赞、点分享、点在看、点收藏 谢谢啦~💕
不积跬步,无以至千里;不积小流,无以成江海。 骐骥一跃,不能十步;驽马十驾,功在不舍。
-END-