futabruh script.20.05.11

至此我终于给它加上了yande.re,但我试着拖了几次n.g.的萌妹都以失败告终,因为现在的脚本每个文件需要启动一次rclone,导致每上传一个文件需要进行两到三次C类请求,直接爆掉了我两个账号的C类请求限额

所以我需要重新写rclone上传这部分,不过我以前搞过这种东西,那时我用rclone上传onedrive和google drive,尽管它们没有api限制,但每个文件都启动一次rclone仍然很慢,只有不到10MB/s,还要加上数秒的额外开销;所以我那时写了一个按照文件夹大小决定何时上传所有文件并删除它们的程序片段,用在这里刚刚好;而且我还可以对不同的site设置不同的参数,比如yandere设置成了超过256MB时上传文件,一次5个线程;apkpure是128MB(免得遇见大型apk包时下不下来),一次两个线程

实测新的脚本上传1700个文件只需消耗283次C类API(当然A类API是完全免费的),而且查看日志文件可以看出每次上传的时候速度能有5.976MB/s-17.112MB/s,爽的1b,这可是ibm cloud的白嫖云啊,我却看到了vultr一样的速度,所以内存给大点还是有点用的,多注册几个ibm cloud账号也是有点用的

和apkpure可能不一样,yande.re的特点是下载时能够允许的线程非常少,我猜测能同时下载的文件最多只有两个,再多了就会发现下载直接报错403,所以discord drive式的粗暴下载可能没法用了;这也确实更加强调了转存yande.re文件的重要性,无论是转存到discord还是backblaze

这是用新脚本跑完后的api使用情况:

另外附上搞完后的原始日志文件html化日志文件(旧档12传到了discord上)以供参考,另外那个html化也非常简单(迫真),只需要将处理彩色shell输出的字符替换成html标签即可,因为它通常来说也是成对出现的;当然这次还是出现了一个bug,如果设置了触发条件后才上传的功能,那么最后一波文件通常是满足不了触发条件的,所以需要在站点函数的循环结束后,我的意思是在postprocess函数里写一句强制上传才行

发表评论