如何解决GitHub作图床国内无法显示的问题

最开始我用 WordPress 是直接将图片放到 VPS 上,后来发现转移有些不方便也不好管理,再加上一直是便宜主机,容量也有限。后来我又转到 ya.ru,上传方式和速度都不理想。
最后还是用了 GitHub,管理方便又免费,速度也不错。不过最近发现 raw.githubusercontent.com 和 github.com 在国内很多地方连接都有问题,导致图片无法正常显示,不得已研究了一下。

借助 Cloudflare 做镜像网站

我开始是利用 Cloudflare 的 Worker 做了个镜像,因为我的 GitHub 图片地址都是如 raw.githubusercontent.com/harry3633/blogmianao/master/openwrt/menu.png 这样的,所以我把 raw.githubusercontent.com 做了个镜像,然后用 xxxxx.xxxxx.workers.dev 替换就可以了。
虽然很方便,Cloudflare 免费账户每天 10 万次请求,对我这样的 blog 来说也是足够用了。但是,就怕别人盗了图片链接,可能很快就没了。

借助 jsDelivr 的 CDN

jsDelivr 是国外的一家优秀的公共 CDN 服务提供商,它可以加速 Github 仓库的文件,比如图片, js 或 css 等。
官方网站:www.jsdelivr.com

实现方式也是很简单,无须注册或改代码,直接替换链接即可。
例如:
我的图片原始链接:https://raw.githubusercontent.com/harry3633/blogmianao/master/openwrt/menu.png
harry3633 是 GitHub 账号名,blogmianao 是仓库名,openwrt/menu.png 是图片在仓库的具体位置。
更新链接为:
https://cdn.jsdelivr.net/gh/harry3633/blogmianao@master/openwrt/menu.png
master 可选择仓库的不同分支,如果像我一样仓库只有 master 的分支,@master 是可以省略的,直接用图片链接:https://cdn.jsdelivr.net/gh/harry3633/blogmianao/openwrt/menu.png

如果在仓库选择了 release 进行发布,那么 @ 后面可以写版本号,如 https://cdn.jsdelivr.net/gh/harry3633/blogmianao@1.0/openwrt/menu.png,一般来说作为图库没必要搞这么复杂,大概只有一些 css,js 文件加速才会用到吧。

注意 jsDeliver 不支持加载超过 20M 的资源,所以图片还是不要搞大了,我一般都是先在 tinypng.com 压缩后再放到 GitHub,据说 Github 仓库的容量有 1G 的上限,也有说硬性限制是 100G,反正对我的 blog 来说够用了,不够再开个仓库了。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇