使用Cloudflare R2迁移你的博客图片
1. 前言
最近玩上了Cloudflare(下面统称CF),总算是把之前阿里oss的所有博客图片都迁移到CF的R2,免费的40G存储空间,而且不限出口流量费,CF他真的,我哭死。
所以这篇文章主要讲的是怎么使用CF的R2,和把你之前写的博客.md文件中的所有图片通过java迁移到cloudflare中。
2. 准备你的CF R2
这个环节你需要准备
- 一张信用卡或者paypal,虽然CF的免费额度你几乎用不完,但是在开通的时候还是需要一张信用卡的绑定,而且需要至少有1美元的额度,CF会预扣款校验信用卡能不能用,另外国内的信用卡也是可以的。
- 一个域名,在其他云服务厂商购买的都行
2.1 登录官网进行注册:https://www.cloudflare.com/
注册完成之后,选择右上角的添加站点,把你的域名填入进去
接着下一步、下一步,CF会自动扫描域名原有的DNS记录并记录,然后到DNS域名解析的时候,你需要在原有的购买域名的云服务厂商那配置DNS服务器为CF指定的。
2.2 百度云的在域名服务中的,域名信息里面可以更改
2.3 GoDaddy的则是在域名服务器中设置
设置好之后,等待10来分钟,CF会自动检测你的域名服务器配置是否已经生效,生效后会邮件通知你。
2.4 开通R2
选择R2,然后绑定你的信用卡或者Paypal,他们的付款服务比较慢,甚至页面可能会抛错,需要耐心等待一下。而且绑定的时候最好不要挂梯子,小心信用卡的CRC泄漏。
之后你会收到一个预付款的扣费,验证信用卡后,这笔钱会在之后退回给你的。
3. 配置R2
新建个bucket存储桶,填个名字创建。
接着转到设置那里,点击连接域,写你的域名的子域名,比如我的博客主站是runnable.run,那么我希望图片的域名则是img.runnable.run
,如果上面你的域名DNS在CF中已经校验过了,就会自动给你配置好DNS。
连接域成功后,会显示如下图所示
4. 把你博客中的图片都上传到CF
这里有两种方案,
一种你手动上传,通过网页或者是picgo, picgo中可以选择CF作为上传的源,上传界面如图
具体的使用说明可以参考这篇博客:cloudflare认识3(Typora结合picgo直接上传图片到CF)
我嫌弃这种方式太慢了,毕竟之前写了200多篇博客,所以干脆用java写了个项目,批量上传了。
4.1 通过Java上传你博客中的图片到R2
这里使用springboot随便创建了一个,已经提交在github:upload-blog-pic
支持以下功能:
- 下载.md文件中的图片,并上传到CF,并生成新的.md文件
- 替换
![xxx]()
中的xxx内容为“”
4.2 创建CF令牌
在使用这个之前,你需要在CF中创建一个令牌
这些信息你需要先记录下来,等等会用到。而且关闭之后不会再显示在CF中,记得先做保存。
4.3 运行项目
项目拉取下来之后,创建一个文件夹,放入你的.md
文件。
接着在代码中进行配置
例如:
执行时打印日志如下:
新生成的.md文件以re-
开头