
图床解决方案:Cloudflare R2+PicGo+WebP Cloudflare
此前我的图床是基于 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 Domains 或Cloudflare为您分配的xxxxxx.r2.dev地址。 - 点击确定。
- 图床配置名随便写,如
至此,您应该可以通过 PicGo 上传照片了。
3.使用 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地址。
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
- 感谢您的赞赏







