免费使用的cdn

gitee个垃圾玩意,图床都禁用,以后不再使用国产这些东西,容易被坑。

晚上花了点时间把blog的图床由gitee迁移github,并且使用cdn jsdelivr加速,在没有梯子情况下,也可以看到blog引用的图片。

我使用的是typora+picgo+github+cdn jsdelivr的组合方式。

第一步,先把gitee上的图床仓库迁移到github

1.从gitee clone下来,在github创建仓库,push github仓库,保持仓库名和目录和gitee的相同,在master分支。

第二步,替换blog内图床的地址

比如我的图床一个图片 https://gitee.com/yulewo123/mdpicture/raw/master/docs/20201010000942.png

需要替换为 https://raw.githubusercontent.com/zhangyj131/mdpicture/master/docs/20220326144026.png

即把文件名前面的替换即可,这里写个shell进行替换。

但是 https://raw.githubusercontent.com域名,由于网络问题,许多人看不了,因此使用cdn域名 https://cdn.jsdelivr.net/gh加速,最终替换为

https://cdn.jsdelivr.net/gh/zhangyj131/mdpicture/docs/20220326144026.png 切记url中没有master。

具体替换shell内容如下

#!/bin/bash #文件名replace.sh #使用说明:把该shell放到和markdown文件同目录下,然后右键Git Bash here,执行 sh ./replace.sh 即可 oldurl="https://gitee.com/yulewo123/mdpicture/raw/master/docs" #改为自己旧url,比如gitee url newurl="https://cdn.jsdelivr.net/gh/zhangyj131/mdpicture" #改为自己新url,比如github url echo "原url=${oldurl}" echo "新url=${newurl}" #把url中的/替换为/ 参考https://unix.stackexchange.com/questions/315473/how-to-obtain-instead-after-a-sed-substitution oldurlConvert=`echo ${oldurl}|sed 's///\\//g'` #echo "https://gitee.com/yulewo123/mdpicture/raw/master/docs"|sed 's///\//g' 结果 https://gitee.com/yulewo123/mdpicture/raw/master/docs 但是表达式内要多加 echo "oldurlConvert=$oldurlConvert" newurlConvert=`echo ${newurl}|sed 's///\\//g'` echo "newurlConvert=${newurlConvert}" #####################执行##################### for fd in ./*.md do echo "处理文件-> "$fd #sed -i 's/$oldurlConvert/$newurlConvert/g' "$fd" #用单引号无法进行替换,在shell里用sed,如果有$这样的特殊字符,单引号要换成双引号才可以 sed -i "s/$oldurlConvert/$newurlConvert/g" "$fd" #用"$fd" 原因是文件名可能带空格 #sed -i 's/https://gitee.com/yulewo123/mdpicture/raw/master/docs/https://cdn.jsdelivr.net/gh/zhangyj131/mdpicture/docs/g' "$fd" #实例 done echo "转换成功...." 

第三步,picgo内改为github图床,并自定义图床url,https://cdn.jsdelivr.net/gh/用户名/图床仓库名

图片

如此搞定,还是感觉使用github安全,但是这个cdn,不知道存活多久,但愿https://cdn.jsdelivr.net/gh能长久。

PS:写完这个shell,后来才想到,在idea内可以全局替换的,白花了这么长时间。

后记

后来查了下,gitee条款本身不支持图床,jsdelivr其实也不支持图床协议内容[1],具体可以看知乎[2],骂错gitee了,不管怎么样,还是不使用gitee作为图床了,虽然最后3.28号gitee又让使用图床了。

References

[1] 协议内容: https://www.jsdelivr.com/terms/acceptable-use-policy-jsdelivr-net
[2] 知乎: https://www.zhihu.com/question/524345403

原文链接:https://www.csdn.net/tags/NtzaAg5sNzY4Mi1ibG9n.html

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/8238

(0)
上一篇 2022年9月7日
下一篇 2022年9月7日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml