Intro#
此前我的图床是基于 Cloudflare + Telegraph 这两位大善人的,我本以为他们会比我的博客活得更久,因此我默认这是一个长期的解决方案,足够可靠易用,最重要的是免费。
但最近 Telegram CEO 被捕,韩国也因为审查方面的原因和 Telegram 有冲突,可能受此影响,Telegraph 的图床服务已经不能上床新的图片,旧的图片尚且可以访问,但也不知道什么时候就会完蛋。
于是我开始寻找新的图床解决方案,我的期望是可靠易用,最好免费,Cloudflare R2+PicGo+WebP Cloud 就是这样的解决方案。
本文主要参考了 **这篇文章**,另外包括了 WebP Cloud 自定义域名 和 从 Telegraph 迁移图片到 R2 图床 的内容。
部署#
我可以保证,在 2024 年 9 月这个时间点,我的部署方式是行之有效的。
您需要#
- Cloudflare 账号,并绑定信用卡(开启 R2 的必要条件)
- 一个域名(非必须,但有的话更帅)
接下来让我们开始吧...
启用 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的地址。
- 现在您应该可以上传图片了,您可以在 imagebucket 中的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 中的操作已经完全结束。
设置 PicGo#
- 下载 PicGo。
- 安装后点击插件设置,搜索 s3,找到作者为WayJam So的插件,安装。
- 进入图床设置,找到 Amazon S3,添加或者修改默认的设置。- 图床配置名随便写,如 r2。
- 应用密钥 ID为- Access Key ID。
- 应用密钥为- Secret Access Key。
- 桶名为您设置的 bucket 名字,在这里为- image。
- 自定义节点为- endpoints。
- 自定义域名为 您设置的- Custom Domains或 Cloudflare 为您分配的- xxxxxx.r2.dev地址。
- 点击确定。
 
- 图床配置名随便写,如 
- 至此,您应该可以通过 PicGo上传照片了。
使用 WebP Cloud 对您的地址进行代理。#
- 进入 WebP Cloud Dashboard,登陆。
- 进入左侧的 Price板块中您可以看到免费额度。
- 进入左侧的 Home板块,往下拉,点击Create Proxy。- 选择你喜欢的地区,这里我选择 Hillsboro, OR。
- Proxy Name随便填,例如- 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地址。
迁移#
我有一大堆图片保留在 Telegraph 的图床中,我希望将其全部迁移到 R2 中,PicGo 的插件 pic-migrater 是一个好的选择,开发者为 Molunerfinn。
- 下载插件后,点击插件设置,点击插件右下角的小齿轮,点击 配置 plugin - picgo-plugin-pic-migrater。
- 新文件名后缀随便填,例如 _new。
- 我将 旧内容写入新文件设置为 no,被转换过的文件就会被命名为源文件名_new.md,我可以方便对这些文件进行检查。
但对于某些 markdown 文件, pic-migrater 会出现无法迁移的情况,尚且不知道如何解决。我的做法是针对落单的文件一个一个手动处理。
Outro#
言尽于此。
此文由 Mix Space 同步更新至 xLog
原始链接为 https://xxu.do/posts/geek/Cloudflare-R2%2BPicGo%2BWebP-Cloud