github 图床迁移记录
如果你在其他平台看到这篇文章,这可能不是最终版本。为了获得更好的阅读体验(包含最新的评论讨论和勘误),欢迎移步原文
最近写博客的时候大量上传了很多图片到我的 github 图床里,这种打擦边球的行为实际上是违反了 github 用户条例的,再加上今年 github 的基础设施状态疑似不是很好,以及前阵子我的小号有被封号的惨痛经历,这让我开始下定决心要转移我的图床。

既然决定要换,那就先来调研一下目前市面上有哪些可选方案。
方案调研
付费方案
对象存储
各家云厂商的付费方案大同小异,核心都是将资源托管在对象存储(如 OSS / S3)中,再通过 URL 进行外链访问。好处是你可以再接一个 CDN 资源给国内访问做加速,这样国内也能正常加载。坏处也比较明显:
- 要钱
- 不续费也不备份的话,图片就会消失,而且存储下线后,图片的映射关系就丢了
- 如果需要自定义访问域名则需要备案
- 这个问题倒还行,因为我之前因为折腾
cardconjurer这个项目,已经完整地走过一遍阿里云 OSS 的方案流程了
- 这个问题倒还行,因为我之前因为折腾
主机跑文件服务器
这种方案就更小众了,你需要一台独立的服务器来搭建文件服务,并需要公网 IP 来提供访问入口。两相比较,它的维护成本和技术门槛甚至高于对象存储,实在不够省心。
免费方案
Github 仓库
也就是我们现在在用的这种方案
- 优势:部署简单,没啥复杂度
- 缺陷:有违规风险,国内访问没 CDN 加速,不挂梯子图片基本上加载不出来
Cloudflare
Cloudflare 是知名大善人了,经常提供各种免费资源供大家白嫖,这里也是经过一番调研,发现 cloudflare 提供了 10GB 的免费存储空间,并且每个月支持 100万次的写入操作,1000万次的下载操作,这诱人的免费额度还要什么自行车?于是我也是毫不犹豫地选择了这个方案。
实施

这里去 cloudflare 里激活一下 R2,然后配置一下秘钥以及域名相关配置

然后去配一下相关的秘钥,就大功告成了

接下来要做的就是迁移了
迁移
我这里迁移其实很简单,本地开任意的 agent,让其读一下 github 图床仓的结构,然后写个脚本调用 picgo 工具照搬到 R2,一切就解决了。
参考
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 墨池码窖 | Sentixxx's Blog!
评论








