博客图片托管

最近,我才意识到,GitHub 对 GitHub 个人网站有诸多限制,主要是网站内容大小及带宽的限制。由于我的 GitHub 网站的内容逐渐变多,尤其是图片,慢慢的会超过这些限制。于是我就考虑把网站的大部分的图片内容转移到图床服务上去,这样网站体积能够维持在一个较小的水平,图片的带宽也不会走 GitHub 个人网站的流量。

那么问题来了,我该使用什么样的图床服务呢?我脑海中理想的服务应该是,能像网盘一样方便管理,必须能在个人网站中用图片链接直接插入图片,价格以及额外流量价格实惠。

首先,我考虑的是一些大厂的图片及多媒体的 Cloud 服务,比如 Google Photos(Google Drive)和 Apple iCloud,这些服务相对来说价格便宜,但是缺点就是没法在自己的个人网站里直接插入放在那上面的图片,于是就放弃了。

接着,我又想到了网盘服务,例如 Google Drive,Dropbox,Icedrive,价格有贵的有便宜的,但是研究了很久也没有看到官方支持的插入图片的接口。(有些 trick 可以让我把网盘里的图片插入自己的网站,但是这个不是官方认可的接口,所以很容易就 break 了),于是也放弃了。

然后,我想到了 Cloud Storage 服务,比如说 Amazon S3 和 Google Cloud Storage,这些服务可以提供文件的 URL,供人下载,自然在个人网站插入图片也不在话下。但是这些服务普遍都会按流量收费,如果流量很大的话开销也一定不小。另外,文件插入及下载链接无法自定义,这会让 URL 迁移有比较大的麻烦。

之后,我看了看专业的图床服务。最有名的是 Imgur,还是免费的。缺点是文件管理不是很方便,而且中国大陆无法查看 Imgur 上的图片。GitHub 上也可以托管图片,图床管理软件例如 PicGopicx,都可以实现快速 GitHub 托管,但是缺点是用户要把 GitHub Access Token 交给这些管理软件,有安全隐患(当然,我们可以注册一个小号专门托管图片)。翻来覆去的找了找,只有 SM.MS,上传的图片在中国大陆和国外都可以查看,甚至还提供一次性买断制终身服务,但是免费用户也有每天上传图片数量的限制,而且不能支持图片以外的例如 MP4 的格式。同样的,除了 GitHub 托管,其他图床服务的 URL 无法自定义。

最后,弄来弄去,还是专门弄个 GitHub 的 repo 来存放图片吧,这样还可以保持文件夹的结构,图片 URL 迁移起来也非常方便,直接字符串替换就行了(这是 Imgur 还有 SM.MS 等不具备的优点)。也用不着 PicGo 和 picx 这些第三方软件了,Git 命令就可以搞定。具体的图片 URL 会是下面这个样子:

1
https://raw.githubusercontent.com/leimao/Blog-Images/main/life/2018-07-13-Half-Moon-Bay/IMG_0280.JPEG

但是经过实际测试,raw.githubusercontent.com 这个域名似乎是被国内墙了,中国大陆无法查看。有人说用免费 CDN jsDelivr可以绕开墙,URL 只需更改成以下的样子:

1
https://cdn.jsdelivr.net/gh/leimao/Blog-Images@main/life/2018-07-13-Half-Moon-Bay/IMG_0280.JPEG

但经过实际测试,jsDelivr 也是被墙了,中国大陆无法查看。

最后,我自己琢磨和试了半天,发现下面的链接因为用的是 GitHub 的域名,所以不会被墙可以在中国大陆查看,而且也可以正常嵌入到网页中使用。不仅可以成功作用于图片,也可以作用于短视频。

1
https://github.com/leimao/Blog-Images/blob/main/life/2018-07-13-Half-Moon-Bay/IMG_0280.JPEG?raw=true

但上面的做法也不是没有缺点。缺点是速度相对较慢,而且似乎在微信 APP 内会屏蔽这样的图片链接,所以只能在浏览器上查看。

总体来说,目前并没有一个完美的且性价比高的图床服务。

来自 2022 年 9 月 2 日的更新。现在用 GitHub 的域名来做图片链接会直接转到 raw.githubusercontent.com 继而被国内墙。简书上给出了一些替代方案,其中包括使用 GitHub Proxy 服务。

1
https://raw.githubusercontent.com/leimao-servant/Blog-Images-Backup/main/life/2018-07-13-Half-Moon-Bay/IMG_0280.JPEG?raw=true
Author

Lei Mao

Posted on

04-04-2022

Updated on

09-02-2022

Licensed under


Comments