图床解决方案:Cloudflare R2+PicGo+WebP Cloud
图床解决方案:Cloudflare R2+PicGo+WebP Cloud
东方月初此前我的图床是基于 Cloudflare + Telegraph
这两位大善人的,我本以为他们会比我的博客活得更久,因此我默认这是一个长期的解决方案,足够可靠易用,最重要的是免费。
但最近 Telegram CEO 被捕,韩国也因为审查方面的原因和 Telegram
有冲突,可能受此影响,Telegraph
的图床服务已经不能上床新的图片,旧的图片尚且可以访问,但也不知道什么时候就会完蛋。
于是我开始寻找新的图床解决方案,我的期望是可靠易用,最好免费,Cloudflare R2+PicGo+WebP Cloud
就是这样的解决方案。
本文主要参考了这篇文章,另外包括了 WebP Cloud
自定义域名 和 从 Telegraph 迁移图片到 R2 图床
的内容。
部署
您需要
- Cloudflare 账号,并绑定信用卡(开启 R2 的必要条件)
- 一个域名(非必须)
接下来让我们开始吧…
1. 启用 Cloudflare R2
- 打开 Cloudflare 控制台,选择
R2
,在这里您可以看到R2
的免费额度,点击同意启用。 - 新建一个 bucket
(Create bucket)
- 输入你喜欢的名字,例如
image
。 - 选择你希望的地区,例如
APAC
- 点击
Create bucket
进行创建。
- 输入你喜欢的名字,例如
- 点击刚创建的名为
image
的 bucket。- 如果您有域名,进入
setting
,设置Custom Domains
(如果您的域名就在 Cloudflare,可以很快速得直接添加)。 - 如果您没有域名,进入
setting
,点击R2.dev subdomain
旁的Allow Access
,输入allow
,你将会获得一个xxxxxx.r2.dev
的地址。 - 现在您应该可以上传图片了,您可以在
image bucket
中的Objects
板块中上传图片进行测试。
- 如果您有域名,进入
- 现在点击页面左边的
R2
,回到Overview
,在Account details
下,点击Account ID
下的Manage R2 API Tokens
。- 点击
Create API token
创建一个新的API token
。 - 取一个名字,例如
image-R2
。 - Permission 选择
Object Read & Write
。 - Specify buckets 下选择刚刚创建的
image
。 - 点击
Create API Token
创建。 - 您将获得
PicGo
所需的信息,包括Access Key ID
、Secret Access Key
以及endpoints
。只会显示一次,请先保存下来。
- 点击
- 至此,Cloudflare dashboard 中的操作已经完全结束。
2.设置 PicGo
- 下载 PicGo。
- 安装后点击插件设置,搜索
s3
,找到作者为WayJam So
的插件,安装。 - 进入图床设置,找到
Amazon S3
,添加或者修改默认的设置。- 图床配置名随便写,如
r2
。 - 应用密钥
ID
为Access Key ID
。 - 应用密钥 为 Secret
Access Key
。 - 桶名 为您设置的
bucket
名字,在这里为image
。 - 自定义节点 为
endpoints
。 - 自定义域名 为 您设置的
Custom Domain
s 或Cloudflare
为您分配的xxxxxx.r2.dev
地址。 - 点击确定。
- 图床配置名随便写,如
至此,您应该可以通过 PicGo 上传照片了。
3.使用 WebP Cloud 对您的地址进行代理。
进入 WebP Cloud Dashboard,登陆。
进入左侧的
Price
板块中您可以看到免费额度。进入左侧的
Home
板块,点击右下角的Create Proxy
。- 选择你喜欢的地区,这里我选择
Hillsboro, OR
。 Proxy Nam
e 随便填,例如R2-image
。Proxy Origin URL
填入您设置的Custom Domains 或
Cloudflare
为您分配的xxxxxx.r2.dev
地址。- 点击
Create
进行创建。 - 这时候将会给您分配一个
xxxxxx.webp.li
地址。
- 选择你喜欢的地区,这里我选择
如果您希望设置自定义域名,进入刚创建的这条
Proxy
,点击Custom domain
,根据提示在你的 DNS 解析中添加对应的条目,稍等片刻后您就可以在Custom domain
中activate
您的自定义域名了。接下来您需要在
PicGo
中更改 自定义域名 为您在WebP Cloud
中设置的自定义域名或者是WebP Cloud
为您分配的xxxxxx.webp.li
地址。
4. 迁移
我有一大堆图片保留在 Telegraph 的图床中,我希望将其全部迁移到 R2 中,PicGo 的插件 pic-migrater 是一个好的选择,开发者为 Molunerfinn。
下载插件后,点击插件设置,点击插件右下角的小齿轮,点击 配置
plugin - picgo-plugin-pic-migrater
。
新文件名后缀随便填,例如_new
。我将 旧内容写入新文件 设置为
no
,被转换过的文件就会被命名为 源文件名_new.md
,我可以方便对这些文件进行检查。
但对于某些markdown
文件,pic-migrater
会出现无法迁移的情况,尚且不知道如何解决。我的做法是针对落单的文件一个一个手动处理。
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick Start
Create a new post
1 | $ hexo new "My New Post" |
More info: Writing
Run server
1 | $ hexo server |
More info: Server
Generate static files
1 | $ hexo generate |
More info: Generating
Deploy to remote sites
1 | $ hexo deploy |
More info: Deployment