bruhfei.22.07.29

实在是受够了某垃圾nas(迫真)运行clash的速度了,切换个节点都需要好几秒🤔

所以,我突然想复活之前用的星级X牛nas了🤔在1145.14秒的瞎鸡巴折腾后,这玩意,,,插电了启动不起来🤔

不错,看来我只能接着用那台垃圾nas(迫真)了(恼🤔

cloudflare antics

与此同时,我发现cloudflare(在处理range请求头与否这个问题上)基本上只管文件扩展名,而不管它实际的mimetype🤔所以,我只需要对一个mp4文件用ln命令创建链接(最好还是创建硬链接,符号链接只有相同目录才能用在http服务器上,局限性很大),将其便乘txt文件,接下来我就可以随便下了,估计扔进mpv应该也没啥问题(确信🤔

而且没错,mpv的确可以流式观看txt(大嘘)格式的视频🤔作为一款万能命令行播放器,它再怎么说,也能自动识别视频(或者txt文件)容器的格式啥的🤔

bruhfei

话说为啥现在的梯子都只有ipv4,我想挂梯子加速视频播放,它就会直接报错,因为貌似我那几个cloudflare站全部解析成ipv6了(全恼🤔既然如此,我就只能彻底关掉本机的ipv6了,或者我在hosts里面将我的几个域名直接填成ipv4的cloudflare节点地址(🤔

当然,关掉ipv6也不是啥大问题,毕竟早些时候我所有的vps都被我配置成了双栈,因为那时流行的玩法就是双栈vps配置nginx提供双栈web服务,dns同时添加a记录和aaaa记录🤔所以我只需要用那些vps开二级代理(它们本身肯定是走代理才连上去的,不然卡到输命令都没法愉快地输),然后连接hax那群机子的时候走这些二级代理就vans了(确信🤔

不过我好像也不是很有必要用梯子加速,毕竟cloudflare走ipv6完全可以在不上梯子的情况下跑到物理上限(确信🤔难怪我这几天可以不上梯子爽各种玩意,从guilded drive到自建网站,原来因为我开了好几天ipv6啊(迫真🤔只有跑到物理上限,单线程还是得加速(恼🤔

顺便我把最近买的几台vps也配置了一顿双栈,这玩意还是比较简单的,改改配置然后重启下network或者就重启下机子就vans了🤔我某个vps居然有/64的ipv6地址用,无论如何,感谢(迫真)ipv6,我现在终于可以将114:514:1919:810设成ip地址的一部分了(大嘘🤔

thonkeqing

现在guilded的上传脚本我也想撸进cygwin最小环境🤔原版脚本通过生成另外一个bash脚本来实现split里对每一个分片进行流式文件上传的功能,但如果我把所有东西打包好了的话,其实我完全可以打包两个脚本进去,一个是流式上传单文件的,一个是利用前者进行分片上传的(确信🤔而bat调用的是后者🤔

当然,它需要将相对路径改成绝对路径啥的,现在问题来了,对分片脚本来说进入脚本后的当前路径是啥很好理解,对它要调用的那个脚本来说,它是啥就不好理解了(全恼🤔而且考虑到和discord上传脚本一样,我需要拖一个文件进去,那么它有可能被解析称相对路径,有可能被解析称绝对路径,反正我需要转换就是了🤔

barbruh.22.07.28

这几天度盘一直在抽风,我的两个超会小号都403,我估计就算买一个新的号,它要么给我403,要么更糟糕,解析到一半403(恼🤔

所以,这几天我就不搞了,等我需要搞的最新文件再次积压到不得不搞了再说🤔

所以到今天,我大概把截图基本上全搞定了,照片的话,应该还剩8个小号,也就是大概15TB到16TB的玩意没搞完(悲🤔

guildedthonk

另外guilded drive实在是太寄吧好使了,甚至在我的aria2c完全不上梯子的情况下,它仍然能跑满带宽🤔那真滴牛批,我可能得考虑写一个discord drive转guilded drive的玩意了(确信🤔

另外有没有可能,这玩意在powershell里面跑起来?我就不信它非得装个bash环境才能用🤔假设aria2c.exe和tar.exe已经放进了system32目录,或者不放进去也行,毕竟我们永远可以用guilded drive将这两个可执行文件先下载下来🤔

barbruh

在我一番迫真折腾之后,我发现powershell的管道或者说数据流实现貌似有那么亿点点问题,比如将for循环输出到stdout里的东西要么重定向到文件要么管道到一个不依赖cygwin1.dll的tar实现(貌似叫做bsdtar)里时,它的速度会慢到难以忍受(悲🤔基本上只有十几MB/s,对比cygwin的tar在ramdisk里光速完成解包,可以说是龟速了(全恼🤔

所以,恐怕我只能接着像上次(?)那样,想办法撸一个cygwin最小环境出来了🤔在又一番迫真折腾后,这个powershell(迫真)脚本终于撸出来了,它会先尝试下载一个4MB的zip包,解压后里面是我整的cygwin最小环境,然后它会先将guilded drive的列表文件下到那个cygwin目录里,然后执行里面的bash.exe,参数是sh脚本的位置🤔接下来就非常熟悉了,就是那个原版bash脚本删去wget、rm等powershell自带的函数(确信🤔

但这个脚本它tar解包的速度也慢到难以忍受,经过我一番迫真排除后,最终确定就是那个bsdtar有问题(恼🤔将其替换成cygwin版的tar后(我cygwin1.dll都放进去了,不用白不用),它解包的速度基本上和完整版cygwin一样快了(确信🤔

现在,guilded drive终于普照到了win系统(大嘘🤔下一步是什么?bat?🤔

thonkeqing

又改了一顿脚本,这次将rm.exe也加了进去,所以它现在可以像一代discord drive那样,将guilded drive列表文件拖进bat文件就能自动下载并解压了(确信🤔而且这坨玩意也兼容之前那个powershell版脚本🤔

当然,除了拖文件外,它也可以做一个接受参数是列表文件链接的bat,下载列表文件可以接着用aria2c(确信🤔只不过此时就没法拖什么东西进去了🤔或者我们可以让这个bat来处理一个装满guilded drive列表文件链接的列表文件,此时就可以接着拖了,而且一次性可以处理一大堆(确信🤔

好,到此我已经完成了bash批处理powershell三修(确信🤔

luminethonk

所以我现在懂了,如何将单文件discord drive或者guilded drive的上传脚本普及到win系统?🤔只需要撸一个cygwin最小环境,只带什么curl、aria2c等程序,然后用一个bat作为bash脚本的入口,接下来就可以该怎么用怎么用(大嘘🤔https://s3-us-west-2.amazonaws.com/www.guilded.gg/ContentMediaGenericFiles/fb4b1f769bb8de2d93fc3242c593395f-Full.zip,请(吴慈悲🤔

考虑到本次魔改原脚本花了一大把时间,这还是个只有几行的脚本,这要是去魔改单文件discord drive这种庞然大物的话,我不得寄:barbruh:

thonkcord

最后我还是撸了一个单文件discord drive的cygwin最小系统版🤔前后改了11451.4秒,我也是闲得寄吧蛋疼(🤔

当然,和guilded的上传api一样,我给discord的上传api也整了一波cloudflare antics🤔但discord貌似也用的是cloudflare,而且禁止它的域名被设置成cname🤔所以,我只能用workers来整它的上传antics了(🤔

最后效果还行,不上梯子可以达到平均50Mbps上传🤔

既然上传都搞了,下载要不也来搞一搞🤔当然那个单文件discord drive下载函数已经充满了一系列对下载下来的脚本施加的后处理,而如果它想在这个cygwin最小环境里也跑起来的话,那么它还得再加一层后处理,比如至少把里面用到的那些命令全部改成绝对路径⑧🤔当然,函数本身也得改,反正又一个11451.4秒过去了,现在,它一个压缩包即可以上传discord drive,又可以下载discord drive了,好耶🤔

conclusions

现在来看,它相比原来的脚本,除了将命令的相对路径全部替换成绝对路径外,还是做了亿点点魔改的,比如原来我用file命令来获取文件的mimetype,但那个file.exe移植到cygwin最小环境时,它需要的依赖项多到离谱🤔最后和guilded类似,我上传个连扩展名都没有的文件分片整什么乱七八糟的mimetype,直接设成text/plain就vans了,我非常怀疑这个file玩意是曾经写的试验脚本的遗留🤔脚本某处还用了一下awk,但它也只是做了一个在ls的结果里提取文件大小的事情,其实cut就能搞定,这里用awk实在是太大材小用了🤔当然还不是因为awk移植过去需要的依赖项多的批爆🤔

但当我开始移植cygwin版curl时,那才叫一个蛋疼,前后复制了十几个dll,它还是缺这个缺那个🤔最后,我干脆下了一个win版的curl.exe,一个可执行文件搞定所有东西(恼🤔之前不用bsdtar是因为它太慢,但curl又没有这种问题(当然它在单文件discord drive的实现里也是通过管道传数据的,但至少我目前没有观测到明显的性能下降🤔但cygwin版tar又没多少依赖项,我记得它最多依赖一个cygwin1.dll,不像curl(🤔

当然,这个最小系统或者最小环境的概念,在github actions里面也是能用到的,毕竟它每一个runner只有128GB总空间,如果我能用什么申必玩意将其清理到系统只占几个GB,那我不是可以拿它挂100GB这个级别的种子了?🤔甚至,如果我想的话,还可以拿它挂u2,或者任何不限制客户端数量的pt,或者任意bt🤔

sas2usb.22.07.24

在批乎上查国内dns服务器,结果发现有人在sas硬盘相关问题讨论里回复了我🤔说现在已经有sas转usb的适配器了🤔

w-wiebitte?🤔赶紧搜了下,草,这玩意真的存在啊,而且它居然只(迫真)要800,反正比上次我看到的那个原型机便宜多了🤔对了,那个sff8088转usb3的原型机现在还挂在那儿,但能不能买就不清楚了,再说了我也没兴趣花3500买个这玩意(恼🤔

而且现在搜sas转usb3,还能找到至少三款类似的玩意,价格从550到800都有🤔估计它们用了同样的解决方案,至少它们一眼看上去连主板的form factor都极其雷同(确信🤔

所以,这玩意到底是用什么芯片实现的?🤔反正它肯定不是sas转pcie加定制pcie转usb,这套玩意成本都比1000贵🤔那么是不是意味着,传说中的sas转usb的单芯片方案真的被搞出来了呢?🤔又是哪家头铁的芯片厂商做出了这种方案?realtek?jmicro?asmedia?还是lsibroadcom?🤔

现在我还没搜到拆机视频或者诸如此类的,这实在是太申必了🤔但我估计也没几个壬想在笔记本或者路由器上面使用sas罢🤔我现在也是笔记本壬了,但我也没什么笔记本接机械硬盘的需求,无论是sas还是sata,2.5寸还是3.5寸,这么说吧,我早就不是带学生了(半恼🤔

bruhfei

草,我就不应该上批乎键政区(全恼🤔突然想起来了,几个月前彻底戒掉批乎是有原因的🤔就是因为我一看批乎键政区或者批乎cuties impact讨论区,就像瘾君子磕海洛因一样沉迷,好家伙,原计划今天晚上打完boss的,现在好了,我连每日都没打完(悲🤔

而且我的度盘antics三个小时前就搞完了,现在我也忘了搞下一波🤔不过这个好说,我开搞就vans了,明天中午再去整理文件🤔

dudiskbitte.22.07.23

今天处理另外500GB的cuties impact客户端备份,但在此之前,我需要将这几天上传的东西全部转到discord drive上去,我才能将本地2.5寸sas上的压缩包删了(恼🤔

所以,这次我选择用bash的&来开多线程解析,而非像以前那样开八九个窗口🤔效果非常的可以,也许因为我解析的东西少,每次只解析一个文件夹,⑨个线程没有一个文件解析不出来🤔那还有什么好说的,撸就vans了(确信🤔

这次度盘转discord drive之后,我又感觉这玩意非常的行了(至少和前几个月相比),还想再弄一波🤔那就从前几天没搞完的部分来⑧,今天先折腾一个号的🤔这次平均每个线程解析25个文件,还是全搞定🤔

但接下来我不打算手动将所有线程生成的文件整均匀了,反正无论如何,每次生成完discord drive链接我都得手动归类它们,这次我干脆直接将所有线程的下载链接合并成一个带文件得了,由于它一个文件严格对应6行(包括一个换行符),直接用经典split8函数处理就vans了(确信🤔除了这玩意可能得改一下,不多加一行,也不多加6行,如果它生成了第⑨个文件,难道我没有第⑨个线程吗🤔最后生成的discord drive链接我也合并成一个带文件,然后grep出相应的分类(确信🤔

AYAYA

第三次解析整个账号,撸出来1⑨个线程,每个线程解析一个文件夹,一分钟后,所有线程都解析出了结果🤔这实在是太牛批了,这可是1⑨个线程啊,1⑨个🤔

看来,我貌似已经彻底摆脱了403问题(确信🤔基本上意味着我再也不用每天花4块钱买号了,我可以买一些长期的共享度盘会员,现在就坐看那个号解析多少TB的文件开始限速🤔

另外,从ip的角度讲,度盘解析最好在自家的本地机子干,vps这种固定ip机子很容易被橄榄,更别说vps离度盘的服务器很远了,干个啥都得一秒以上(恼🤔而在本地,又离度盘的服务器近(基本上几十到十几毫秒),又可以随便切换ip,还可以用本地十几个核心的cpu开十几个线程,这不比vps爽114514倍?🤔