thonk.22.01.12

https://mp.weixin.qq.com/s/Ar0RC2g-6F0le6pKxx0Ryg

写点迫真读后感🤔尽管刘仲敬梗都已经被玩烂了,但还是那句话:arm费拉不堪,x86武德充沛(确信🤔而在arm平台上的一系列手机操作系统里,android和ios甚至比win mobile还要费拉不堪🤔

迫真论证我就不展开了,就说一件事:android/ios设备可以在不借助别的设备的情况下开发运行于它自己之上的应用吗?🤔至少到今天,对这两个平台来说答案也是否定的🤔当然也许可以用各自平台上的py解释器来迫真bootstrap,但如果这么算的话,esp8266都可以bootstrap,所以我觉得这个还是指原生应用,而且更多情况下指原生图形界面应用,谁tm在手机上跑命令行(确信🤔

尽管说好像也没什么用小屏设备开发应用的必要,但至少我认为bootstrap是完整计算机系统不可缺少的东西🤔而如果它做不到,那它就是和arduino或者esp8266一样的高级玩具,无论它有几个核心,卖多少钱🤔

再说了,不能bootstrap就算了,android/ios居然还不支持虚拟化🤔尽管x86理论上来说并不是什么适合虚拟化的平台,但实际上pc上绝大多数的烦恼就是可以用任何形式的虚拟化解决,而android/ios完全不能(悲🤔这让它们看起来更像高级玩具,更别说真·高级玩具,最垃圾的x86平板都能跑虚拟机🤔

bruh

真的,我在这里抛出一个来自21世纪初的暴论:我单方面认为使用计算机和类似的设备,还是保留点门槛比较好🤔像早期计算机的那种门槛大可不必,但像现代智能手机这样的几乎没有门槛是有问题的🤔一个完全没有门槛的智能系统,会让使用者忽略所有的技术细节,这样那些能够掌握技术细节的系统制造商或者应用开发商,便能利用这项极其不对称的优势剥削乃至奴役使用者🤔

手机操作系统就是最典型的例子,为了降低门槛,它在应用之间做了隔离,并隐藏了文件系统等细节,而用户在无门槛使用它们的同时,也被剥夺了或者完全是主动放弃了魔改它们或者至少深度使用它们(比如随便备份和恢复数据)的权利🤔于是开发者就能将任何他们想强加给用户的东西毫无限制地强加给用户,比如114514条垃圾广告甚至系统级别的垃圾广告,比如android平台每个app无限接近于spyware,比如这两个手机系统居然没法完整备份和恢复,比如用大数据算法彻底奴役其用户(悲🤔

但在pc上,我们还可以用知识和技术来对大企业的奴役行为进行对抗,我们还有adblocker可以橄榄广告,还可以用http分析来解构webapp,如果你段位足够高的话还可以逆向二进制🤔而在android和ios上你就只能用root/jailbreak这样的非常规方式来完成这些事🤔

thonk2

所以,对于下一代的移动设备,比如ar/mr来说,如何让它们成为更好的电子设备,而非更坏的电子设备?🤔换句话说,如何完成这个目标:人类应该奴役科技,而非被科技所奴役?🤔

在我看来,最起码这个设备应该满足:

  • 它本身的处理器最多只允许运行图形界面,具体做某件事情这件事应该放在一台远程pc或者在某些情况下,背包pc(一种不提供任何图形接口、只能计算的pc)上🤔换句话说,我对这些设备的定位是一个现代版的3dna desktop加终端机🤔再说了,arm处理器的垃圾性能除了能跑广告外啥都干不成(半恼🤔

  • 更进一步,它的每一个应用如果可能的话,都跑在某台远程机器的某一个docker或者别的啥玩意容器甚至虚拟机上,通过特殊的加密协议在这个设备和容器之间传输数据,本地不存储access token之外的任何数据(确信🤔这个远程机器有可能是家里的pc,有可能是背包里的pc,有可能是车上的稍微大些的pc,甚至有可能是一台在美国甚至近地轨道上的vps🤔而且这些容器之间也可以用任意方式通信,比如先从美国vps传输完整数据到本地pc,然后从本地pc传输部分数据到终端🤔

  • 它需要其用户具备高于平均的pc知识才能开始使用,包括但不限于内网穿透甚至编程等🤔

  • 它必须是开源硬件,而且不受任何大企业的支配,只要能搞到芯片,任何人都能在深圳的某个厂子里面把它组装起来🤔

  • 它的操作系统需要彻底开放所有组件,并具备完全的可备份性,可以随时将它里面存储的一切备份到硬盘或者某个地方,然后当备份档恢复到另外一个同型号或者不同型号设备上时,它应该和之前那个设备的特征完全一样,而非像垃圾android一样无限重启🤔

  • 由于本地很少存储任何数据,在最极端的情况下,它需要支持一键销毁所有本地数据(包括access token等)的功能,这样在敌人眼里这设备只是一块电子垃圾而已(确信🤔

这样的设备,我们才能说它能让人类的未来生活便乘乌托邦,而非像现在这种,无限接近于cuberpunk 2077(确信🤔

bruh

但现在ar/mr设备连硬件部分都没有得到任何实现,微软的那些高价玩具效果也不怎么样(至于可能出现的苹果ar,倒贴我都不用,你知道我和苹果在移动设备的哲学上有根本性的分歧),所以现在移动设备还是android手机或者更糟糕的ios手机这种东西(悲🤔

我肯定不会建议人们立即弃用智能手机,然后回到功能机时代🤔毕竟我11年就在用android了,那时应该是1.6🤔而说到所有智能机系统,我在05年就开始通过winmobile模拟器使用winmobile了,它不仅可以模拟一台winmobile手机,甚至可以模拟到让host系统认为插了一台winmobile手机的程度(确信🤔win系统里有个叫做mobility center的过时内置组件就是用来连接winmobile手机的,它能直接认出模拟器🤔

我可能会这么建议,建议人们用另外一种方式使用智能设备,那就是补上たま的pc的课(半恼🤔然后用使用pc的方式来使用android设备(ios就たま算了🤔

如果坚持用pc的方式而非那些带企业期望你的方式(沉迷于垃圾应用,做带数据的奴仆)来使用android手机或者平板,你会发现这些设备除了处理器比较(迫真)弱外,还是勉强可以用的🤔我在android上也可以ssh连接我的vps跑任何bash antics,也可以使用audlux等android终端来做linux antics(甚至跑arm64的二进制包和跑gcc编译!),现在android也可以虚拟化了,那些内存和cpu过剩的最新款机子终于可以像pc一样用了(指遇事不决开虚拟机🤔我也非常喜欢在android版wp上写中文文章,而且它基本上和在pc上打字一样快(迫真🤔尽管英文文章不习惯在手机上写,因为我需要一边写一边查资料,而手机极其不适合做这个,它没有什么40寸大屏可以容纳下四个1080p窗口(半恼🤔

我以后如果教育我自己的孩子使用移动智能设备,没个若干年的高级pc使用经验,我是不可能给他们买智能手机的,搞不好在此之前他们真得用功能机打电话了🤔我可能会给他们一人买一个几万的pc和装满几十块硬盘的硬盘笼子,但几千的手机我还是得犹豫一下的,毕竟连我自己都很少用2000块以上的手机,哼哼啊啊啊啊,啊啊啊啊啊啊啊啊啊啊啊🤔

但教育这事还是非常难的,我不清楚我一人的教育有何德何能可以对抗整个时代对一个人润物细无声的“教育”(悲🤔我自己也许4岁的时候就已经开始使用pc了,但我不清楚现在乃至将来,一个4岁的孩子有什么理由会选择接触并终身使用pc,而非像现在更常见的,熟练使用手机但完全忘了pc怎么用🤔

barbruh.22.01.11

前段时间我突然听说某中文世界虐蟑螂第一人,他的youtube频道被demonetized了(悲🤔什么狗逼精神蟑螂壬居然能和蟑螂共情,我暂且蒙在屑tube老板被草了114514次松弛得能进出泥头车的批里(半恼🤔

说点轻松的吧,有114514人咨询我魔改12V硬盘转接器上哪儿买🤔我的回答是某家某宝店铺,问题是对方会认为我那串玩意是产品型号什么的🤔其实并不是,他店铺叫这名字,而且他那边是进什么货魔改什么,本质垃圾佬,只不过是高级垃圾佬,进货都是几千几千地进🤔

我今天又逛了一圈,看到一个usb2的硬盘转接器也被魔改了,只要13块钱,而且还带线🤔这可太にま乐了,现在居然还有人用usb2?🤔根据卖家自己的说法,这种电子垃圾在chia挖矿的过程中被大量使用🤔你确认chia挖矿对硬盘速度没有要求?还是chia生成地图的速度比usb2的速度还要慢?🤔而且更生草的是这破玩意居然不支持2TB以上的硬盘,但如果用别的玩意先把硬盘格式化成gpt分区表就可以用了,wiebitte?🤔

除了不清楚有什么卵用的接硬盘外,这玩意好像还可以接个光驱,这样也许接上12V驱动个破dvd刻录机还能勉强用用?🤔蓝光刻录就算了,蓝光12x时能达到50MB/s,此时应该上个什么asm1153的板子,然后刷固件🤔

我经常买的高级货,type-c接口的斐讯板子,居然从产品页面消失了(悲🤔套装貌似还在,还是40块钱,所以我要是想知道单板子多少的话恐怕还得问下🤔当然这个卖家我已经买了好几年了,如果只要一个单板子的话也是好说话的,我记得一直是24块钱来着🤔只不过我现在接某块固态u盘也是直接上sas了,我就懒得买第二块了,或者准确点来说是第三块,因为第二块被我不知丢到哪儿去了(悲🤔

wiebitte

顺便再借楼插播一条乐子,可以说是乐死我了.jpg级别的乐子:手机版qq安装包达到了800MB的体积,原因居然是塞进去了一个libue4.so:腾讯要在qq里实现高清3d版qq秀🤔

w-wiebitte?首先高清3d版qq秀已经让壬不知从何处开始吐槽了,为什么不做单独应用也没壬注意到,qq某一天居然会预装ue4是我十年前做梦都想不到的奇妙缝合操作,这简直就像pc版的discord客户端突然达到了10GB的体积,因为它准备将整个用户界面都便乘3d一样扯淡🤔

不过说到3d用户界面,其实如果pc使用时间足够长,比如20年吧,很难忽略一款叫做3dna desktop的神奇玩意,它就实现了一个3d的桌面,可以通过desktop文件夹的内容将快捷方式放在它的迫真3d桌面上,尽管用它跑其他程序并没法让那些程序的窗口便乘3d🤔不仅如此,它既然是个3d程序,而且还是个第一人称的3d程序,它当然可以让用户随便移动,甚至可以离开屋子到楼下玩迫真篮球游戏🤔用现在流行的说法,这玩意应该叫做vr launcher(迫真),但别忘了它诞生于20年前🤔我当时用一台清华同方的破品牌机跑它,居然不卡,有意思🤔

草,谁去开发个hd版🤔

thonk.22.01.10

在我处理照片而pc没法用的这段时间里,我突然想到这么一个问题,它大到关乎整个社会,小到关乎每一个人🤔中修由于少子化和老龄化肉眼可见的慢速衰亡问题,如何在个人和家庭这个层次来解决🤔

当然我们都知道这个问题该怎么彻底解决,它需要一场彻底的社会革命,以几千万壬甚至几亿壬被吊路灯的代价🤔而很不幸的是,我们这一代人和我们下面的两代都没什么可能有机会活到这样的社会革命发生的时候,而我们生命的晚期更有可能看到的,是中修的衰落,以及其他乱七八糟的壬种骑在华人头上拉屎(悲🤔

所以,等待一场社会革命毫无意义,还不如从社会的最小单位,也就是个人和家庭寻求解决方案🤔而我恰巧还真有一套(确信🤔

imagine yourself in a spaceship

有时我在寻思,未来的人类有能力将一对男女或者任何能够产生新人类的东西,比如一个孕育着胚胎的人造子宫,送上了前往几光年外宜居星系的移民船🤔那么,当他们抵达那个星系的某颗宜居行星,利用未来人类的黑科技直接撸出了一个殖民地出来,然后开始在那里生活时,他们会用什么方式来组建家庭?🤔当然,几百年的休眠之后,他们除了手头的黑科技外什么都没有,所以所有的一切都必须从有开始构建,比如,家庭存在的意义是什么?为什么这些宇航员有足够的黑科技可以独立存活,而他们还是选择组建起了家庭?🤔

但无论如何,他们原来的人类社会没什么机会教他们任何东西,比如几年后他们才收到从地球发来的信息,整个人类文明都由于某些壬种想对另外一些壬种发动奥斯威辛引起的全球核战而彻底没了🤔当他们终于有机会开始观测地球的时候,他们只能看到地球表面种满了大大小小的蘑菇云🤔当然由于光速是有限的,那是几年前的景象,现在地球可能是其他缝合怪生物和未来可能来考古的外星壬的乐园(确信🤔

hardbass.22.01.09

一大早impact cuties的时候,突然想看下某首hbkn的歌有没有mv,结果发现没有🤔但我意外发现hbkn的patreon频道,只要1美元就能下载所有的无损歌曲,这不比dj blyatman厚道多了?🤔极其生草的是歌词居然在13美元一个月的高级套餐里面,hardbass的歌词值12美元?wiebitte?🤔

所以赶紧切回主系统搞了🤔我发现patreon这网站实在是写不成bash脚本,它翻页不用页数,用的是一串乱码(悲🤔这样的话我只能用老办法了,在浏览器里加载完所有页面,然后在firefox的查看器里面复制html这个标签的整体html了🤔通过这种方式,可以将浏览器加载的成果固化下来,供bash脚本分析🤔

接下来简单,脚本如下:

parameters="随便复制一个网络请求的curl(UNIX格式)"
parameters=`echo "parameters" | sed "s/-H 'Accept-Encoding: gzip, deflate, br' //g;s/--compressed//g;s/curl '[^']*' //g;s/--globoff//g;s/--compressed//g"`
function processpatreon() { #1 = html file name
    for links in `cat hbkn.html | sed 's/"/n/g' | grep wav | grep "http" | sort | uniq | sed 's/&/&/g;s/%3D/=/g'`
    do
        echo "links" >> list
    done

    for links in `cat hbkn.html | sed 's/"/n/g' | grep "file?h=" | grep "http" | sort | uniq | sed 's/&/&/g;s/%3D/=/g'`
    do
        eval "curl -I 'links' $parameters" | grep "[L|l]ocation:" | sed 's/[L/l]ocation: //g;s/[L/l]ocation://g' | sed 's/&/&/g;s/%3D/=/g' >> list
    done

    cat list | sort | uniq > list2

    aria2c -k 1M -x 128 -s 128 -j 32 -R -c --auto-file-renaming=false -i list2
}
processpatreon hbkn.html

其实我感觉二次去重的作用不大,反正下载的时候文件名一样的文件它也不会重复下载不是🤔

话说它这个hbkn的合集(迫真)为什么没有eastern bloc这首歌(半恼🤔连kgb都有,说明不是djblyatman联动的问题🤔但无论如何,我搞到了无损hbkn歌曲,可以接着去cheeki breekiimpact cuties了(确信🤔

antics.22.01.08

今天一起来感觉我的github actions antics貌似还缺点东西,对了!给它上传discord drive的能力(确信🤔毕竟上传成artifact我不还得拖到我的存储vps然后上传discord drive,它那边上传反而快些,因为它网络比我的好,cpu比我的好,内存也比我的大,甚至硬盘也全都是ssd🤔

然而,可以将一个大文件上传到discord drive并生成一个sh脚本的antics,我不是很想放到github上面去🤔所以我在那两个yml里加了一行,赋予它能够对生成的每一个rar压缩包执行一次某申必脚本的能力🤔而这个申必脚本,我可以挂在某个申必地方,甚至可以找个白嫖vps(比如ibm cloud)挂着,而且它执行的时候不会输出任何消息,至于它最后生成的脚本文件的链接?我直接用webhook发送到我的某个聊天室里了🤔而且更有意思的是,如果那一栏是空的,它就不会执行任何脚本,就像这个功能从来没存在过一样(确信🤔

当然,它也可以用来跑别的申必脚本,比如上传onedrive或者backblaze的🤔但这两者的话,可能你得在脚本里面解决rclone和它的配置文件怎么办这个问题,考虑到它可能还会被执行多次,那么是不是需要写个判断条件免得多次下载rclone呢🤔

既然它现在有了上传discord drive或者别的什么drive的能力,我是不是可以考虑设定一个选项,禁用它的上传artifact功能?这狗逼玩意耗费的时间是正式下载时间的五六倍🤔但当我想加一条input的时候,它突然告诉我workflow_dispatch只能有最多10个inputs🤔这就非常尴尬了,所以我恐怕得用另外一种方式整这个开关🤔

考虑到上传artifact这个step的开启条件是if: hashFiles('*.rar'),所以只要目录里面没有rar文件,它就不会开启了(确信🤔但问题是cleanup这个step的开启条件也是if: hashFiles('*.rar'),而我需要这个step来输出当前目录的文件信息,然后删掉所有rar包🤔我要是在我的申必脚本里删掉rar包的话,这个step也会被跳过;而如果我要是将rar改成别的扩展名的话,这个step也会被跳过(悲🤔

我尝试给它的if再加一个条件,但发现这么搞完全不行🤔所以,干脆这样好了,我在这个step前面插入一个叫做pre-cleanup的step,它的开启条件是if: hashFiles('*.114514'),因为我在申必脚本里将所有rar文件后面加上了.114514🤔而在它里面将所有的rar文件还原成原来的名称🤔而如果压根就没有执行申必脚本的话,也就没有.114514文件,它也不会被执行🤔这样,就完美解决了这个问题(确信🤔

现在,我终于可以抛弃它那个无论上传还是下载都慢的批爆的artifact功能,使用discord drive了(确信🤔而且那玩意可以说是非常的巴适,不像github action的页面需要登录啥的,discord我pc和手机都装了,用起来贼じば方便,如果我乐意,我甚至可以用手机下图片合集,还有多线程和断点续传,这个是github action那玩意绝对做不到的(确信🤔

thonk.22.01.07

整理东西的时候发现以前买了些dvd-ram,掏出一张准备刻点东西玩🤔这些盘真是垃圾的批爆,刻了之后完全读不出来可还行🤔看来这些两块钱一张的dvd-ram质量真是不行啊🤔当然,也有可能是因为我这光驱很长时间没用过了🤔

我那儿还有些高级货,松下的dvd-ram,现在还有卖的,⑨块钱就能买一张🤔它奇葩的地方是,它居然是个双面单层的碟,双面都是数据面,这下好了,我怎么拿这玩意(半恼🤔当然什么光盘都不建议捏边缘之外的地方,但这玩意尤其麻烦🤔为了装它我还特别定制(大嘘)了专门的盒子,能够在不碰数据面的情况下收纳它🤔这就是个高级(迫真)玩具🤔

4.2GB空间在今天看来实在是不算什么,尤其是稍微花一点小钱几个TB的硬盘都能买到(比如140块钱买2.4TB的硬盘,等下,那家还有货没有🤔bd25早在三四年前就已经不是最性价比的存储选项了,现在最性价比的是2.5寸垃圾盘(确信🤔

话说现在还有什么东西在用dvd-ram?好像是某些医疗器械来着,而且它们用的不是一般的dvd-ram,而是外面有壳子保护,像软盘那样的🤔这东西一般的刻录机也没法用,得专用刻录机(悲🤔还有一些上古摄像机也有dvd-ram,但它们用的是小碟装,只有1.4GB/30分钟🤔

bruh

按理来说dvd-ram既然叫random access了,它的扇区结构其实和机械硬盘更加相似,所以对它进行刻录的时候你会发现它速度居然还是恒定的,而非像dvd+-r或者bd-r一样先慢后快🤔然而如果用win的资源管理器直接复制文件的话,速度非常不稳定,所以恒定速度只有刻录软件才能做到🤔

奇怪的是我用松下的dvd-ram刻完后还是读不出任何数据,是不是因为我往里面塞的太多了?🤔

thonkeqing

草,raiden周本boss这个乐子实在是太大了,或者说它居然便乘了巨型乐子:

但最草的是这™居然还是个刻晴厨🤔我已经在114514种地方批判过刻厨的incel行为了,但我今天想说的是,关于米社背刺悖论的最终答案:我终于悟了(迫真🤔

普通壬可能认为在米社和beta tester(迫真)的关系里面,米社的最终目标是保证beta内容永远不会被泄露,尤其是raiden周本boss这种甚至有点剧透性质的🤔但每次米社的这个最终目标都完全没法实现🤔米社被背刺的次数如此之多,很难不让人怀疑米社的最终目标其实不是这个,而且其实这个申必目标被完成得非常好🤔而当这次事件的受害者(迫真)是个刻厨的时候,我™终于悟了:米社的终极目标就是招募有泄密倾向而且有很多钱的beta tester,故意让他们泄密,然后敲诈上个他们五十万或者更经常的情况下,十几万的庭外和解🤔

现在是迫真论证环节:

  • 首先,米社那玩意根本不算beta testing,作为一个真™学过软件工程的壬,我就不解释真正的testing是什么这个问题了,至少真正的testing是需要让tester接触到源码的,而作为职业,测试工程师需要具备不低于开发团队的开发能力🤔而且如果是正经testing,违反nda的后果可不是五十万这么简单,几百万都不够赔的🤔米社那玩意严格定义起来的话,只能算提前玩游戏,只不过比什么origin高级会员啥的提前得多而已,提前四十多天🤔
  • 然后,能够严格遵循测试流程并严格遵守任何nda、打死也不泄露测试产品秘密的是什么,是一般玩家吗?🤔当然不是,那是职业测试工程师🤔
  • 米社愿意招募测试工程师吗?当然不愿意🤔毕竟米社白嫖玩家白嫖出路径依赖了🤔
  • 所以所谓的米社背刺悖论就出现了:米社没有任何可能实现beta不被泄露的目标,米社的beta内容早晚都会出现在wfp等内鬼论坛或者聊天室里🤔
  • 然后,在所有申请beta testing(迫真)的玩家里面,米社使用了什么标准来挑选beta tester(迫真)?我们现在看到的情况是,米社会选择钱充得最多的玩家🤔因为在米社的特有认知中,beta testing不是一项专业工作,更像是给玩家的福利,所以充钱最多的一批玩家应该优先赋予这项福利(迫真🤔所以,它不需要参与者具备任何专业性(当然严格遵守nda也是测试人员专业性的一部分),也就完全不指望他们能遵守nda了🤔
    • 当然,如果你问我米社的软件工程实践里到底有没有真正的testing环节,我怎么可能知道,我又不是带伟哥或者genshin impact项目的壬🤔
  • 但这只是表面上的原因,我觉得深层次的原因是:没钱的玩家搞不好真的会严格遵守它的迫真nda,或者用另外一种方式“遵守”:直接把游戏数据文件卖给外国的那些dataminers让他们玩解包了(除非beta数据包本身满天飞了,不然米社完全没啥办法定位到那些角色模型啥的是谁泄露出去的),我估计dataminers肯定愿意掏钱买游戏数据🤔这个行为不仅没有任何风险(确信),甚至还能倒赚钱,这是喜欢对玩家敲骨吸髓的米社最不想看到的🤔再说了,你得足够有钱,才能觉得给最好的朋友分享一段甚至没有给uid打码的raiden周本boss视频是个风险足够低的行为,而且觉得dataminers给的钱不够多🤔
    • 米社这个屏幕右下角uid实在是烦的批爆啊,我玩正式服截图都先处理完uid再发网上🤔我估计哪天genshin modding真的火起来了,在能够让mona打出冰元素之前的第一件事应该就是可以定制uid,我倒想看米社准备拿uid为1145141919的用户怎么办呢(全恼🤔
  • 所以,与其说米社不指望beta tester遵守nda,不如说米社指望beta tester主动不遵守nda🤔而哪些玩家会有更大概率不遵守nda呢?那当然是有钱的玩家了🤔他们有钱往米社的游戏里充这游戏完全不值得得到的钱,就有钱交十几万的庭外和解怎么说呢,敲诈赃款可以说是🤔而且,他们有更大的意愿去在没有任何保护措施的情况下,以一种获取优越感的心态,来故意将米社的迫真商业机密(指raiden周本boss关卡不到一分钟的录屏)“分享”给他们自认为非常亲密的朋友🤔可以说一种非常平常的游戏内容居然便乘了优越感的来源,我们是不是在这里看到了hololive字幕组的样子?🤔

综上所述,beta testing(迫真)便乘了米社除了游戏本体外创收的第二块沃田🤔如果米社真的便乘“株式”会社了,你会发现故意诱导玩家违反nda所得的庭外和解收入居然能占到米社财报的百分之个位数(确信🤔只可怜incel刻晴厨,在游戏内被米社剥削,在游戏外也要被米社剥削,实在是让人怎么说呢,哀其不幸、怒其不争了(悲🤔

所以,厨什么刻晴,1145元素精通,请(吴慈悲🤔刻晴新衣服可以买买,r5雾切就真的算了,留给aJAJAJAJAJAka用去🤔我说过114514遍,刻晴只需要一把iron sting然后开始卖萌就vans了,深渊?正常壬谁™打深渊啊,是刻晴色图不够多了还是这游戏没乐子了(半恼🤔

rule34xxx

与此同时,我还将pixiv的github actions脚本无痛(确信)迁移到了rule34上,全程只花了不到一个小时🤔pixiv的那个referer header会导致rule34没法下图片,所以我挪了,考虑到现在的pixiv需要全程加parameter(看来这样的话就没法后向兼容v2了),加了parameter之后自然带referer,所以应该没啥问题🤔

我还看了一顿上传artifact的源码,看有没有办法将它便乘纯bash版本🤔最后我发现还是拉寄吧倒吧,上传artifact的过程极其复杂,需要先获取一个什么container url,然后往这个url里面塞文件,而且对每一个塞进去的文件,它需要分成4MB的块,按顺序传输,所以多线程是想都别想了🤔而这个传输分块的过程也极其复杂,光header就要加十几个,我觉得除了分块大小也许可以从4MB改大点、直接禁用gzip压缩(它有一个判断函数用来决定要不要gzip压缩,生草的是大文件都需要),也没啥可以优化的(悲🤔所以,还是默认上传吧🤔

barbruh.22.01.06

用前几天写的pixv antics跑了一顿altkeqing的色图(当然,也有全年龄的,我并没有写区分的功能),然后去火车站买火车票🤔至于为什么我不在线买,一方面我压根就没有注册12306账号,那玩意麻烦的批爆,还得去人工柜台登记啥的🤔另外一方面,由于我经常在都X堰和X都之间来回,玩自动售票机已经成一种习惯了(确信🤔

回来后发现actions居然中止了,wiebitte?🤔一看log发现是aria2c出错,而aria2c没有返回0的原因是,有几个文件是重复的(悲🤔首先让一个已经编译好的aria2c永远返回0很明显不太现实,那么我恐怕只能想到另外一个办法了:将那一大坨东西写进一个dump.sh文件,并让它在执行的最后阶段exit 0🤔这两种执行方式的区别是:前者貌似执行每一行都会创建一个临时sh文件并bash它,难怪它必须要把一大堆流程控制写进一行才能正常执行,而且每一行的每条命令返回的结果它都会检查,一旦有一个不是0,这整个step的后续步骤都不会执行了🤔后者是我们写的dump.sh其实被它的临时sh调用了,这样aria2c的报错就是子进程内部的事情,和它没有关系了,它只管子进程最后返回的结果(确信🤔

这样它至少不会因为重复文件而停止脚本了,接下来需要解决一个问题:如何将参数传递进dump.sh?🤔有两种办法,一种是正常的,在dump.sh后面加参数,另外一种是不太正常的,将dump.sh里面的参数占位符替换成实际的值,然后跑改好后的脚本🤔我使用了后一种,这样至少我不用在dump.sh里面写参数处理了,要知道光tags和artist两种参数就有四种组合,这玩意至少有六个参数,不像pixiv.sh只有四个,其中两个位置还固定,如果我给这个不到20行的脚本写个长达100行的getopt(别忘了这玩意算第三方程序,不是bash内部命令)处理流程,我たま是不是脑子有问题(半恼🤔

除了url这种带斜杠的玩意不适合用替换法带进脚本,但dump.sh也用不上url,url是pixiv.sh需要的,而它是传参数的那种sh🤔

barbruh

突然发现分卷压缩版的分卷编号没有改🤔原来这些分卷编号是靠生成yml的bash脚本来将partplaceholder替换成相应的part的,但现在这部分代码被我写进dump.sh了,而且由yml来生成,那么就意味着placeholder需要被替换两次🤔但我只有一个placeholder单词用,如果在yml里继续使用placeholder的话sed两边的字符串会变得一毛一样,如果yml不使用placeholder的话我还得改dump.sh🤔

最后我想到一个非常生草的解决方案,sed不是大小写敏感吗,yml里写sed 's/partplaceholder/partPlaceholder/g'就vans了🤔这样的话,生成yml的时候只需要把partPlaceholder替换成对应的分卷编号即可(有两处,一处是这个sed,另外一处是上传action里面的artifact名字),执行yml的时候会将dump.sh里作为rar文件名一部分的partplaceholder替换成分卷编号,完美搞定(确信🤔这样,我只修改了yml和生成yml的脚本(那部分我写进了readme.md里,当然也许我可以写一个自动生成yml的github actions,只要原来的yml有了push就自动执行🤔

bruhsette

在我折腾了不知多少个小时之后,终于给它加上了一个自动生成yml的actions(悲🤔由于某种申必原因,在action的虚拟机里面跑git将checkout之后的项目重新push上去时,如果更改的文件是workflow yml,它会直接提示权限不足🤔而如果想授予git需要的权限,操作非常复杂:

  • 首先,需要在账号设置里申请一个pat(personal access token),然后给这个pat赋予workflow权限(别的就不用点了
  • 然后需要在repository设置里,将上面给的secret填进Repository secrets里面
  • 然后在使用checkout action的时候加上两条属性,repository填${{ github.repository }},token填保存在上面的secret名字,比如我设置的是${{ secrets.AQUACRIUGUU }}
  • 不清楚有没有用,在git push之前加一句git remote set-url origin https://x-access-token:{{ secrets.AQUACRIUGUU }}@github.com/{{ github.repository }}

算了吧,看我写的wiebitte.yml吧(半恼🤔我估计这玩意的可移植性应该是彻底没了,fork之后还得重新设置pat(悲🤔

wiebitte

话说西安越来越にま离谱了,孕妇在医院门口流产我觉得已经足够离にまれげ大谱了,现在心脏病人在医院门口活活心绞痛死都出了,like seriously wiebitte? 🤔这全医院的壬上到官僚下到基层一个一个一个一个脑子里都たま装的什么精液啊(全恼🤔

这群反动官僚什么时候能死一死啊啊啊啊啊啊啊啊啊啊啊啊啊啊🤔恁还真几把以为现在是秦朝,而恁市是秦朝首都啊(全恼🤔话说前年美国壬为什么会选择在武汉投毒而不是在西安🤔这要是在西安投毒的话,以这群反动官僚的死妈尿性,不死个全城一半人口我估计没得完,至少这群反动官僚得死上一半以上才能停(悲🤔いいよ!来いよ!和1⑨岁外孙女当众舌吻的美利坚炼铜术士总统批登,快开动你的黑色高级舆论机器,把你的迫真马列牌砸在西安反动官僚的胸上!胸上!!🤔或者至少把你国最新款的新冠病毒注射进西安反动官僚的冠状动脉里!冠状动脉里!!🤔をたま还真想亲自往纽约时报投稿做拱火壬,这火たま不烧一把不行啊(全恼🤔

当然,病人死在医院门口也算是二共特色奇观了不是🤔就像我在某家大医院看牙已经花了将近1200了,而我的牙至少这个时候还たま在疼🤔你たま甚至都不是美帝(半恼🤔不过对一般通过西安壬来说,恐怕qol建议只有一个,赶紧run到别的城市去,越快越好,至少等这波疫情一结束就赶紧搬家(悲🤔

话说回来我准备怎么向我的外国好友介绍这件事情?🤔算了吧,我介绍个锤子,这不实锤中修治理模式的失败或者说失败的中修治理模式了吗🤔实在不成,我干脆学饭圈母壬,将西安开除出中修得了,单方面许诺他们西安独立,然后他们就可以派壬颜色革命它,把它折腾成民主自由(迫真)的天堂啥的,看病人会不会接着死在医院门口了,草,我たま也是一个、一个一个一个一个加速壬啊啊啊啊啊(迫真🤔

如果是spqs的话,就可以直球将西安开除出正常城市籍了,然后开始直球军管然后奥斯维辛反动官僚啥的,一个一个一个一个全部挂城墙上,就当继承诸葛亮的遗志好了(迫真🤔很难不thonk蜀汉诞生的终极目标就是把旧汉室和魏迫真朝的反动势力一个一个一个一个挂城墙上🤔但中修不是spqs,所以这些反动的玩意恐怕还是得容忍其存在不是,not哼哼啊啊啊啊啊啊啊啊啊,啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊🤔

raidenthonk.22.01.05

草,raiden便乘了周本boss🤔看这装束,和脚底下踩的玩意,raiden(或者说raiden的姐姐makoto)不会真的被深渊势力改造成肉便器了吧(悲🤔raiden厨激怒(等等,raiden哪来的厨?raiden除了战力哪儿还有可以厨的?ayaka还可以勉强厨一下,抠抠米也可以更加勉强地厨一下,raiden我实在是想不起来🤔你准备去厨一个做天理的狗被深渊势力干一下就怂了还能说出“唯有永恒更接近天理”这种不清楚是真投降还是拍迫真马屁的垃圾话来(不过考虑到raiden和八重能把神之心随便送人,八成是后者)、几百年不上朝自己的国家便乘了谁都可以雷普一顿的肉便器、追求所谓的迫真“永恒”追求魔怔了、在后面的版本里面还有可能真的再次便乘肉便器的废物神,那我也没啥好说的(半恼🤔

不过既然是周本boss,非常有可能是2.5的周本boss,那它肯定是raiden或者八重传说任务(让我先瞎寄吧猜测下,应该是八重的,就像钟离part2一样,raiden的姐姐并没有被橄榄,而是便乘肉便器后被八重封印了起来,然后就像钟离part2那样即将逃了出去,然后就和八重的迫真职业开始重合了🤔)之后才能解锁的玩意吧,搞不好还是八重天赋素材的来源(悲🤔估计还是得硬着头皮打就是了,反正我玩这屑游戏已经将近一年半了,我也是够贱的(全恼🤔

话说这游戏停服更新的这几个小时,我却有了一股想玩的冲动,而几个小时前我宁肯搞github actions也不想玩它🤔到时候我们来看下它那个enkanomiya好不好玩🤔

所以,这段时间我去干点什么呢?要么我把xs project的音乐先拖下来?上次搞hardbass合集的时候不清楚为啥居然没有搞xs project的可还行,上三号机结果发现三号机压根就没有装yp-dlp,而且也装不了,然后我才意识到这台破机子dns有问题,大概只能上上discord drive(悲🤔所以,四号机走起,反正它上面也有1⑨0GB空间(确信🤔

barbruh

另外cuties impact国服有四个角色被迫改模型了,琴酱默认服装露出的半球直接没了(悲🤔amber好像没了乳沟,好像袜子变长了还是裤子变长了,但我怎么总感觉amber奶子也变大了,以前我总以为amber是小乳房萌妹,但现在看来amber的乳量也是t1级别的(确信🤔mona便乘了怎么说呢,蓝色蜘蛛侠(迫真🤔不过话说回来我看到的mona怎么经常什么都不穿呢🤔至于rosaria,貌似网纹丝袜没了,便乘了普通的黑色丝袜,但考虑到我的rosaria连c2都没有,我也没怎么玩🤔

吴内鬼,来点不穿衣服的mona:

话说我直到看色图才发现mona改了,我大概是一个一个一个一个假的mona mains吧(悲🤔

琴酱到现在还排在t1级萌妹的最前面,很难说奶子没了不会对琴酱的萌度造成什么消极影响(迫真🤔当然真正的琴酱lover早在1.6时就买了海岛主题服装并彻底抛弃了默认服装,所以其实问题也不是很大,至于我那个琴酱小号的琴酱就不太好说了(悲🤔所以除非你需要用原游戏而非koitatu的琴酱来打飞机,不然几乎可以忽略不计(迫真🤔我觉得琴酱和amber的衣服才是这游戏一绝,它绝对不像mona和fischl chan的衣服一样只是个贴图,而是有内部结构的,可以像downblouse那样看到半个乳房🤔

至于amber,没了乳沟后我才关注到amber惊人的乳量(大嘘🤔mona是我目前maxdps的一部分,所以我还是挺注意到变化的,但怎么说呢,mona原来的形象在otaku里也是非常有争议的,这次改了争议也许会变少吧(确信🤔

不过现在倒是有一个疑问,什么申必势力能够逼迫米社改模型?🤔现在至少有两个假说,赵弹说和打拳母壬说🤔我觉得右反大概喜欢第一种假说,而正常壬喜欢第二种🤔如果是我的话,肯定更喜欢反动家长说,但这个其实可以合并到赵弹说里,毕竟反动家长得向广电实名举报才能打出赵弹,完成它们反动的政治目的(确信🤔

不过这些都是假说,或者比迫真论证好不到哪里去,毕竟它们都没有实锤证据🤔赵弹说必须能找出举报记录(可能需要点黑帽子手法)或者能查到明确的行政文书🤔母壬说也得能找到举报记录并且证明举报者是个母壬🤔反动家长说同理,但这些证据都没有出现🤔

还有一个更生草的,腾讯背刺说🤔当然,这个是米卫兵日常阴谋论了,只要米社遇见114514件阻碍其王道征途的事,其中1919810件就是腾讯干的🤔就像cuties impact萌妹和深渊法师一样,腾讯都快便乘日常boss了(确信🤔

wiebitte

这么快就接近实锤了,wiebitte?🤔我反正不敢相信这是真的,这一定是某申必势力反串魔怔拳师,对吧?🤔哪有壬傻逼到2.4上线才不到8个小时就开始耀武扬威的(半恼🤔这个时间点这么高调的话,真不怕全家户籍被彻底扬了?🤔cuties impact玩家数量可是非常多的,里面如果有几个有路子的恶俗带佬也没啥奇怪的🤔如果我是魔怔拳师的话,我大概只敢在一两个月后这么高调,当天我肯定是怂的(确信🤔

thonkeqing.v2

另外刻晴那个新版服装实在是太有意思了,不仅衣服比原来的好看很多,奶子都比以前看起来大了一圈,甚至发型都更像喵酱了🤔所以,搞不好我可以考虑把刻晴挪到t1了?🤔那么刻晴需要放在t1的哪里?实在不行直接挪到三幻神那个位置,便乘四幻神或者把barbruh挪出三幻神得了🤔这游戏尽管萌妹非常多,但实机模型质量最高的感觉就是刻晴了,别的萌妹实机模型和概念图(包括fanart)总感觉有非常大的差别,比如mona和fischl chan🤔点名批评rosaria,我到今天对这个角色还是萌不起来🤔

既然刻晴现在有了新服装,那么我们可以上某同性交友网站(大嘘)dump点刻晴,然后将thonkeqing表情升级到v2了(确信:

当然,这个新thonkeqing表情还有enkanomiya限定版(大嘘:

bruhhe

我还试玩了一遍申鹤,这个角色我™真的没看懂怎么用🤔当然我知道申鹤可以用来给别的冰系角色加buff啥的,但如果这只是把其他冰系角色伤害的数字乘以了一个倍数或者加了一个数字的话,说句极其难听的话,这只不过是一个合法外挂罢了,非法的外挂还能加伤害32倍甚至加到2147483647不是吗(半恼🤔一个持续时间超过cd而且还能像c2重云一样加buff的冰附魔都比现在申鹤的功能实用,毕竟现在没有外挂能实现改变某个角色的元素类型,不然我可以把班爷改成草元素和草附魔来生草(确信🤔另外一个令我极其困惑的原因是,我大号的体系里冰系是dps,别的系都是元素反应壬(确信🤔所以哪怕在maxdps里,我也只带一个冰,而且这个冰系角色必须得能站场输出,所以我绝对不可能接受一个只能给别的冰系角色加buff的辅助冰系角色,还たま是个五星,这样我就得用掉两个角色槽,就没地方塞班爷mona胡桃酱了(悲🤔元素反应队就更不用说了,根本没有冰系的任何位置(确信🤔

至于另外一个up云堇,也是个岩系def魔怔壬,草,我2.3整个版本的池子都跳过了不是吗,足以表示我对def魔怔体系的厌恶了(正所谓玩数值你たま还不如去玩外挂,这游戏gameplay方面唯一独有的地方只剩下元素反应antics了,我甚至还会玩所有角色只堆元素精通的号),所以就更不可能考虑了(确信🤔更别说这两个角色一个需要enkanomiya的boss,一个需要鹤观岛的掉血boss,对我那休闲练度的大号来说都不是什么好惹的主,我たま还是雷普冰树去吧,甘雨突破素材herewego(确信🤔

thonk.22.01.04

话说wp手机版一年前还是半年前来着砍掉了传统格式文章的创建,强推起了它那个什么区块模式(悲🤔然而我这个站用的是markdown解释器,所以它只能用传统格式(确信🤔

其实只需要在右上的选项里点html格式,然后随便写点啥发表,再修改的时候就是传统格式了(确信🤔我猜测在点html格式然后写入纯文本时,它保存到wp-posts表的东西就是纯文本,而用web版的md编辑器时它保存的也是纯文本(区别于没装md编辑器时它保存的是修饰过的html代码🤔

另外,用html模式可以看出它的所谓区块模式只不过是用一个特制html标签圈住一个区块而已🤔理论上来说md渲染器可以保留html标签,进行html和md的混合渲染(换句话说就是既用区块模式又用md),但为了避免各种奇怪的问题,我这边只用md,不用html🤔而且我这边是用一级标题来实现区块的功能,所以我更不需要区块模式了(确信🤔

thonk

多年的blog实践证明,在数据库里保存html除了会产生额外空间占用外,还会产生一系列非常蛋疼的问题,比如一篇有大量排版的文章,渲染后看上去是正常的,但当你打开html模式看它的html代码时,你会发现它标签什么的全たま乱套了,里面插入了十几个标签,改都没法改的那种🤔而且试图将这段文字复制到另外一个html编辑器里时,它的排版绝对要乱掉(悲🤔而且后期文字一多,比如到几万字这个级别,它能卡到打一个字产生肉眼可见的延迟,就像批乎浏览了几千个答案之后的页面一样🤔无论是qq空间的、wp的还是ao3的html编辑器,到后期都会便乘一坨⑩,我当时在ao3上写迫真ソナ,排版乱到最后花了好几个小时才迁移回md,基本上算是重新排版了一遍,从此我再也不用html编辑器了(悲🤔

而使用md渲染器,保存的只是带排版信息的纯文本,这些纯文本可以随便复制粘贴并组合,排版信息绝对不会丢失,它在最后一刻才开始一次性转html并渲染,哪怕你需要将html粘贴到别处去,它的html格式也是非常工整的,不会到处乱用标签(确信🤔况且这么算下来,还能迫真节省数据库空间,尽管也节省不了多少就是了🤔

newpixiv

昨天本来准备找点cuties impact破处的pixiv色图,结果到最后我撸出来了一个全新的pixiv拖站脚本🤔和phpdisk垃圾网盘搏斗多年,已经让我养成了分析一个站的网络请求看它有没有ajax的习惯🤔而改版后的pixiv刚好大量使用了ajax,所以我需要找的信息全在ajax请求返回的json里面,用bash分析json可比分析html轻松多了(确信🤔

所以,这玩意比我18年写futaba.sh时搞的pixiv脚本效率高多了,而且代码看上去也简洁多了🤔找到所有图片后写入list文件然后用aria2批量下,但别忘了加上一条--header "Referer: https://www.pixiv.net/artworks/1145141919810"或者诸如此类的东西,免得它报403🤔pixiv批量下图片反正比那个什么sankaku好多了,一点也没有限制,除了貌似限了一下总速度,25MB/s,四舍五入下来200Mbps,还可以接受(迫真🤔

下一步,是不是可以把这玩意搞成github actions或者ibm cloud(那个已经有了,futabruh.sh)或者诸如此类的玩意,全程白嫖呢🤔问题是哪儿有可以白嫖放pixiv图片的地方,考虑到pixiv上面的色图一大半是属于“二刺螈儿童色情”的那种,比如什么klee或者早柚酱的图,它肯定不适合在没有任何处理的情况下扔discord drive(半恼🤔backblaze?那玩意只有10GB免费空间,而且每注册一个账号需要验证一次电话,烦skr人🤔搜书盘?谁能解决验证码自动识别谁去搞吧,它也只有10GB空间🤔

barbruh

我去,数据库又たま崩了,看来我得清理些空间然后在那10GB空间里面建一个swap🤔挂上一个10GB的block storage,清理出了3GB文件,并转移到了三号机🤔不错,除去swap它还剩2GB🤔不清楚为啥vultr的block storage最小只能设成10GB,不然我可以搞一个2GB空间专门挂swap🤔

jajaja

在我看了一会儿github actions的教程之后,发现它貌似有一个叫做upload artifact的功能,可以把运行脚本过程中生成的文件打包上传到它的暂存服务器上,这样的话就可以直接下了🤔所以,我就随手撸出来了用github actions拖pixiv的玩意:

https://github.com/AquaCriUGUU/pivix-antics

它有一种手动触发模式,可以在手动执行action的时候往里面填参数,比如pixiv的artist id或者tags或者诸如此类的东西🤔甚至连headers也可以填进去,对了,我最好在readme.md里写下如何制备headers,不是所有人都会玩f12抓包这一套🤔

JAJAJAJAJA

在拖pixiv所有破处色图的过程中,这些色图直接撑爆了github action可怜的14GB可用空间🤔这让我想起当年在ibm cloud上写的定期按照空间上传backblaze的玩意,也许github action也可以设置为下完指定内容就开始上传?🤔

问题是它这个玩意上传artifact的操作不是在一个step里的,而是作为另外一个step超然于其外的(所以用文件总大小来决定什么时候上传是别想了),而它在外面也没有提供一个类似于循环的玩意,可以设置循环终止条件来做下载和上传的循环(悲🤔

不过至少它的每一个step提供了终止条件,而且可以将这个终止条件设置为检测里面的某个文件存在与否,比如列表文件,它要是不存在了接下来的step就能直接不执行🤔

那么我目前想出来的主意就是:用bash将一组steps(下载、上传和清理上传后的rar文件)复制114.514次,然后将那一坨庞然大物保存成yml,然后执行它🤔每一组steps里,下载step将列表文件分成两部分,开头的指定数目行(比如前1145行)挪到wiebitte文件夹里面跑aria2c,剩下的部分生成另外一个列表文件🤔那么当这个列表文件里的行数小于1145行时,前者会生成一个包括所有行的文件,后者会生成一个空文件🤔那么当列表文件为空时直接将其删掉即可,这样下一组step监测到列表文件不存在了,就直接跳过🤔剩下两个steps监测的是rar文件,如果rar文件都上传完并删除完毕,而且新的列表文件也没有的话(意味着没有东西被下载,也没有rar被生成),它们接下来也会直接跳过,这样接下来所有的steps都全部跳过了(确信🤔

外加我还在下载开始前先把分析出的list文件上传成artifact,方便以后断点续传🤔这样,我就可以驱动它搞大型项目了🤔对了,它现在貌似在拖破处色图,可以去围观下🤔神奇的是每1145个图片文件拖的时候只需要半分钟,下载速度能够突破100MB/s,但上传的时候居然需要五分钟🤔这玩意性能居然™比我的三四号机加起来还要高可还行🤔我们来看下,它能否在6个小时的硬性限制前跑完🤔

todolist

  • 按照占用空间而非图片文件数目来分step,这在futabruh.sh里面是极其自然的搞法,但在可以多线程的pixiv里怎么看怎么不合适🤔实在不行这么写吧,它不是一次可以最多下64个文件吗,那么就写一个while循环,循环内每次挪64的整数倍个文件到新list里面,下载完统计大小,没超过某个大小就接着挪,超过了就去rar打包(确信🤔反正什么时候挪完什么时候删掉list就vans了🤔当然如果这个值就是64的话,我估计批量下载的流水线肯定要经常断掉,也许会造成一些速度损失,也许不会造成多少,毕竟这玩意120MB/s的下载速度实在是离谱🤔我回去做个测试(迫真🤔

比如(这鬼玩意是我在公交上写的草稿,最终成品见https://github.com/AquaCriUGUU/pivix-antics/blob/AquaCriUGUU/.github/workflows/antics.v3.original.yml

mkdir wiebitte
while [`space` -lt (quota*1024*1024-114514)] # 可能它会超一点点,因为它只有超了才能结束循环(悲
do
head -((multiplier*64)) list > wiebitte/list
tail +$((multiplier*64+1)) list > list2
rm -f list
[ -s list2 ] && mv list2 list
cd wiebitte
aria2c -i list
rm -f list
cd ..
done
mv wiebitte xxxx
rar xxxx xxxx.rar xxxx
  • 给list方式(提供一个list文件的url,直接开始下载,而非花几个小时重新分析链接)一个新选项,让它可以将rar文件名命名为任何给定名称,还好github actions加参数实在是太方便了,比bash脚本方便多了(确信🤔

  • 给rar加上-hp参数,上密码,这样等github搞完就可以直接撸到discord drive上了(迫真🤔话说这玩意的yml写起来至少我感觉和bash也没啥区别,除了参数实在是灵活的批爆🤔当然这玩意既没有循环也没有流程控制,所以流程控制需要在bash部分完成,并且需要一点技巧(确信🤔不过它居然支持bash变量,这个是我没有预料到的(🤔

    • 话说public repository的actions居然可以被所有壬围观,而且artifact居然可以被任何账户下🤔更生草的是你需要一个github账号才能下artifact,所以如果想往discord drive导的话,就得像pixiv一样,获取header参数(悲🤔所以我才准备重写一遍分step方式,不然一个包才几百MB多没意思🤔
  • 不过如果写成上述那样的话,这两种分step方式能否共存?🤔也许将quota直接设置成1甚至0的话,那么它每次都只执行一次下载,这样它就能退化到按照图片数目分step了(确信🤔除了这种情况下只能设置成64的整数倍,至少1145是别想了(悲🤔或者,我可以把这个值也放开得了,不需要它每次都乘以64,大不了把默认值设成256啥的🤔よし,回去就折腾v3,说不定我能刚好看见那个破处的dump超时,然后我就去想办法续(确信🤔

fischlthonk

另外那个破处dump在第37个包时完成了,倒数第二个包只有432MB🤔它默认按照时间逆序,所以最后几个包都是基本上15年前的老图了(确信🤔有意思,看来我回去折腾新的分step法后,也许包数量还能再降(确信🤔

另外我敢肯定pixiv上面带破处标签的色图,90%都是没眼看的,画风合我口味的只有百分之个位数(确信🤔所以,这些玩意我以前都是当troll material爆破discord聊天室用的🤔当然pixiv色图用来找炼铜出警魔怔壬的乐子可以说是我的优良传统了,最早可以追溯到18年(迫真🤔

luminethonk

新版github actions脚本用两个多小时跑完了,生成了7个文件,其中最后一个只有几百MB,别的文件都是⑨GB以上的(尽管我设置的quota是8192🤔可以去这里围观一下(确信🤔

对比这两者花的时间,我们可以发现大型打包比小型打包居然多出了将近半个小时🤔

现在遗留下了这个问题:如何将这些玩意导回比如某台存储vps?毕竟github只保留⑨0天🤔

这个也好办(确信🤔而且貌似比pixiv简单很多,比如这样(当然,搞``的方式和pixiv基本上算是大同小异了:

function dumpgithubartifacts() {
    for links in `eval "curl '1'parameters" | grep -Eo "/.*artifacts/[0-9]+" | sort | uniq`
    do
        for file in `eval "curl -I 'https://github.comlinks'parameters" | grep "[L|l]ocation:" | sed 's/[L/l]ocation: //g;s/[L/l]ocation://g'`
        do
            aria2c "file"
            for file2 in `ls | grep zip`; do unzip "file2"; done
            rm -f *.zip
        done
    done
}

然后我发现github在artifact上居然和它项目首页的打包项目一样,限制单线程而且还限速,只有10MB/s(悲🤔看来,这玩意尽管下载和rar的速度够快,但重新上传和下载的速度还是挺拖后腿的,不过它有长达⑨0天的保存时间,而且我的存储vps肯定不会像我在vultr开的临时vps一样很快就要删了,所以一切都可以慢慢来(确信🤔

好,那么我们可以将那两个github action页面用这玩意跑一下,然后用time记录时间,看下大文件打包和小文件打包下起来哪个快了(🤔当然,其中有一个是ssd,所以解压zip应该会快一些,所以这玩意完全只是图一乐🤔

barbruh

草,我三号机上的下载挂了,那台机子动不动自动重启,难怪我再也没用它挂过u2(悲🤔另外一台机子跑出了⑨4分钟的结果,其实对像我这样20年前就在使用pc的老壬来说,这个时间还是可以接受的,我们十几年前挂机下东西时间都是以天计的(迫真🤔干脆在那台机子上跑下v3得了,这样硬盘速度的差别就没了(确信🤔

time dumpgithubartifacts https://github.com/AquaCriUGUU/pivix-antics/actions/runs/1652401659
# real    94m19.679s
# user    7m24.458s
# sys     6m17.907s
time dumpgithubartifacts https://github.com/AquaCriUGUU/pivix-antics/actions/runs/1653489286
# real    92m59.414s
# user    7m15.158s
# sys     6m8.410s

看起来没啥区别嘛,另外这个也包括解压的时间(确信🤔打包下来这些东西貌似49.2GB,话说我突然想到一个问题:github actions每次打包aritfact的时间都那么长,是不是因为它在尝试压缩这些根本压缩不动的图片视频还有压缩包?🤔而且如果我那个项目是个private repository的话,我只有2000分钟的actions执行时间和0.5GB的artifact存储,根本不够存储色图的(悲🤔

barbruh.22.01.03

终于肝完了cuties impact这个版本的最后一个活动,理论上来说我有两天的时间可以不玩这破游戏了(确信🤔

所以,我先去尝试上次说的vultr备份🤔发现一件极其蛋疼的事情,这破vps和我的那两台主力存储vps里的哪一台,连接速度都不怎么样,慢到了KB级别(悲🤔话说美东和美西互联就这么差劲吗(半恼🤔

所以我只能想别的办法了,比如我的那台125GB的存储实例也在美东,备份到它上面,现在终于是正常速度了,60MB/s🤔

但这台机子也有问题,它的可用空间不足35GB,而且u也只有一个核心,除了用来备份block storage空间很明显不够外,我还不太清楚怎么将它上面的备份转移到我的主力vps上(🤔不过只要不限定dd+ssh+cat,办法有的是,比如用aria2c强行多线程,反正两边checksum验证通过才会删掉一边的副本🤔

我估计这事不会有什么愉快的办法解决,除非我再去开一个超大型vultr实例?搞完直接就地打包,然后删实例?🤔但现在我还是算了(悲🤔

bruh

所以我还是去另外一个vultr账号开了一个4GB/80GB的实例,一小时0.03美元(悲🤔更草的是,这个账号也有一堆快照,看来,它很快就没钱了🤔话说我当时开小号貌似就是为了白嫖快照空间对吧🤔然后用ssh antics在两个帐号间转🤔现在好了,我完全不知道拿这十几个快照着怎么办(半恼🤔一个一个一个一个恢复然后用ssh antics导出?我闲的再じば蛋疼也不会做十几遍这个(全恼🤔

接下来我在主力存储vps上使用aria2c,开128线程🤔极其生草的是开了这么多线程它仍然只有10MB/s,wiebitte?🤔搞不好解决美西美东互联或者跨国(确信)互联这种东西,还是走第三方中转比较快,比如discord drive🤔问题是我不会把服务器备份直接传discord drive,至少在我想办法加密之前🤔而那个80GB的垃圾vps顶多有空间放60GB的备份档,却没什么空间再生成一个加密档(悲🤔

我突然想到这么一个问题:如何在ssh antics的cat重定向环节,将stdin输进cat的东西重定向到一群比如1GB大小的文件里,并按照输入流自动新建文件?🤔只要它能这么干,我就能在那台vps上搞定加密上传discord drive(确信🤔

等等,split可以接受stdin,那么就非常巴适了,dd if=/dev/vtbd0 bs=1m | ssh -e none myuser@myhost 'cat |split -b 1G -d - serverbackup.part,请(吴慈悲

thonk

如果对整个硬盘做了这么一个备份档,那么它需要被当作一个loop设备挂载起来才能用🤔使用losetup --partscan --find --show serverbackup.img将其便乘loop设备/dev/loop0,然后就可以用诸如mount /dev/loop0p1 /wiebitte来使用这个玩意了(确信🤔而且这个挂载的过程会导致这个文件被修改(也许可以通过将其挂载为只读来避免),所以最好对备份做次备份(🤔

bruh2

no,哼哼啊啊啊啊,啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

其实如果vultr今天还有storage instance的话,就没这么多屁事了,最垃圾的那档都能随便完成整个备份的过程,只不过discord drive肯定是跑不动了(半恼

你是一个、一个一个一个一个block storage备份档啊啊啊啊啊(绝望🤔

thonk2

在等待那玩意下载的期间,我闲的蛋疼将那个block storage里的东西用rar又打包了一遍,并用scp挪到了临时vps上,速度130MB/s,比ssh antics貌似快多了🤔然后我就可以在fstab里面注释掉它,然后umount并在vultr里删掉它了(确信🤔这样那台只有10GB存储的垃圾vps就没有swap用了(悲🤔而且在某个时候会突然没有空间🤔

不过那时再说吧,我可以随便创建一个新的block storage然后挪东西,挪完了接着删掉,反正我不准备长期持有一个block storage就是了🤔

话说主力存储vps现在开始下载两个文件了,每个文件128线程,这256线程加起来才12MB/s🤔这个数字非常生疑啊,是不是像极了这两台服务器的链路之中,有一个环节故意设置了限速100Mbps?🤔所以,中转的必要性就呼之欲出了,毕竟没壬会去主动限速google等大型it企业的流量🤔而discord drive底层据说就是google cloud(确信🤔

bruhfei

非常好,我刚关掉swap,它数据库就崩了,よし,静态化,请(吴慈悲🤔

wtf

草,备份档挪到存储vps后准备删掉实例,结果小号登不上去了🤔又是死🐴新ip邮箱验证,discord就挺喜欢搞这种死🐴玩意,但我没想到vultr也搞这套🤔问题是那个小号的邮箱早就没了,我搞にま的邮箱验证码🤔

而且和discord小号不一样,只要我不去删掉那个实例,它就会一直扣钱,直到上面的credits没了🤔很难不让人怀疑它故意的(全恼🤔

所以我现在喜提(大嘘)一台我停不掉的4GB内存vps,做点什么好呢(🤔