最近把 API 使用 golang 重写了,由于 dogecloud 目前对免费额度做了很多限制,又刚好看到七牛云有学生免费额度,每年 100G 的 HTTP CDN 流量或 85G 左右的 HTTPS 流量(100G 流量包,HTTP 和 HTTPS 的抵扣比例为 1:1.15)、每年 40G 的对象存储空间抵扣额度、100G 的回源额度,还有一些转码视频之类的,用不到就没研究~
所以就把博客的静态文件还有非文章图片迁移到了七牛云,并且写了一个接口,在 acme 更新证书的时候不仅更新 dogecloud 的证书还更新七牛云的证书,新版本不需要数据库了,golang 也不用担心速度,虽然 fastapi 也很快,但是 golang 占用的内存更少,毕竟是编译型语言,我的服务器配置也不高,就使用 golang 了
最后想吐槽的是因为向七牛云的 API 发送请求的地址中多了一个 /,导致 debug 了一个小时,多了一个 / 依然会请求成功,但是会变成另一个接口的返回结果,但是由于签名中又必须带上请求地址,我就很懵,明明不是另一个接口的请求地址,竟然返回另一个接口的结果,而且签名还通过了。
最后可以考虑开源,我写的接口都是兼容 Domain Admin 的,但是 Domain Admin 是 python 写的,所以就只能当 webhook 来使用,等到 Domain Admin 支持 zeroSSL 的时候,我可以开源出来或者写一个接口直接携带 ak 和 sk 来更新,目前我使用 Domain Admin 感觉还是有很多 BUG,所以就依然使用 acme.sh 脚本了