AYAYA.24.05.05

终~于,metart所有图片在开始拖15小时之后拖完力,而尽管我由于下午睡过头导致比预计晚了两小时才开始拖视频,metart的视频部分也在24小时零两小时左右拖完力🤔它居然给我多给了那么多小时,甚至到现在还在有效期内,可还行🤔

为了应对它提前(大嘘)过期,我还整了一个一个一个临时脚本将24小时过后它还剩下的接近两百个视频先cache了一遍视频链接,然后等它真的过期了之后用这些cache接着搞,指望它解析出来的这些链接失效时间设得足够长,长到在我下载完它们之前不要过期🤔理论上来说我只需要将cache上传到搞cgi-bin的机子,它处理的时候第一段metadata和第二段comments其实过不过期甚至登不登录都能获取,重点在第三段视频链接部分,改成如果api获取不了就直接读取本地cache就vans力(确信🤔还好我用不上这玩意,估计以后也用不上(确信🤔

whatever,我居然能够完全征服metart系里最难拖的站metart,就像我能征服它里面视频最多的alsscan一样(确信🤔至此我除了几个还是十几个当时完全没有意识到没拖完的视频和图集外,基本上完成了metart系全站收集,最终拖下来了79827832884976字节的玩意,换算成TB的话是72.6TB,换算成PB的话是0.07PB(确信🤔

接下来总算可以和metart系拖站还有github actions这种司马玩意暂时再也不见力🤔以后再和这玩意打交道,估计得等我下次闲得实在是蛋疼再买一个月xxxart会员🤔

还是我去研究下用cgi-bin来搞rosefile站?🤔但除非我下次拖一整个全新的rosefile站,不然这玩意还真用不上什么github actions🤔我现在倒是对另外一件事情比较感兴趣,如何用github actions将我已经存在guilded drive里的东西进行格式变换,比如kg系进行解压(和转guilded tube,如果它能转的话),metart系转guilded tube,而且如果有可能的话,它最好能实现几乎无人值守?🤔

thonkrail

与此同时,我还顺便(大嘘)打完了hsr的新版本活动,指从头打到尾(确信🤔现在可能还有一个一个一个500活动没打,但我寻思它难道不是挂机一小时甚至半小时就能完成的事?🤔还有一个号也许需要打打?但我不保证能打到哪儿,因为接下来是一个一个一个购物日啊啊啊啊啊(撅望🤔

我现在已经开始寻思等这坨屁事搞完后,要去哪里玩力🤔接下来有很多事需要考虑,比如:

  • 回不回趟家?回的话什么时候回,月中还是月末还是下个月,回去住几天?

  • 家里的x99的确需要买一套,而且我的确有已经确定的型号,但我是将新的板u内存套装直接邮回家,还是将这套玩意邮到我这里,然后将现在用的这套硬件邮回家或者人肉带回?还是我干脆买两套这玩意,一套邮回家另外一套替换现在用的硬件?或者买1.5套?我寻思现在用的主板和内存用得挺好的,不用换,就换个u

  • 家里还需要一套新机箱和新电源,这部分又该如何选型,而且机箱的话我还得考虑配送问题,是邮回家还是我在本地自提,然后想办法坐火车的时候人肉带回?我有可能将一个机箱装到什么玩意上推回家吗?这个选项存在吗?

  • 我在家的时候,现在有的两套硬件又该做什么,也许其中一个可以装1070ti,但另外一个呢?我是给它装个p106-100,还是压根就不用它?(这次我也许可以确保它们能被远程操控,因为我现在所有硬件都是直连光猫的

还有诸如此类的114514个问题(恼🤔

rosebitte

无论如何,最后我还是写了一个一个一个rosefile链接解析cgi-bin脚本,只要输进rosefile链接就会吐出解析出来的cloudflare r2链接(确信🤔而且我还迫真优化了下登录流程,它不会每次处理链接时都重新登录一遍,只有提取不出文件链接时才重新登录并再次提取链接,不然它就直接吐出链接🤔现在我估计哪怕33线程雷普它,它都能解析出每一个一个一个链接(确信🤔

现在连最逆天的rosefile也被我驯服力,github actions,启动!🤔有一说一我拖kg系站比metart系站温柔多了,每个站居然只有4线程,加起来也只有12线程(确信🤔

barbruh

草,过了半小时某些线程还是没吐出任何东西,而且之前吐出过东西的四个线程也没有吐出新东西🤔我有一种不翔的预感,github actions的🐔🐔是不是被guilded屏蔽力(撅望🤔

那我还玩个寄吧的github actions啊,又一次只能切本地🤔它在本地也不消停,cloudflare链接是能解析出来,但试图用这个链接下载文件时会报错404🤔那么它是怎么在bucket里面没有文件的情况下给我返回一个一个一个链接的,我暂且蒙古(恼🤔

wiebitte.24.05.04

这几天忙着impact cuties(指hsr打完了2.1剧情开始打活动),居然忘了sexart还有几个小时就要过期力(悲🤔

上次我整这玩意时大概卡在php版链接解析搞不动上🤔但本来php解析链接啥的就是图一乐,最后还是得按照惯例启动cgi-bin(确信🤔

1145.14秒后,新的metart系拖站脚本缝出来力,两年前写的cgi-bin脚本基本上只需要换个cookies就可以重新用,除此之外我让它试图接收带有域名的完整链接而非没有域名的path,基本上只要从完整链接里提取出三个要素:域名、标题和日期,就足以在任何metart系站的api里提取出所有东西,从metadata到视频链接(确信🤔

由于视频解析的脏活让另外一台机子做力,github actions上跑的拖站脚本变得更简单,它甚至都不需要区分是视频还是图集,那个是cgi-bin脚本需要做的事(确信🤔和两年前一样,它的metadata只占一行,comments也只占一行,剩下的行都是视频或者图集链接,稍微缝下两年前的github actions脚本就vans力(确信🤔当然,今天这个脚本已经是本地actions两用版,尽管⑨⑨%的可能会被部署到actions上(确信🤔

脚本写好后就赶紧用来补全了sexart新出的玩意,图集只出了10个,视频只出了⑨个,没啥意思🤔然后赶紧去雷普metart,毕竟如果我的sexart过期了的话,我将再也没法开启别的站试用(悲🤔好家伙,光列举两万多个图集就花了20分钟🤔

到正式拖的时候,另外一件意外发生力,我的那些github小号除了某个老号外居然全部阵亡,所以规划好的38线程现在只有18线程能跑(全恼🤔

这事也许不需要我提前干预,反正我忘了那个号的邮箱是什么🤔我只需要在接下来的挂机脚本里将merge函数里的线程数改成18,并在下次分配时只分配18线程,或者将剩下的三个新号投入进去凑33线程,并在下次merge时设成对应的线程数即可(确信🤔

如果我中途找到了那个号的邮箱并登上去,我也可以终止那些玩意再跑一遍🤔我寻思metart要是想24小时跑完恐怕是极其有难度的,跑不完也没关系,大不了我再开一个月,不过这次开的是metart,别的站等到快结束时再开试用(确信🤔

thonk

我最后还是找到了密码重新启动了一遍🤔这次剩下的三个github小号能够正常开启5线程,哪怕它们再过几天也会被橄榄,也没关系,至少现在它们加起来可以33线程跑(确信🤔不错,我们来看这破玩意一天够不够🤔

与此同时我发现哪怕上了cgi-bin,它也能给我整出四个没拖下来的posts(半恼🤔迫真诊断下,日志显示aria2c没有下载任何东西,但更诡异的是下载原post后发现里面什么都没有,连metadata都没有,以前这种没拖完的post高低得有一个一个一个metadata🤔再看眼日志,发现和原来不同的是,它对cgi-bin服务器的curl请求居然能够超时60s🤔可见那台小🐔🐔被18线程雷普成了什么寄吧样(🤔

但无论如何拖了一万多个图集居然只有四个需要重新拖,还行🤔我只需要在那句curl里面加上超时重试的参数,接下来应该就不会出错力(确信🤔

thonkeqing

刷某fisch发现移动云居然有13一个月的神车,它和上次我说过的某申必终端机送的云服务基本上算是同款,但它有丧心病狂的1980GB存储🤔而且它居然不需要我买一台没什么卵用的终端,还能月付🤔

唯一的缺点是带宽只有50Mbps,肯定不适合做这个drive那个drive,但挂pt应该没啥问题(迫真🤔如果它还有公网ipv4的话,也许可以做做某些内网穿透方案的中转服务器?这个带宽假如上下行对等的话,甚至都可以中转parsec串流力(🤔

我反正已经买了一台,还多花了两块钱选择了一个一个一个理论上来说离我近的地点🤔也许等我往上面装个parsec后能干到个位数毫秒延迟,但可能并没有什么卵用,因为它十成甚至⑨成只能用cpu编码🤔除非它还虚拟化出一个显卡?但我撅得可能性不大🤔

bruhfei

到差不多十点甚至⑨点之后它终于开出了一台,并没有什么web端,而且貌似账号系统和通常来说的移动云(也就是类似于阿里云或者aws那样的玩意)也不一样,需要用它的专属客户端登录🤔

装了一个一个一个那玩意后才发现它居然不是那种24小时挂机的vps,而是使用逻辑更像一台电脑的vps,它只有连接之后才能开机,只要断开连接一段时间就会关机(恼🤔当然我也可以选择最小化它,这样也许可以实现迫真挂机的效果,因为我这边确实有台24小时开着的机子,但还是感觉有点扯寄吧蛋🤔

我听说有人买了几千台这玩意,然后用一个一个一个定制脚本来每分钟登录和连接一次某个号的机子,用这种方式来让它们全部24小时开机🤔但也许也可以通过让两台这样的机子互相连接对方然后挂后台来保持开机,当然我没兴趣买两台这玩意,所以懒得测🤔

除此之外它的客户端居然支持完整的usb重定向和存储重定向,可以将本地的任意磁盘映射到vps里,甚至还能重定向打印机,尽管我很怀疑它的网速能达到什么程度🤔android客户端我估计也能实现usb重定向,不然那些极其生草的android终端完全没法用🤔这可是parsec以及各种迫真网吧的客户端都没有的黑色高级功能(大嘘🤔

但它那个垃圾客户端串流4k的效果只能说极其坑爹,所以我还是给它整了一个一个一个parsec然后开始挂机🤔网络的确只有4ms,但由于没有独显,编码延迟干到了51ms🤔其实编码延迟不是什么太大问题,毕竟它理论上来说只限制帧率,所以只有我哪天闲得蛋疼拿它串流视频,才能看出来(确信🤔

网络方面,反正没有公网ipv4,而且也没有公网ipv6🤔拿它搭建什么服务基本上是别想力,甚至我怀疑挂pt都挂不利索🤔我也懒得测祖传guilded drive环节力,毕竟再魔改一遍跑在cygwin最小系统上的guilded drive脚本实在是蛋疼(恼🤔

我还闲得蛋疼掏出as测了下磁盘io,它是怎么整的能做到数据盘读733写49,系统盘读4497写897,读写速度居然差了十倍甚至⑨倍,我暂且蒙古🤔

wiebitte

某fisch上还有其他一些可以连接XX云(其实就两种,一个是电信版一个是移动版,但它们都是以android app的形式连接云服务的,所以只要能随便安装app我寻思区别不大,更别说还有parsec云)的抽象硬件,比如100块钱的云终端,它有可能真的只是个机顶盒🤔但我看到的最抽象的玩意是一个一个一个21寸的1080p显示器+机顶盒一体机终端,机顶盒部分配置是1+8,有种20年前瘦客户端的美(确信🤔

但这玩意最抽象的是价格,它居然只要205,如果不介意摄像头弹出按不下去的话甚至还可以便宜到180🤔我寻思买个1080p的显示器都得至少150⑧,这还送一个一个一个可以连接云服务的终端(🤔只可惜它居然是1080p而不是4k,不然我高低得买一个玩玩🤔那么下一个一个一个问题,我放哪儿呢?我没有新的显示器支架用🤔

wiebitte.24.04.15

草,半夜突然醒来🤔也许我被弄醒的原因有114514种,但只要我醒来,那么再次入睡可能就没那么容易力(恼🤔

当然我通常来说也懒得关心什么时候睡什么时候起,只要一天的总睡眠时间达标,该睡睡该干嘛干嘛(迫真🤔所以我起来看一眼waifu impact进度,然后再看一眼alsscan的进度🤔

waifu impact在我睡前甚至在前一天我就撸差不多力,该领的东西都领了一遍,大号甚至从撸喵酱活动完全没开始玩快进到撸完了所有喵酱并将某只橘猪(大嘘)领回了家(确信🤔总共用时两小时,其中可能有十几分钟耗在录制最后一段长达20分钟的配音剧情上🤔我那些小号应该用不了这么多时间,但一小时应该是需要的(确信🤔

比较意外的是我玩的某个hsr小号居然完全忘打了su,我寻思以前我经常一边impact cuties一边挂su,但上周某个时间我这么做时,它断电断得我有点ptsd,所以su一直没打🤔事后分析这种断电和上次看waifufly被雷普时断电原因差不多,su每次打完怪都会切换到一个纯2d的祝福选择界面,此时hsr完全不消耗gpu,无限接近于只开启waifu impact,那么后者打个怪物啥的就是会有几率触发断电🤔

但无论如何,到我醒来的那个时间点,这个号要打三回啊三回才能完成周su任务,我只打完了一回半(全恼🤔只能接着打下去力🤔还好我打得足够快,不到20分钟就搞定力,接下来我甚至还有时间给早柚酱小号coop刷女士周本🤔最后领了一个五星圣遗物一个武器原胚还有一个变换周本材料的玩意,好家伙,ar35小号压根就没有周本材料可以变换(恼🤔

thonk

而alsscan那边,感觉干得还行,现在已经是第二轮的第4小时,加起来已经过去了十小时甚至⑨小时🤔由于合并过程可以在任意时刻进行,出于某种申必原因我设置了一个每过10分钟甚至⑨分钟就进行一次合并的screen,目前alsscan的视频只剩817个没拖🤔

还行,我以为这玩意要干18小时甚至20小时,但目前看来也许14小时就能结束?🤔这下我对之后的metart主站雷普顿时充满了信心,它无非就两三万个图集,有啥难的(迫真🤔只要视频别拖到六小时以上,我就有至少1⑨小时甚至18小时来干图集(确信🤔但这也不好说,之前alsscan的四千个图集就拖了接近三小时半,可能主站的图集没那么大,这个就鬼知道力(悲🤔

但如果它真的过期之后也没拖完,我有没有可能再来一遍?🤔上个月过期的另外一个号也许可以拿出来用,它点击试用metart时应该不会报错,但信用卡是否能过就不好说力🤔

bruhfei

最终发现中途成功续了一次,又续失败一次,失败的一次是因为算错了时间(恼🤔最终导致所有号都有十几个到三十几个runners搁那儿排队🤔

但更蛋疼的是我能够观测到一大堆只有五位数字节的posts,说明它们里面一个视频或者图包都没有🤔而且它们的数量还能多到我能够观测到的程度🤔我写了一个脚本排查并在maindb里将它们恢复到状态码0,但我设置错了门槛大小,导致相当一部分被我漏掉力🤔当然就算我没有漏掉,alsscan也结束力,这还是在它给我多给了若干小时的情况下🤔

事后统计一下,基本上很多之前拖过的metart系站都或多或少出现过少东西的情况🤔随便打开一个看日志和拖下来的东西,aria2c提示list里面没有文件下,而list来自的metadata json只有一句话,找不到视频?wiebitte?🤔

我吴端猜测github actions的某些ip段被metart系站屏蔽力🤔既然如此,看来直接在runners里解析链接的省事方法搞不下去力,我得恢复2022年搞的那套cgi-bin玩意(恼🤔那么问题来力,我用哪台机子做cgi-bin机子捏🤔

或者格局打开,用php来解析,这样我就可以用pikapod力🤔

rosebitte.24.04.14

昨天睡(迫真)前突然想拖一顿rosefile站,花了大概一个小时对着之前用了114514年的kg系脚本和现在跑在github actions上的metart系脚本缝了1145.14秒,缝出了一个github actions用的脚本,一个站四个线程,12线程,启动!🤔但跑了一顿后出现了一大堆只有6xxxx字节的post,而且我下了其中某一个看上去不是6xxxx字节的post,它里面应该有两个rar但我最终下的东西里面只有一个(恼🤔

这说明多线程跑rosefile链接解析时,它的登录特性(一台机子登录后别的机子之前登录过生成的cookies光速失效)能够导致部分线程没法正常解析出链接🤔那么如果我设置成无限循环重试呢?它又会出现所有线程搞半天都处理不了任何一个文件的情形,此时它们估计忙着互相使对方的rosefile登录状态失效,最终没有一个号能解析出链接(撅望🤔

既然如此,在这些机子上完成rosefile链接解析基本上不可能力,如果是以前的话我肯定能光速撸一个cgi-bin脚本,rosefile只要能解析出cloudflare r2或者sharepoint的链接,接下来这些链接既不锁ip又不验证headers,随便哪个github线程都能随便下(确信🤔但我现在缺少撸这套玩意的基础设施,所以我还是在我的vps上跑单线程rosefile得了,那些github actions号如果实在是闲得没事干,不妨接着跑sexart去🤔

bruhfei

又跑了一两个sexart小站,某个github旧号有时候能跑20线程有时就只能跑1⑨个线程,此时我就需要对付它处于排队等待状态的那个线程(恼🤔比如我可以将它分配到的maindb.txt直接便乘一个空的,这样它哪怕到时候上线也只会光速结束(确信🤔然后我接着分配一次🤔

11451.4 secs later,,,

现在metart系只剩下一个alsscan和metart主站没拖🤔先拖alsscan,它有接近4000个图集和4000个视频🤔

这次我上了若干个号,某老号18线程,别的号5线程,总计33个🤔出于某种申必原因,这些号拖这4000个图集居然花了两小时半还没拖完,肉眼可见地要肝到三小时半甚至四小时(全恼🤔有没有可能因为这个alsscan,它有很大一部分图集体积是以GB计的?🤔

所以到该拖视频的时候,我是只开20线程呢,还是开个什么38线程?🤔但无论怎么开,我现在只需要短短的几句话,按下回车后它就会自动分割maindb自动分配任务,非常方便(确信🤔接下来我就要么坐等它完成,要么等六小时多十分钟甚至⑨分钟后自动合并,然后自动重新分配(确信🤔

barbruh

终于,alsscan的视频部分开拖力🤔上次我写了一个连续拖视频workflow直接导致我的某个老号被橄榄,所以这次我需要用github actions自身机制之外的玩意实现workflow无限续🤔而这其实相当好办,既然之前已经用repository_dispatch实现了几乎全自动分配任务,更早之前又实现了自动合并,那么我完全可以将这两者缝起来,也就是分配任务后定一个一个一个6小时零10分钟甚至⑨分钟的时,时间一到自动合并然后紧接着分配任务,以此重复三回啊三回(确信🤔至于定时,可以用简单的sleep来实现,也可以随便找个倒计时脚本,实现可视化的倒计时(确信🤔

现在理论上来说我再也不用人工干预这破玩意力,如果我不想人工干预的话🤔我要是中途想人工干预的话我就中断这个自动脚本的运行,停掉所有的workflows,然后重新开始这段脚本(确信🤔

只不过我现在这坨玩意跑在五个还是六个不同的github号上,而我懒得一个一个一个登录它们停掉workflows🤔我寻思下次我可以考虑写一个kill switch,换句话说它以后每次搞完并上传完后还会从某位置下载一个文件,根据文件内容来撅定继续还是中止整个脚本🤔但这次我懒得折腾力,github要是因为我跑满六小时就橄榄我的号就橄榄好了,懒得关心(吴慈悲🤔毕竟哪怕我接下来一整个月都没法用github actions,我现在雷普github actions生成的数据已经突破了0.05PB,就这样🤔

sayuAYAYA.24.04.08

今天中午早柚酱小号按照惯例抽卡,才抽了不到三发,好家伙,一道金光过来,水龙🤔草,这个号应该还远远没到出金的时候,而且它不是每次出金几乎都要歪吗🤔现在它不仅提前出力,甚至还没歪可还行🤔

反正我惊呆到甚至忘了开屏幕录制🤔whatever,是时候将蓄力时只会哼哼哼啊啊啊啊的臭 龙塞进🍪impact力🤔当然c0水龙没有霸体也没有+1某申必buff,需要三种元素和水反应才能最大化伤害,所以waifurina也不适合塞进去,那么就只能找个盾🤔这个号也没有钟离,那么laylawaifu,启动!🤔

thonkart

metart系拖站那边,得益于我的逆天20线程github actions基础设施(大嘘),我今天一天就雷普了五个站🤔加上昨天下午到今天凌晨之间拖完的metart x,外加早就拖完了的sexart,metart系的12个站里面我已经完全雷普了七个(确信🤔

剩下五个里面有图片四五千但视频只有七百多个的某站,图片三千多视频1500的某站,图片两万多但视频只有(?)两千左右的metart,某个和sexart规模差不多的站,还有一个有着四千多个视频的站🤔这里面很明显有两个难度极高的,metart主站也许我需要动用的不是20线程而是40线程,而另外一个?我能不能在一天内搞完都不好说(恼🤔

github actions v2.24.04.07

由于某种申必原因,我看了眼github actions的资源限制,发现了些很有意思的东西🤔

比如它一个白嫖账号可以跑的并行runners数量居然不是5或者10,而是20🤔但更有意思的是除了每个job最多六小时这种陈词滥调外,我还发现了一个一个一个有意思的玩意:每个workflow的最高运行时间长达35天🤔

至此我才意识到一个workflow里面不见得只能跑一个job,尽管我的各种脚本里面习惯性地只安排了一个🤔换句话说我完全可以安排多个jobs,比如考虑到sexart系试用号只能试用24小时,我可以安排四个jobs,将其串成一串来跑相同的脚本四遍(需要设置好这些jobs的依赖关系,不然它们就会并行运行,那肯定不是我想要的),这样我是不是就可以免得每6小时盯着看它搞完了没有(确信🤔

那么在这种情况下,下一个job(是一台全新的虚拟机)如何继承上一个job的maindb进度?🤔答案其实相当简单,我只需要每次搞完一个链接后除了照例将当前进度打包进guilded drive外,我还可以直接修改放在pikapod上用来下载到actions机器的maindb,这样下个job拖这些maindb开始处理时,自然拖的就是已经处理过一部分的力(确信🤔而如何修改它们呢?只需要一个一个一个简单的php脚本,外加一句curl文件上传语句,就可以搞定,反正比我之前用的sftp方便多力(确信🤔

接下来我需要写一个测试用例,一个只包括四行的maindb,还有一个每次for只出一行结果的脚本🤔测试下来基本上符合预期,第一行处理完成后这个job结束运行,可以看到下一个job的确从第二行开始处理,而放在pikapod上的maindb也便乘了第一行有链接🤔那么接下来两个基本上不用测力🤔

或者我可以将脚本里的只限处理一行这句删掉,看第三个job处理完剩下两个链接后,第四个job会做什么🤔它做的无非是打出四行红字,都已经处理过一遍力,然后退出(确信🤔

thonk.24.04.06

这两天某两款萌妹游戏的卡池里面什么都没出,所以我接着撸sexart相关玩意🤔

上次写了一个合并maindb的玩意,做了一点改进后我按照惯例检查合并前和合并后的maindb变化,发现某些行在合并后的maindb里面便乘了空行🤔后面一检查发现只有for循环外的cat *.txt都改成了temp目录下,循环里没改,所以它只能便乘空行,而没有便乘空行的其实是根目录就有而且一直在添加新东西的maindb(恼🤔改掉后再跑一遍,这次diff检查说明以后这玩意可以用来整别的玩意力(确信🤔

接下来从某个maindb开始分配线程的玩意也能随便撸出来,等我搞定github actions那边的事情,我就开始停止目前的两个线程,合并一次maindb,并以此来开始搞(确信🤔当然现在切换到真·多线程模式其实切不切换没啥太大关系,但等我真的想挑战什么24小时速通它的一系列分站甚至主站metart时,,,就有用力(确信🤔等等,主站可是足足有20TB内容的,24小时速通真的行吗(🤔

AYAYA

又经过了11451.4秒的哼哼雷普后,我终于将sexart脚本做了github actions适配🤔在多方面对比各种代码后,我发现了两点:

  • 拖视频post的代码和拖图片post的代码确实没法合并,因为它们需要抓取的网页元素不一样(悲🤔所以我最多只能按照post类型来分流,并将guilded drive上传语句从处理视频或图片的函数中挪到它外面,省得我每一个函数里面都写一句上传guilded drive🤔

  • 但github actions版本和本地版本确实可以合并,因为它们的区别居然只有具体的guilded drive脚本位置,还有github actions专属的处理后上传当前进度的功能🤔只需要找个办法判定当前是否在github actions里,设定一个一个一个flag或者不设定,然后在相关语句前加if即可(确信🤔

现在github actions既可以处理视频也可以处理图片,而且将它们塞进同一个maindb里也可以🤔讲真我寻思将它们塞进同一个成品maindb里,估计用cloudflare worker索引它们中的任意一个也是可以的,をたま就不信它们能恰巧共享同一个url,这个结论甚至可以扩大到metart系所有站,甚至将那三个kg系塞进去搞不好也可以(迫真🤔

为了方便将其投入多线程生产环境里,我还将某些初始化步骤做了抽离,便乘了五个初始化脚本,分别对应着github actions单账号能设置的五个线程,而它们会下载并调用同一个sexart处理脚本🤔不清楚前年我怎么想的居然在维护⑨个甚至⑧个除了某几行参数不一样别的玩意一毛一样的脚本(恼🤔

但更加牛批的是我停止那两台vps的处理,换这个脚本上,它也能和之前一样跑,基本上除了不会每上传一个视频再上传一个日志外和github actions版一毛一样(确信🤔

现在我在所有地方实现了统一脚本,以后只需要改一处就能改所有地方(确信🤔接下来趁着那两台vps继续跑视频时,sexart图片五线程github actions雷普,启动!🤔

another 11451.4 secs later,,,

极其生草的是,只有第一个线程两小时半跑完全程,别的线程三个小时才完成了三分之二🤔按理来说我分这些玩意的时候是均匀分配的,再说了它们都是只占300MB左右的图片,不是什么随着日期越来越新而逐渐增大的视频,结果有一个线程要么明显比别的线程东西少要么明显更快,wiebitte?🤔

whatever,收集起来它们所有的maindb,合并,再次分配,重新五线程跑🤔等这坨玩意跑完后,我就拿github actions处理剩下的亿点点视频,接下来才是真正的github actions时刻(确信🤔

然后再往脚本里面塞点东西🤔也许我有必要用time来统计一下某些操作的用时,但time这玩意只能加在某个函数里面某些命令的前面,它的结果才能被这个函数调用时后面加的重定向stderr写入日志文件(恼🤔所以我最后干脆若干个函数套娃,这样无论哪一步骤还是总体的拖视频或者图片时间都能记录到日志里,总用时也能显示到屏幕上或者github actions的日志里(确信🤔

除此之外我还需要从2022版断点续传玩意里移植点东西过来,比如不清楚为啥2023版居然没有统计进度的功能🤔这部分还是比较好搞的,但现在我已经开始跑力,下次再说🤔

thonk

又过去了将近40分钟,剩下的这点图片也全搞定力,合并后第一个全部拥有guilded drive链接的maindb便搞了出来🤔接下来当然是停掉某台arm vps的进度,将其当前的maindb还有大盘鸡上的maindb进行合并,撸出十个甚至⑨个线程的maindb,塞进github actions里🤔当然,我现在基本上可以将那台arm vps删掉力,这两天我用它只是没完成github actions脚本暂时顶着而已,但如果它完成力,那么接下来的sexart乃至metart系雷普,就基本上没我自己的vps啥事力(确信🤔

现在那台vps可以用来处理别的玩意,比如我又上传了一批游戏录屏,需要它处理下🤔

另外不清楚kg系能不能走github actions,但我寻思至少按照我写的那些脚本,恐怕它得,,,将html也塞进maindb或者,,,?🤔或者它干脆就直接访问那些网页得了,我撸sexart都能让它们随便拿sexart的cookies解析下载链接(而非我以前搞的cgi-bin中转),kg系站甚至都没有cookies,我怕啥🤔

话说rosefile站还有啥?我就不信wp搭建的rosefile站就那么三四个(其中一个我到今天都没实现分析),肯定有别的(恼🤔

AYAYA

到了今天晚上11点多,sexart剩下的一百多个视频也被十个甚至⑨个github actions线程雷普完成,至此经过三天啊三天的雷普后sexart全站告捷,统计下来视频13.9TB,图片709.9GB,还行🤔

现在我可以一个github号上十个甚至⑨个github actions机子,而我目前至少有两个号可以随便用,它至少今年貌似又管得松力,换句话说如果哪天我真的撅定要雷普它的主站力,我就开始20线程雷普,就算它真的有三万个图片posts,又如何?(吴慈悲🤔

但在此之前,我需要解决它那些东西少的小站🤔现在有两个我比较感兴趣的问题:

  • 在我获得它们的一天试用access前,我能不能先获取它们的视频列表来构造一个一个一个maindb?

  • 我在sexart上的cookies能不能在别的站用?

bruhfei.24.04.05

在11451.4秒后,我终于在第三台机子上面勉强跑起来了sexart脚本的2023版(悲🤔其实从某种程度上来说2023版某些地方甚至比2022版要简单很多,比如不用专门整一个一个一个文件放置已经处理完成的部分,无论本机运行还是github actions运行都能随便继承进度(确信🤔

问题是和kg114514相比,sexart由于我就是要拿它的完整url做主键,最后的替换环节变得完全没法替换,毕竟url里面充满各种东西(恼🤔甚至我以前的经验都没法用,以前我只是转义一个一个一个斜杠就能塞进sed里替换,但现在这招用了之后只能保证不报错,替换可是一点都没有替换(悲🤔

所以我去某知名英文问答网站抄了次作业,貌似sed完全不支持grep那样的固定字符串匹配和替换,所以需要将源字符串和目标字符串先用某段申必sed魔法处理一遍,再给它塞进去🤔折腾了一顿后我终于能在sexart全量列表里完成了替换过程,替换后没有一行是状态为0的(确信🤔

而且其实现在这套玩意塞github actions里也是可以跑的,毕竟我到时候只需要将maindb进行合并就vans力,方法也很简单,对主机上面的maindb逐行提取主键,然后拿着这个主键在各个备用机(包括某台arm vps和github actions)返回的maindb里面搜对应词条,如果有状态为1的合并入主词条,如果没有的话就什么都不做🤔至少在我搞清楚cloudflare那个逆天sql怎么用之前,这办法应该可以用(确信🤔

接下来我需要解决另外一个问题:如何将那两台正在跑sexart的机器上面的2022版数据迁移到2023版?🤔这个可能不太好解决,我需要哼哼thonk一番🤔

another 11451.4 secs later,,,

在我观摩了114514遍代码后,我发现2023版断点续传脚本获取上传完成后的guilded drive链接信息居然是靠直接读取results.txt的最后一行🤔好家伙,那么我重建2023版的maindb基本上只需要遍历一遍results.txt就vans力,不需要关心2022版的两个列表文件分别有哪些内容🤔好,将它们合并且去重后,直接用id查找results.txt里面有没有项,有的话输出状态为1的行(方法直接照抄2023版断点续传脚本的相关语句),没有的话输出状态为0的行🤔

就这样那两台机子结束当前跑的脚本后不到一分钟就切换到了新脚本上继续跑,而既然我已经有了两个maindb文件,以后有可能会有多个,是时候研究下如何合并它们🤔最后我想到一个一个一个主意,用列举视频的脚本再重新生成一个maindb文件,此时这里全都是状态为0的视频🤔当前文件夹下其他的maindb文件里面可能有状态码为1的视频可能没有,但如果我分配任务分配得比较合理的话,理论上来说对于某一个视频来说,所有txt文件加起来应该最多只有一个状态为1的项(确信🤔

那么我就可以拿这个全新的maindb开始遍历,对里面的每一行里面的视频url,拿去在所有txt文件的cat结果里面grep一次,并筛选出状态码为1的行,如果筛选出来并且结果只有一条,替换maindb里对应的行🤔其实这玩意的思路和上面拿2022版数据构建maindb基本上一毛一样(确信🤔

或者我也可以用各种方法将这个maindb文件排除出cat *.txt(比如将那些里面有guilded drive链接的txt文件塞某个临时文件夹里,cat它),或者在遍历它的时候只遍历状态码为0的行,这样说不定它还可以用来合并非空的maindb,比如我那几个站的(确信🤔同理,它也可以用来提取出maindb里尚未处理的视频,以某种方式分配成若干个小的maindb,然后开始多线程处理,处理完后再合并(确信🤔总之,离未来可能搞的多线程雷普又进了一步(确信🤔

cloudflare antics

既然maindb准备好力,那么和那几个kg系的站一样,它也可以上cloudflare(确信🤔而且由于我将整个网址后面的链接作为主键,它甚至比kg系站还要简单,基本上只需要将sexart.com这个域名替换成我的域名,就可以直接塞进guilded drive下载函数里用(确信🤔

除此之外我还对这一系列cloudflare worker做了亿点点小优化,比如它获取链接失败时不会再报一系列让guilded drive下载脚本非常尴尬的池沼错误信息,而是会返回某著名大脑升级曲的guilded drive链接🤔这应该是我今天做的最生草的事情,当然如果我能想办法下下来这玩意的野兽先辈版本,还能更生草(确信🤔

thonkart.24.04.04

这几天我终于做完了上次残存的部分8GB包处理,暂存8GB包的某块10TB垃圾盘现在什么都没存,正好可以往里面塞某些之前到处乱放的raw照片备份(确信🤔我以为它们会塞满某块pe4010,但实际上貌似只占了500GB🤔这些东西原本会出现在某块3TB垃圾盘上,但那玩意不是检出若干个坏道吗,所以我没放那儿,然后拖到了这几天🤔

挪这部分东西可能花了三四小时?做checksum需要的时间稍微短一半🤔接下来我安排某块大盘鸡进行前几天上传的东西转双盘🤔

那么复制和等checksum的时间我在做什么?考虑到上个月买的sexart我居然还没拖,赶紧拖一拖,目测应该还有一天才过期🤔而且我居然保存了2022年撸这玩意时用的woiden小鸡鸡的全盘备份,而且从里面找到了sexart.sh,改一改cookies居然完全可以继续用,列出所有视频的功能也能用🤔

但就当我准备打开hetzner开一台机子大干114514场时,突然一个一个一个邮件,发了过来,sexart订阅过期力🤔草,搁这一个月按30天算啊(半恼🤔这就如同用guilded tube观看某些视频观看到高潮时突然无限加载,泪,射了出来(大嘘🤔

⑧行,我得再续一个一个一个月的,打开某球付一看,草,什么时候我的卡被销力?🤔迫真分析了一波,发现它现在撅定不再容忍多次的交易失败,所以像我以前玩的那种输卡号114514次白嫖各种东西的玩法,就会导致它出现异常交易114514次,接下来它就会扣申必手续费,而账上余额不够的话它会直接连卡带号一块🐑咯(全恼🤔

114514 secs later,,,

又撸了一个卡,它现在整的玩意是一张新卡28块钱,但一次性充300可以免一次🤔它还有张65的实体v/m卡,这玩意如果有使用价值的话其实不算贵,但v/m卡在国内基本上没有任何我能想象得到的使用场景,某球付的手续费又以其高到离谱而著名(我估计各种乱七八糟的加起来可能相比google查到的汇率有望超过10%),使其哪怕拿去香港啥的刷也不划算,一眼顶针,鉴定为只配买pornsites(吴慈悲🤔

外加重新充sexart的5美元,我又多花了将近65(全恼🤔继续,那个脚本是cgi-bin格式的,但sexart对多端登录基本上处于一种完全不管的状态,我写成cgi-bin纯粹吃饱了撑的,现在我需要做的是将它和另外一个我从不清楚什么鬼地方找出来的sexart下载脚本进行缝合,具体来说将其原来打在stdout上的东西重定向到文件(也就三个,一个metadata一个comments还有一个充满了解析后的下载链接的list文件),并用aria2雷普那个list文件,之后比以前优越的地方来力,我直接用支持文件夹上传功能的guilded drive上传整个文件夹,vans🤔

和两年前用discord drive实现的版本相比,我现在可以省去rar打包的步骤(和在arm鸡鸡里跑rar的额外折腾,如果这玩意可以折腾的话),而且考虑到hetzner的arm鸡鸡可以干到4GB内存,我这次直接开一个一个一个arm来搞这玩意🤔

这玩意有一个ipv6 only的选项,但选了它之后我连怎么连接进去都不清楚,它给的是一个/64的ip段,如果我没记错的话linux不像win,可能需要在ifconfig里显式地填后64位才能联网,那么问题来力,在此之前我没法用ssh连进去用它,我总不能真的用vnc console干这事⑧🤔所以删了重新开一个带ipv4的,其实就多了半欧元,我又不准备真拖一个月🤔

接下来开始列举所有视频并跑脚本,下载速度还行,能干到1.5Gbps,而且考虑到它有4GB内存,我的guilded drive脚本里也可以将线程数开到8(确信🤔但接下来上传的时候,它8线程都只有800Mbps出头?如果线程数降到4了可能还保不住400Mbps?wiebitte?🤔

刚好我的大盘鸡跑完了转双盘,而且一时半会我找不到别的事给它做(更新下kg114514算不算?那也不是今天需要做的),所以它也去跑sexart🤔这边更奇怪力,下载视频只有600Mbps出头,但上传guilded drive保持了一贯的能干到至少1.5Gbps的传统,这两台机子居然是反着来的,实在是过于生草🤔

thonk

至此这套玩意还是存在114514处不足,比如它目前倒是可以断点续传,但方法是适合github actions的2022式,我目前(至少在kg114514等项目上)用的断点续传法是基于本地数据库(迫真)的2023式,我可能得在某个时候将脚本改成现在这套🤔

而且目前我用的这套一直有一个一个一个缺陷,它也许可以通过cgi-bin来将任务发布到比如github actions的机子上,但任务完成后返回的guilded drive链接等玩意?我暂且没啥好办法接收(悲🤔反正我想不出来除了跑一个一个一个真·sql数据库+rest api外还有什么好办法🤔或者,要么我去试试所谓的云数据库?比如我们熟悉的cloudflare就有云数据库,它至少应该可以和cloudflare worker集成得很好,而我在kg114514项目的最后一步(给个id就返回guilded drive链接列表)就是worker实现的(确信🤔

另外话说回来这套玩意真たま的慢,一个4k片源存在的片子基本上要干十分钟甚至⑨分钟以上(全恼🤔然后考虑到这破玩意到现在足足有1943个片子,所以我要是现在仍然只有两个线程的话,恐怕这玩意真得干一个月(撅望🤔考虑到接下来waifu游戏迟迟不出新活动,我是不是该想办法复活github actions?🤔

adulttime.24.02.01

今天终于解决了银行卡的问题,再往全球付里塞了11.45后,我得以在adulttime和sexarts里二选一🤔

我最后选了adulttime,因为这玩意还是比较有挑战性的,我记得它全站有十几万视频,光我比较感兴趣的那个迫真按摩系列片子就有720个(确信🤔而且更有意思的是,它抠掉了下载键(至少对5美元一个月的抠逼会员来说),意味着我得用别的方法来下视频,比如雷普它的hls播放列表🤔

很明显我还是更喜欢用hls来下片子,因为首先它的hls分片cdn很难判定我是来看片子的还是来下片子的还是来siterip的,而下载链接判断是不是恶意雷普就容易很多(确信🤔其次作为hls的重度使用者、XXtube的发明者,我当然更喜欢它分好片,毕竟除了我自己分片要占用我自己的计算资源外,我目前的分片方式对付4k视频时没法分出大小均匀分布的片子但它们可以🤔另外在用aria2雷普了所有ts后,除了合成出视频外,我还可以将这些ts直接上传到guilded tube或者discord tube,再替换一下m3u8🤔更何况合出视频后其实大小和它的api显示的视频大小相差不大,甚至还大些可还行🤔

不过它的早期视频可没有hls,这些玩意恐怕我还是得下载后分片(恼🤔

它还有其他一些东西,比如视频metadata啥的,还有评论,还有更有意思的,部分视频配了字幕🤔我记得以前研究过一个叫做xconfession的玩意,它将视频字幕啥的塞进了同一个m3u8里,但adulttime不是这样,它的m3u8链接在打开视频链接的网页里,字幕链接在视频metadata的json里🤔

luminethonk

在1145.14秒后,我撸出来了一个大致的脚本框架,它能够根据详情页里的某个部分来判断视频源是不是hls🤔其实也没啥申必的,直接抓auto词条,如果它抓到了链接那么这玩意就是自适应版本m3u8,里面是各个分辨率的具体m3u8,写一个for来为每一个分辨率建立文件夹、下载分片然后ffmpeg合并就vans力🤔如果auto词条没有链接,说明它的视频源压根就不是hls,直接对着解析出来的mp4一顿aria2c(确信🤔总之无论它用不用hls,最后它都能生成各种分辨率的视频,接下来直接guilded drive走起🤔

但第二阶段呢?我也许可以直接上guilded tube脚本,我记得它既支持视频重新分片,也支持输入m3u8,忘了🤔但也许需要重新写一个,反正将那个通用脚本里的部分玩意删改下应该没啥问题(确信🤔主要是确保它最后生成的m3u8链接必须能够返回给调用它的脚本,因为我有可能还需要用生成的链接替换自适应m3u8里的链接,最后将这个新的自适应m3u8也上传到guilded drive🤔

在此基础上甚至我可能还需要将字幕文件的链接也插入自适应m3u8里,以及将它们合并到视频里🤔如果我能找到当年处理xconfession的脚本的话,那里貌似写了ffmpeg如何插入字幕🤔