luminethonk.22.12.06

今天是蛤纪念日,cuties impact停服一天,而layla chan池子貌似今天下午截止,所以我昨天晚上只能赶紧去那两个仍然没有layla chan的小号抽几发了(悲🤔

某稻妻amber小号死活不出layla chan,倒是五发出了两个拳师命座,大草,现在这号拳师都四命了,而thoma早就有了十命甚至⑨命,此时仍然没出layla chan,哼哼哼啊啊啊啊,啊啊啊啊啊啊啊啊啊啊啊啊(全恼🤔话说那个屑侦探的突破材料真にま阴间,我估计下个版本结束前都不见得能找齐(悲🤔

至于layla chan和四命拳师+刻晴相比哪个更好玩,那肯定是后者,但我就是想要layla chan,哪怕用来收藏也行(迫真🤔

而早柚酱小号在离停服还有两分钟甚至一分钟时终于出了一个layla chan🤔然后它就停服了,弹出一个对话框显示服务器正在重启,接下来又弹出一个对话框显示停服维护🤔再次登进去时会报错连接超时,而非像通常版本更新那样显示服务器维护中,看来它是真的字面意思上的关服了🤔

接下来我去做点别的,比如3.3下载直链早就放出来了,我可以先下了再说🤔

这玩意其实可以直接从launcher里面内存嗅探啥的嗅探出来,但我只能嗅探出本体,那四个语言包我没有找出来🤔抓包应该也是可以的,但我就懒得折腾了,我可以在很多tg频道上直接找到链接,直接下就vans了(确信🤔

thonk

有意思的是3.3客户端如果这个时候登录的话,它会显示维护时间是明天的6点到11点,但3.2客户端显示维护时间是今天的0点到23:59,真是太生草了(迫真🤔

顺便(?)有人做了个🍪酱的cosplay jav,做得挺像模像样的,至少小乳房挺像的(大嘘:

https://cdn.discordapp.com/attachments/976157335020007494/1067792313486680085/cookiechan.m3u8

那还有什么好说的,反正🍪酱已经完成了突破,等下个bp一开始直接拉⑨0级就vans了(确信🤔还有waifuhida貌似也有可能需要拉到⑨0级,但也有可能不会🤔

thonkeqing

我趁此空隙还写了几个cgi-bin玩意🤔比如将cloudflare worker版的任意url转guilded玩意便乘bash版,然后在它的基础上实现了任意youtube链接转guilded🤔

实测youtube-dl(我用了一个叫做yt-dlp的魔改版)和ffmpeg都是能运行的,但这个脚本在hosmatic的白嫖webhost那儿经常跑到超时🤔在我自己的ipv6小鸡上看错误日志,一看guilded上传视频花的时间有点过长,具体来说上传数据可能只花了四五秒,但接下来却等了将近20秒时间,wiebitte?🤔

我寻思它那个视频上传api搞不好还在做压缩视频之类的坑爹活,所以我干脆将视频当作txt上传得了,改成了上传文件而非媒体的api🤔这次它终于在超时之前跑完了脚本,并且出了一个视频框,还能正常播放视频🤔有意思,video标签居然能接受txt文件?我寻思hls能接受txt就够逆天了,video标签?wiebitte?🤔

现在不超时是不超时了,但这个脚本用时还是极其逆天,youtube-dl全套玩意跑完还得花掉二三十秒,反正肯定不够discord绘制出opengraph就是了(半恼🤔

barbruh

我又试了一个100MB以上的视频,它不仅第一次超时了(此时视频却完整保存在服务器上),在第二次尝试时(理论上来说youtube-dl不会尝试下载已经存在的视频,所以理论上来说这次只有上传)也能超时(恼🤔迫真看了下它的迫真日志(它的错误日志没有显示这个脚本的stderr,不像我的小鸡,所以我写了个重定向stderr的玩意),发现它每次上传貌似都没法完成上传过程,而我的脚本写成了只要不完成就一直重试,然后它就不停重试到超时了(悲🤔

而没法完成的原因,考虑到我捕捉的stderr里只有颜色控制字符,但里面应该有的东西也就是guilded返回的链接或错误信息居然是空白,无端怀疑是上传时内存不足,curl被橄榄了(悲🤔既然这狗逼cgi-bin内存连100MB都不愿意给的话,那我真的没啥好说的了,和cloudflare worker一个问题,基本上别想上传什么大文件了(全恼🤔

至于guilded tube?就算它可以把分片分小,这么说吧,就算运行效率更高的非静态版ffmpeg切片都得切个一分钟以上,更别说静态版ffmpeg了,这很明显已经远远超出了它那个破玩意的半分钟运行时限(恼🤔我现在估计唯一能跑完大视频上传的guilded相关脚本只有直接分割文件的guilded drive脚本(和现在流行的文件夹guilded drive脚本不同的是,扔进split --filter的是cat而非tar),但这玩意,我到时候怎么播放呢,视频txt可以直接塞进video标签,hls视频可以用hls插件或者某wp插件,这狗逼玩意怎么办?就问怎么办?(全恼🤔

thonkeqing.22.12.05

这两天连续impact了不知多少小时的cuties,终于在这个版本能玩的东西结束之前把所有号的拍照活动也打完了🤔这玩意就突出一个整活,和上次拍照活动不太一样,这次是相机在固定位置,人物是活动的,按下z键那个固定位置的申必相机就宛如被远程遥控了一般拍下照片,果然这是款科幻游戏(迫真🤔

而极其不幸的是某稻妻amber小号到今天都没抽出layla chan,却在常驻池里抽出了刻晴🤔不错,我可以带着刻晴在拍照活动里整活,比如先用e瞄准相机位置,然后再按e瞬移的瞬间按下z拍照,就能拍到施法末段的刻晴(确信🤔

相比之下无相交响曲就简单多了,像我那几个大号的战力最多一小时就vans了(确信🤔那些小号我都能成功橄榄⑨0级的无相之水,毕竟它要是本体带水的话waifuhida对着它不停a就vans了,剩下几个无相我就只能调低一档难度(恼🤔最后算下来我离拿全奖励也就差⑨个蓝色武器突破材料而已(确信🤔

barbruh

昨天我还尝试在远程输出日志基本上成熟了之后,用github actions跑onedrive转三盘🤔只不过这次邪乎的情况发生在了onedrive上,我一个线程12个文件一次只有6个文件能正常下载,别的都报错429(悲🤔重试这几个文件时它们也能429🤔

最后在重试了十次甚至⑨次后,终于撸完了所有文件,尴尬的是有两个文件居然被重复上传了一遍🤔而度盘那边的情况就有点离谱了,我现在能够观察到它某个线程花了20分钟都没成功上传一个文件,所以最后还是在本地上传了最后几个缺失的文件,一小时就上传完了🤔

估计这么一搞,以后干脆只跑discord/guilded得了,度盘我另外想办法去(恼🤔

AYAYA.22.12.04

昨天实在是困得批爆,设置好截图压缩之后就睡了,从下午睡到了晚上🤔一觉起来截图还有两小时半才压缩完,我打算拿这点时间搞点antics🤔

比如,我研究下如何将github actions的日志文件实时传递回某台服务器🤔有114514种方法可以选择,什么netcat啊,什么ssh啊,但最后由于某种申必原因,我最终确定了用ssh🤔

很不幸的是我那ipv6小鸡的ipv6地址还是没法被github action连上,我有比较确切的证据可以迫真论证,azure的机子压根就不支持ipv6(全恼🤔好在我那坑爹玩意还有ipv4 nat功能,我设置一个nat端口映射之后终于可以连了(恼🤔还有一种方法是用什么cloudflare access来折腾,但我寻思这套玩意装在github actions里得大费一般周折,先不折腾了,以后有兴趣了再去研究🤔

当然,github actions是彻头彻尾的无头系统,不可能搞输入密码那样的交互式登录,我需要设置密钥登录,而且还需要将known hosts里面的东西也预先填上🤔接下来它开始报错,貌似我这边好几台机子的host key和它机子上的就是不一样,那没啥好办的,只能加一条参数来完全跳过host key检查了(悲🤔话说github actions这破玩意连个ssh都需要加sudo,可真够屑的(半恼🤔

还有私钥文件的权限也得设置好,比如设成400,接下来就可以搞了,将这个函数用&的方式并行运行,再运行主函数,前者只有检测到log文件之后,才会去对其执行tail -f,然后立即管道到ssh,ssh里面执行的命令是将当前的数据流(因为最前面写了cat,和split --filter有点像)写入某个日志文件里🤔然后我登进那台小鸡tail -f那个日志文件就可以看进度了(确信🤔

终于,在玩了大半年github actions后,我第一次可以有机会实时观看某个runner的进度,而非像以前那样只有跑完才能拿到日志文件,甚至有些时候我还拿不到日志文件,因为它中途卡住了,根本跑不完(恼🤔

所以这个玩意有没有可能添加进project cosette里面?这个我就不清楚了,到时候再说🤔

bruhfei

很快,那个破ipv6小鸡的nat服务器就被橄榄了(悲🤔我尝试了从cloudflare access到什么sslh之类的各种方案,都连不上🤔但更离谱的是,几个小时后我的github小号都被扬了,之后用某域名注册的号也被风控(全恼🤔

所以我只能切回主系统用某易邮箱撸一个号了🤔现在看来,我开始怀疑ssh连接能瞬间橄榄github账号(确信🤔那么我只能用http的方式传递日志数据流了🤔

某台小鸡卸掉nginx装apache,好家伙,根本不用配置就能用cgi-bin🤔我随便写了一个cgi-bin脚本,这玩意极其简单,post请求的请求体直接便乘了stdin,我只需要一句cat > filename.txt就能完成保存日志文件的任务,接下来我只需要在github actions的脚本里照常将tail -f的数据流管道进curl,应该就vans了(确信🤔

除了它什么都没出,别说日志文件了,连curl请求都没发起🤔我寻思它八成得等日志文件打完才能开始curl上传,首先等它打完那我原先的上传脚本早就将日志上传到discord drive上去了,其次tail -f就不可能结束,除非手动ctrl+c🤔也许curl这种东西和gpg一样压根就不是流式玩意,它只不过是可以接受stdin作为输入而已(恼🤔

而用我之前最喜欢(大嘘)用的split --filter也没啥卵用,它还是卡在那里等tail输出完🤔我后面想到一个坑爹主意,将tail -f的输出转存到某个文件,然后对这个文件每读出并上传第一行就删除掉第一行,然后循环🤔这个玩意基本上只能输出五行东西,接下来它就什么都不输出了(悲🤔

我现在已经懒得折腾tail -f了,干脆将整个日志文件用cgi-bin上传到小鸡上得了,只不过小鸡那边需要完全覆盖而非之前设定的追加🤔这样其实和上传到discord drive也没什么本质上的区别,只不过我每两秒上传一次而已🤔而且这么搞我那边就别想用tail -f来实时看进度了,毕竟现在每两秒日志文件就会被覆盖一遍,按照tail的搞法整个文件都会重新打印一遍🤔

也许我可以写个什么申必脚本在接收到的stdin和本地文件之间迫真比较,并将多出的部分追加到本地文件的后面而非直接覆盖整个文件,这样也许tail -f还能用,只不过便乘了每两秒更新一次而已(确信🤔

但无论如何,至少我可以半实时地看日志了,再怎么说也比搞完才能看日志好(大嘘🤔

AYAYA

在我一番迫真查stack exchange后,我找到了找出上传到小鸡的新日志文件(和原来的日志文件相比)新增内容的申必代码了,就是:diff --changed-group-format='%>' --unchanged-group-format=''🤔现在这个日志远程传送的脚本非常完美了,我没有用到禁忌(大嘘)的ssh,没有用到睾贵的ipv4 vps,我只用了一台ipv6垃圾鸡套cloudflare,就完成了这套玩意🤔接下来也许我可以去整什么onedrive转三盘还是双盘来着,等等,我寻思度盘还是单独用某台大盘鸡上传得了(恼🤔

接下来还有什么antics可以搞一搞?也许我可以把cloudflare worker版的任意url转guilded(单文件)脚本改写成bash版并cgi-bin化,然后要么放在我那台小鸡上,要么放在我白嫖的那个webhost上🤔

nAAAAAAAAhida.22.12.02

凌晨impact cuties的时候突然发现onedrive转三盘的进度停了,按理来说这点东西到两点或多或少也该全搞完了,结果到四点了,除了一个线程早就完成了之外,别的线程要么只有六七个文件要么只有⑨个文件,从两点左右开始就一直没更新过🤔

我寻思度盘如果嗯是不让我上传文件,那也说得过去,毕竟度盘懂的都懂,但discord drive链接出了guilded drive链接没出是什么鬼玩意?guilded也寄了?🤔

吓得我赶紧停止了waifuhida impact,切回主系统一看,好家伙,两个github小号都被橄榄了,一个没法用github actions,另外一个压根就掉了登录,估计连号都给扬了(恼🤔

这可真たま的还行,莫非github actions的好时代,真にま结束了?🤔结束了就结束了,大不了我整个vps来撸这玩意,也就是用时延长到8倍而已,还是一天撸完的事(迫真🤔但我寻思某无限流量大盘鸡恐怕不能用了,因为它的guilded drive有问题,上传不了256MB分片(悲🤔

我上别处找个至少有8GB可用空间的vps,别的没啥要求,但网络最好是1Gbps乃至10Gbps无限流量,就很noice🤔

bruhfei

暂时没找到什么10Gbps无限流量的vps,所以我又注册了两个github小号开始接着用actions上传剩下的几个文件,这次倒是比较顺利,现在至少那两个drive全部上传完了,度盘那边新上传的只有两个是0字节,最后统计下来只有17个文件需要重新上传到度盘🤔

但光上传度盘的github actions跑得就不行了,两个小时了一个文件都没有上传上去,不知在卡些什么(全恼🤔我寻思我就是从本地一个一个一个一个文件慢慢上传,也比这玩意靠谱啊啊啊啊啊,所以我就时隔114514天后再次从本地开始上传度盘了🤔以后这寄吧玩意要是一直这样,我本地上传一遍onedrive再上传一遍度盘也不是不行🤔

或者,我退而求其次,用我的大盘鸡单线程上传?它尽管下onedrive及算checksum速度肯定比github actions慢(也就大概是两倍时间那么多,也慢不到哪儿去),但至少上传度盘方面是毫不含糊的,我测了好几遍都能达到1Gbps甚至⑨00Mbps这个级别(确信🤔再说了,它的固态部分也有超过8GB的可用空间,那就完全ojbk了🤔

thonkeqing

当然这段时间我也在研究度盘的api也就是pcs.baidu.com有没有什么antics可以整,既然我在国内可以用改api域名的方式来使用discord或guilded,那么在国外改度盘的api是不是也能迫真提高其网络性能?再怎么说cloudflare在国内的合作方就是屑度(确信🤔首先能考虑的是用cloudflare的cname来撸(也就是把某个托管在cloudflare上的域名的某个cname记录设置成pcs.baidu.com),而pcs-go那款软件的新版支持修改api,尽管它貌似不是很允许我修改api为我自己的域名,但它可以在配置文件里面直接改(确信🤔

只不过改完后它死活上传不了半点文件(全恼🤔我不带任何post参数跑了下度盘部分api,发现这些api返回的玩意,我的域名和pcs.baidu.com居然完全不一样,更不用说带参数的了🤔接下来我测试了cloudflare worker版本,也是不行,这可实在是太寄吧邪乎了🤔

当然更邪乎的是为什么本站支持播放hls视频,而法克晴居然不支持?它们用的可是同一个视频播放插件啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊🤔

luminethonk

其实我一直想给github actions加上一个能够实时追踪日志的功能🤔也许tail -f可以用来在本机实时跟踪日志,只不过我不清楚有没有可能将这玩意的输出以数据流的形式传递到另外一台机子上🤔举个不恰当的例子,假如这台机子有独立ip并能跑cgi-bin的话,我就可以通过在cgi-bin脚本里使用tail -f的方式来实现这个目标,但github actions很明显是没有独立ip的,所以也许我只能将数据流发送到另外一台机子的某个端口,而在那台机子上通过某个命令,就像cgi-bin脚本方案里使用curl那样接收数据流🤔我不清楚linux有没有这样的机制实现这个功能(悲🤔

thonkeqing.22.12.01

昨天下午出门前又准备了一波8GB包,开始上传🤔由于那坨东西大于某个sharepoint site的最大空间,我将一部分塞进了这个site里面,剩下的部分塞进了新的site里面,预计今天零点的时候这部分会上传完,然后上传下一部分🤔

当然昨天下午我在外面还是连进去impact了一段时间的cuties,肯定对上传造成了一些影响,比如串流会占掉3MB/s带宽,导致上传onedrive的带宽缩到了7MB/s左右(悲🤔反正最终它到零点大概半个小时后上传完了🤔

接下来上传居然停了,因为我昨天搞得比较急,完全忘了将那个新的site添加进那个系统rclone的配置文件里🤔我甚至都不用手动停止它上传第二部分,实在是太巧了🤔趁此机会赶紧记下来第一部分的用时,切到主系统完成了一大堆月初的例行工作,然后光速切回去接着上传🤔

thonk

这部分感觉比上部分少多了,我本来可能指望它传到下午,结果十个甚至⑨个小时就传完了🤔今天下午我还要外出,那时我就可以随便在外面impact cuties,而不用担心拖慢上传或者被上传拖慢了🤔

AYAYA.22.11.30

今天凌晨几点的时候实在是睡不着,所以起来搞onedrive转三盘🤔尽管这次还是有的线程快有的线程慢,但两个半小时后,度盘文件居然一个都没缺,而且也没有一个文件是0字节,说明所有文件都成功上传上去了(确信🤔看来线程数设成128还真有点卵用(迫真🤔

那真滴牛批,这大概是我玩onedrive转度盘以来第一次所有文件都成功上传了,至少我不用浪费若干小时再上传一遍某些文件的度盘🤔

接下来我发现了一件极其尴尬的事,在我上次更新github actions专属guilded drive后,居然忘了在统计文件大小的语句里面加temp/,导致它找不到文件,继而导致打在频道上的消息没有文件大小参数,只有一个( bytes)(恼🤔但修正这个倒是没啥难度,这些文件里面也就只有4个文件大小不是8GB,别的都是8GB,直接全部将文件大小改成8GB,然后再将那几个不是8GB的按照上一行discord drive打印的数据改了就vans了(确信🤔

没啥好说的,直接光速开始下一波图像处理(迫真🤔貌似那块6TB硬盘快没空间了,赶紧再次下单一块新的6TB硬盘,估计下下次应该就需要换盘了🤔

mushroomcuties.22.11.28

从昨天下午四点一直肝到了今天早上四点,我终于彻底肝完了四个号的3.2版本活动,蘑菇竞技场还是啥玩意来着(全恼🤔

其实这个活动的主要可玩部分我所有号早就打完了,基本上一个号有个最多两小时就能拿全奖励,还是只要一小时,忘了🤔但和前几次版本活动不同,这次活动最重要的奖励,dori chan命座,却需要完成它的几乎整个活动剧情才能领(恼🤔上个版本的武器(尽管没什么卵用,但好看啊)打到一半可玩部分就可以领了,而上上个版本的collei chan不是一开始就能领吗(全恼🤔

还好这次活动剧情基本上没什么合影impact内容,我才能做到一个号只(迫真)用两小时就打完了,不然的话没个四小时估计对不起这破游戏的坑爹限时玩意(全恼🤔无论如何,我还是低估了这玩意需要消耗在剧情上的时间,在我的迫真预计中这玩意不是只要不到一小时就能打完吗?就像可玩部分🤔

接下来截图压缩才是开始令人傻眼的时候,迫真加了一下总体积居然达到了整整700GB,最乐观估计压缩后体积也得有至少220GB,基本上可以算是自从我开始压缩游戏截图以来单次压缩的最大体积了(确信🤔所以这坨玩意没十个甚至⑨个小时应该是压缩不完了(恼🤔

thonkeqing

与此同时我来找点趣闻(迫真🤔比如某家叫做edgevirt的vps厂子,推出了一款大盘鸡,1GB内存1TB存储,还有50TB流量,我寻思就算每周对全盘来一次数据转三盘(考虑到这些数据肯定不会凭空出现在那里,下载它们到大盘鸡的过程肯定也得算至少一倍流量,这算下来应该是五倍流量),也远远够用了(确信🤔但最离谱的是它有40Gbps的超大带宽,比某vm的10Gbps还要离谱,考虑到它(应该)只有机械硬盘存储,我比较怀疑什么应用能占满这个网速🤔当然如果它能像某vm的ceph架构虚拟机械硬盘那样能跑到丧心病狂的600MB/s峰值的话,我估计它也能在guilded drive上跑到3Gbps🤔有人评测只有100MB/s,那我估计就不怎么行了🤔

至于价格方面,和某个需要年付的大盘鸡一样也是4美元一个月,但首先它可以月付,其次那个垃圾玩意1TB硬盘只给了2TB流量,完胜从某种程度上说都不足以描述前者对后者的怎么说呢,碾压了(🤔当然现在我手头的大盘鸡其实是太多了而非太少了,但如果某恐婚群的老色批们能众筹我一年费用(也就是48美元)的话,我倒是可以买个它去挂你群御用pt的cosplay porn一年(确信🤔

我还看到一家叫做hosmatic的应该是德国vps厂子,卖512MB/10GB的ipv6 only vps,价格是0.5欧元一个月🤔我记得曾经还在用hax/woiden的时候我还迫真分析过它们开一台小鸡的成本,好像算出了0.34欧元这个数,看来这个0.5欧元的小鸡还是有得赚的(确信🤔这个站除了vps和dedicated外,还卖一些更加神奇的玩意,比如0.25欧元一个月的discord bot,说到discord我就不困了啊(迫真🤔还有这个webhost,它上面写的是不是0.00欧元,意思是不是我可以像白嫖pikapod一样白嫖一个?🤔我寻思装一些oneindex还有我自己撸的discord cdn proxy也不是⑧行🤔

所以我就注册了一个,然后买了它那个标价0.00欧元的webhost,基本上走一遍流程就可以激活产品,几分钟后就可以用了(确信🤔它这玩意貌似是个plesk魔改的控制面板,有一个页面显示了支持的编程语言,我看到它除了python外别的玩意都支持,比如什么cgi还有什么fastcgi,而且它的webroot里面还有一个cgi-bin目录🤔这就有意思了,比如我以前在woiden的apache上跑的sh脚本就放在了cgi-bin目录里面,这是不是在暗示它也可以跑sh脚本?🤔

它的web文件管理器貌似可以直接编辑文件,所以我就随便撸了一个cgi-bin格式的sh文件,只需要先输出响应头或者最简单的echo一个Content-type: text/html,再echo一个空字符串,接下来该怎么搞怎么搞🤔cgi-bin就是这种神奇的东西,在脚本最前面输出了合适的响应头的情况下,在另外一台机子上curl这个cgi-bin脚本,基本上在本机上bash这个脚本可以期望的输出是一毛一样的,甚至包括时间方面,比如原来的脚本输出了一段东西,sleep了两秒再输出另外一段东西,那么它在另外一台机子上被curl时也是输出了同样的东西,sleep了同样的秒数然后输出了同样的东西(确信🤔而如果拿cgi-bin做proxy用,那就更简单了,只需要将原脚本里的curl便乘curl -i就vans了,连响应头都不用构造(确信🤔

那么我寻思这狗逼玩意是不是可以用来折腾个cgi-bin版guilded tube?🤔这一定是件非常有意思的事情,我整的那个垃圾玩意只给了1GB的空间,但我好奇它是用什么方式限制我的空间的,如果这1GB的空间是我那个linux用户(它那玩意貌似一个账号对应一个linux用户)的所谓文件系统限额,那就不太行了,但如果它只是那管理面板的限额的话那应该没毛病🤔不过这么做总感觉怎么想怎么缺德,毕竟那玩意真的就是个传统的共享用户webhost,而非像pikapod那样的容器,所以我还是继续雷普微软⑧,它我就暂时放过了(迫真🤔

lickeqing

话说github现在又推出了一样新玩意,叫做codespace,一眼看上去像一台可以随便用的临时vps,而非只能给几个参数自动运行的actions🤔它基本上可以做任何事,除了apt-get貌似不是很好使🤔但我觉得它最大的用处其实是用它撸出来的一个在线版vscode来实时写代码,也许还可以直接编译代码,然后将生成的玩意直接git commit到github仓库里🤔难怪我在上面跑guilded tube时它会提示有114514个文件可以commit,所以恐怕guilded tube还是用actions跑比较合适(确信🤔另外这狗逼玩意的最大运行时间我都不清楚,会不会像actions那样限定6小时?但至少目前它还是免费的,我那些白嫖号也能用,看来微软闲钱实在是多的1b啊🤔

guilded tube.22.11.27

昨天晚上困得批爆,睡了一顿醒来后突然想做做一直想做的guilded tube,四五个小时后撸出来了🤔结果又是改进它,又是顺便(迫真)改进了下guilded drive脚本,又是做了个github actions版的guilded tube,嗯是搞到七八点才搞完(悲🤔考虑到cuties impact的版本活动明天四点就结束了,而我居然还有四个号没打活动剧情,这实在是太离谱了(🤔

poc

首先按照惯例(迫真)我先撸了一个小型的概念验证,生成了一个m3u8,用浏览器版guilded上传页面上传了四个分片,并将返回的txt链接(guilded当然不支持上传ts文件)粘贴了进去,最后将魔改后的m3u8上传到discord上🤔

双击后它居然开始播放了🤔看来m3u8里的视频分片填txt真的一点问题也没有,可以说是解决了我的(自guilded drive技术诞生以来就有的)最后一个忧虑(确信🤔既然如此,我就可以放心去魔改discord tube脚本了🤔

thonkeqing

一顿迫真分析后,我删掉了原来脚本里一大堆和上传相关的代码,因为guilded多线程上传和discord完全不一样(确信🤔

现在我多线程上传ts文件的方法和基于tar数据流的guilded文件夹上传脚本基本上一毛一样,除了我塞进split --filter的东西不是tar数据流而是文件列表,所以分割依据也不是字节数而是行数(确信🤔

子脚本里面自然是先暂存stdin获取的文件列表,然后一行一个线程开始上传🤔m3u8文件名被当作参数传进了这个子脚本,所以接下来就可以上传完获取链接就地替换m3u8里的对应行了(确信🤔考虑到现在guilded上传txt时文件名这个参数有用了,我完全可以将原文件名、checksum、文件大小等信息全部塞进文件名里🤔话说上传音乐和上传txt走的是同一个api,这guilded的第一世界程序员脑子是不是被新冠美帝变种雷普了114514遍啊(半恼🤔

luminethonk

接下来我在本地做了一顿迫真测试,效果还不错,它既可以将生成的m3u8上传到guilded也可以上传到discord,因为guilded肯定不支持上传m3u8但discord支持🤔此时,discord webhook可以一条消息带两个文件,消息内容是m3u8的guilded链接(以txt的形式),附件当然是上传到discord的m3u8🤔实测mpv是可以输进那个txt文件为后缀的m3u8链接播放的,但浏览器肯定不行🤔浏览器肯定得用discord链接🤔

接下来在某大盘鸡上测试,结果出现了问题,我一次性设置的线程太多了,guilded开始封那台vps的ip(全恼🤔我寻思一时半会它也没什么解封的可能性,干脆用我之前设置的cloudflare cname域名上传得了,有种恁去封cloudflare的1145141919810个ip啊(吴慈悲🤔除了cloudflare白嫖版限制一次请求最大体积100MB,那么我的分片大小就只能设置成90MB左右了🤔

用新参数96MB/16线程设置好guilded drive后,它不仅走了ipv6还直接跑出了3Gbps的速度,我去,这机子居然能上3Gbps🤔其实我在某vps评测里看到它现在已经支持突发10Gbps了,3Gbps估计有点受限于其磁盘io的意思🤔很不幸的是一次多线程批处理只有一半线程能出结果,还有一半返回不了链接(恼🤔

看来,我得同时给guilded drive和guilded tube都加一些错误处理和重试脚本了🤔考虑到这玩意每个上传线程里面都是各种管道,我的while循环只能加到管道开始的地方,也就是那个叫做upload_subprocess函数里面的某条语句那里,不然管道后端的函数重新跑起来时再也无法从stdin里读到东西(悲🤔同理guilded drive v4也被我否定了,它尽管没有任何中间临时文件,但它连分片同时算checksum和上传的功能都没法实现,更别说无限重试了(恼🤔

又一顿迫真折腾后,现在它不仅可以对上传失败的分片进行重试,还有带颜色的输出,就像我的discord drive脚本那样(确信🤔而且我还能测出来,无论是guilded drive还是guilded tube,比较合适的线程数是8,而不是16🤔我也借此机会给guilded drive文件的上传部分加上了以checksum作为文件名的功能,顺便添加了其他一些改进,还将github actions用的版本也更新了一遍🤔这两个脚本现在都非常完善了(确信🤔

另外既然它都开始走cloudflare了,我的另外一个之前跑guilded drive龟速的大盘鸡是不是也可以光速跑了?🤔随便测试了下,现在它能跑出1Gbps甚至⑨00Mbps的速度,不错🤔尽管不能将分片大小设置成256MB还是有点不爽🤔

thonkhida

现在几乎只剩下一个问题了:一个叫做guilded tube的东西居然还要依赖discord,这听起来何尝不是一种ntr(大嘘🤔所以我还可以写一个cloudflare workers,来将guilded链接便乘真·m3u8🤔实现起来很简单,它只要检测到链接后面的扩展名是m3u8,就会获取链接对应的guilded文件,将里面所有的链接替换成它的域名(以相对路径/的形式)或者不替换,然后生成一个新的response对象,设置好content-type为application/x-mpegURL再返回🤔否则的话就和我以前写的guilded下载worker一样照原样返回文件🤔

现在,这玩意应该可以随便用了(确信🤔

github actions

接下来我还可以将这个脚本魔改成github actions版,因为为什么不🤔现在基本上可以删掉它里面绝大多数的冗余代码,包括那段又臭又长的参数处理玩意,因为github actions上不可能会有什么参数需要处理,它基本上只需要两个参数:一个视频文件url,一个discord webhook url🤔

然后再随便写个yml,也是接受两个参数,搞定🤔

当然我需要先下载aria2c和ffmpeg,然后极其尴尬的事情发生了:apt安装ffmpeg可能需要一分钟,但用它给视频做hls分片的速度是一千多倍速;而静态ffmpeg尽管只要几秒就能完成安装,但它处理视频的速度只有几十倍速🤔实在是让人吴fuck说(半恼🤔

examples

discord托管的guilded tube m3u8:

https://cdn.discordapp.com/attachments/976157335020007494/1046157786251264020/thonk.m3u8

guilded tube直链(大嘘),没有替换里面的分片链接:

https://guildedtube.wiebitte.workers.dev/6a433287338fbb468f3adacdfdc1dd2b-Full.m3u8

将分片链接替换成了(和m3u8)相同的域名:

https://guildedtube2.wiebitte.workers.dev/6a433287338fbb468f3adacdfdc1dd2b-Full.m3u8

pc可能需要装cors everywhere,手机的话应该不需要(确信🤔

bruhfei.22.11.26

今天这onedrive转三盘整得实在是不怎么样,一觉起来居然有三个上传错误,一翻日志,1TB的site被彻底塞满了(悲🤔

只能再用另外一个site来重新上传它们了🤔之后撸github actions,前⑨个文件还算比较顺利(迫真),到最后一个文件了,半个小时我都没有收到任何新消息🤔

用皮炎子都能看出来度盘在那儿卡,直接结束掉runner再跑一遍最后一个文件,十几分钟后有一个线程跑完了全过程并返回了日志,好家伙,度盘上传速度只有个位数MB/s,全程上传了12分钟,差不多和我本地一样慢(恼🤔更加离谱的是在接下来的排查中,我发现某一个文件夹全都是8GB文件,吓得我恢复了文件名,果然它缺最一个分卷🤔很明显我不可能在缺失最后一个分卷的情况下(在需要恢复时)解压出里面的东西,那我肯定不能保存它们了,已经上传的部分也得删掉或者从我的本地数据库里删掉链接,估摸着只能下次搞的时候(可能是今天,可能是两天后)顺带着重新制作一次了🤔

我寻思它的度盘上传如果还是这么死🐴的话,我下次是不是可以考虑将onedrive转双盘和onedrive转度盘拆分开来呢🤔但现在,我至少可以先把度盘上传的线程数调到128再说,反正这狗逼玩意无论32、64还是128,每次上传总有几个文件出问题(恼🤔

thonkeqing.22.11.25

这几天逛各种便宜vps评测,我突然看到一个年付48美元的大盘鸡,2TB硬盘,一看流量只给了4TB(或者更坑爹的100Mbps无限流量),拉寄吧倒⑧(全恼🤔光discord drive就需要两倍流量,三个drive同时上传一遍就四倍流量了🤔

话说我自己的某台不是无限流量的大盘鸡,流量也缩到了5倍(毕竟它5TB和10TB一个价),但那是因为我现在很少再用它了🤔我要是哪天重新启用了,搞不好还得重新多买流量🤔

AYAYA

在找了114514个玩具🐔评测后,终于撸了一个看起来像样的ipv6玩具🐔🤔三个月⑨块钱(最后加上一堆申必手续费后到了10.59),内存给了512MB还是500MB还是400MB来着,硬盘10GB,而且还是kvm🤔那真滴牛批,至少比woiden好使,woiden还是openvz垃圾🤔而且再怎么说它的管理后台比woiden好用1145141919810倍,更别说它还有vnc🤔另外本站也是512MB/10GB(迫真🤔

接下来也许我可以给它挂一个cf,然后我就可以拿它驱动project cosette了(确信🤔

barbruh

这狗逼玩意装nginx+fcgiwarp怎么折腾都折腾不出来,实在不行我恐怕只能用apache的fcgi模块实现bash cgi了(全恼🤔

我还尝试给它装一个叫做centos web panel的玩意,装起来基本上要花掉半小时,接近vestacp的两倍🤔装好后它还登不上,一顿迫真排查后我发现它的管理界面是用nginx托管的,然后它的配置文件写得只支持ipv4(恼🤔加上v6相关语句后终于可以打开后台了,别的我还没研究,只看到它貌似有一个php切换功能,但由于某种申必原因,它切换php居然需要从头编译php,反正我搞了两次都没成功🤔它也许还可以直接用yum来装php,但这个功能只有专业版有,草,所以那套编译php的玩意114514%是故意用来恶心白嫖用户的(恼🤔

我寻思如果这套玩意跑不动它,那么本站用的vultr小鸡八成也跑不动它🤔同理,这个破玩意可以跑vestacp,那么那个更破的玩意搞不好也可以跑vestacp,那为什么我不去给它装个vestacp?🤔当然project cosette到今天还没有确定该用什么实现,bash?php?python?我还在寻思🤔