零成本、完全免费搭建私人图床(一)

279 阅读4分钟

零成本、完全免费搭建私人图床(一)

前言

Tech智汇君最近根据网上教程搭建了一个私人图床,个人感觉还不错给大家分享一下。整个搭建过程完全免费、零成本、技术要求不高小白也可拥有。

该图床的数据是存储在CloudFlare R2对象存储里的,也可以选择将文件存到Telegram Channel里,整个项目部署在Cloudflare上,拥有前端页面方便资源上传、查看和管理。个人可以再配合PicGo图床工具进一步提高使用效率。

请添加图片描述

基本知识

图床

图床是一种图片存储、提供链接分享使用的服务。

常见付费的有腾讯云COS、阿里云OSS等。免费的有使用github+CDN、七牛云、CloudFlare R2等。

PicGo

PicGo是一款支持多平台的图床工具,可以方便资源上传和链接获取。资源上传方式支持:拖拽、点击浏览选择、剪贴板、URL、右键等。返回链接格式持:Markdown、Html、URL等。

PicGO图标

PicGo上传区界面

Markdown

markdown是一种轻量级标记语言,文档格式为**.md**。与熟知的Word鼠标点击所见即所得式排版不同,编辑者可以专注于文章内容的书写,只用简单的「标记语法」实现文章的样式排版。

例如Tech智汇君用Typora(一款markdown编辑器)配合前面提到的PicGo轻松在文章中实现图片的上传和使用,完成博客内容的编写。

项目搭建

项目地址

你需要准备一个GitHub账号,CloudFlare账号,Telegram账号(可选)

GitHub方面

在GitHub登录后搜索CloudFlare-ImgBed

搜索项目

点击后Fork此项目:

Fork项目

存储配置

下面的两种方式可以只选其一,用的时候只用创建的存储方案就行了,或者都选择也行。因为Tech智汇君觉得Telegram channel方式也不一定稳定,而且两边都存储文件管理起来挺麻烦的,所以我实际也只在R2上存储了

创建Cloudflare r2存储桶

Cloudflare注册登录后,点击R2对象存储创建存储桶:

创建存储桶

存储桶名字随意img、默认存储类选择标准:

设置

创建Telegram Bot(可选)

创建登录账户后,搜索@BotFather->发送指令/newbot->根据提示设置机器人名字信息,可以随便设置->得到TG_BOT_TOKEN

获取TG_BOT_TOKEN

主页点击右下角的笔->new channel->manage channel->administrators

创建Channel

将前面创建的机器人设置为管理并开启相应权限:

添加机器人为管理员

随便在新建的channel里发送一条消息,并将消息转发@VersaToolsBot获取TG_CHAT_ID(频道ID):

获取TG_CHAT_ID

将项目部署在Cloudflare上

点击Works和Pages->Pages->连接到Git:

连接项目

点击下面的直接上传资产也可以,将前面Fork的项目压缩包直接上传~

这里我们选择链接到Git后,添加GitHub账户,选择Fork的项目:

配置

保持默认设置,点击部署:

部署

配置Telegram 渠道(可选)

部署完成后创建变量TG_BOT_TOKENTG_CHAT_ID

点进刚才部署的项目里,设置->变量和机密->添加->类型:文本->值就是上面获取的对应值:

设置

创建变量

Cloudflare R2 渠道

设置->绑定->添加->R2存储桶->名称:img_r2->选择刚才创建的存储桶

创建KV数据库点击KV->创建->名称随便->添加

点击Works和Pages->点击项目cloudflare-imgbed->设置->绑定->添加->KV命名空间->名称:img_url->选择创建的KV

创建kv

绑定KV和前面绑定R2桶一样的步骤:

绑定kv

前端页面管理员密码

和前面创建TG_BOT_TOKENTG_CHAT_ID变量一样,创建管理员名和密码:BASIC_USERBASIC_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-