wiebitte.19.09.26

发表于 2019-09-26  43 次阅读


奇怪,我上了一个cloudflare,导致pc端登不上了,我们试试手机端行不,按理来说cloudflare不应该导致动态内容出问题啊

好吧,是我服务器空间爆了,卧槽

话说回来继oneindex后,duowa搞了一个更黑的黑科技,利用cloudflare的worker脚本(这玩意其实就是一node.js,不过是用cloudflare的服务器跑的;说不定我哪天研究下怎么拿它搞discord)来中转google drive的文件,并用cloudflare的cdn网络提供下载,实测绝大多数文件能浏览器单线程下载跑满本地带宽;卧槽这个就太屌了,google的服务器在美国随便能上Gbps,而cloudflare补上了从美国到晋国的最后一步(好像是某度做的本地化,这基本上相当于google drive度盘化了),这样下来google drive将成为毫无争议的最强网盘了(手动滑稽

而且更屌的是使用cloudflare worker,根本不用搭建任何网站!卧槽卧槽卧槽卧槽卧槽卧槽卧槽卧槽卧槽我搞onedrive的时候还需要从免费php空间到docker各种折腾,网址还换了四五次,现在终于可以不用换了(鬼才知道

现在基本上可以忘掉onedrive了,不过我的大部分文件在三个drive上都有备份,所以我也不用担心

这段时间我还搞了其他一些乱七八糟的玩意,比如用HLS技术实现discord在线视频,先用ffmpeg分段,然后再用以前写的脚本上传,再用discord链接替换原来的.m3u8里面的文件名,duang,一个hls播放列表就做完了,移动端可以直接播放(当然你得把它托管到别处,discord上就只能下载了),pc端事情比较多,装个hls.js扩展吧

或者像我一样挂第三方js,但这样的话就遇到了同源策略的事情导致没法加载discord的视频源,解决方案是装一个allow control allow origin插件在所有返回包里面加一行,强行绕过所有SOP;这样当然就不安全了,反正都得装东西,装一个hls.js就好了,它甚至支持点discord的m3u8链接直接打开(这样的话它很神奇地符合了SOP)而不是弹下载框;至于移动端压根就没有什么SOP,如果是别处的m3u8可以直接打开,discord上的m3u8可以用我写的一个第三方js播放器打开

当然现在有gdindex了,我用不着坑爹的discord在线视频了;discord当然也在用cloudflare,所以它的视频源速度也挺快的,但问题是ffmpeg分割视频不是什么万金油,对于那些720p的小电影可以对付,但码率一高它就不行了,因为哪怕半秒也超过8MB;另外视频片段设置到半秒的时候,另外一件神奇的事情就会发生:绝大多数支持hls的播放器最多只能做到当前片段播完了加载下一片段,这样它就会每半秒卡一下,卡得没法看

所以这玩意还是挺™苟且的,解决办法当然是无脑加大视频片段的大小,换句话说就是给discord充钱啦?当然我已经是nitro用户了,但我怕封号,所以我不会拿我自己的帐号做这事;那些lv2甚至lv3的guild也是存在的,但都基本上关闭了文件上传,而且也没有什么spam频道传东西(我试过一个,他们?管理给删了,所以我估计没法用别人的guild搞这个,毕竟西方世界没有拿任何东西搞文件存储的优良传统);所以我估计这事就这样吧

另外一个解决方案是DASH技术,youtube就在用,这项技术支持的分段视频更广,哪怕直接切割的文件好像都能放,还能加载不同码率的视频并支持无缝切换,但看起来太复杂了,我估计ffmpeg搞不定,现在还在研究

除此之外我还搞了一波js实现的discord文件分段上传,写了一个循环分割blob再传webhook上,瞎激霸折腾了一波终于解决了在循环间暂停指定秒数同时实现异步上传的问题,发现js写个暂停功能都这么蛋疼,函数里面套匿名函数然后再递归外层函数,我去

本来我打算用blob来实现分段文件列表的下载功能,但找不到合并blob的方法所以作罢,但现在我们有cloudflare提供的免费node.js-like了,蛤蛤蛤蛤蛤蛤蛤蛤,我想接下来的事情就非常容易了(并不),写个cloudflare worker脚本,拖下来所有的文件分段,然后再传送给请求端;或者将请求端的请求重定向到discord的文件上(就像pagefile一样),毕竟如果我没记错的话http请求一个大文件可以请求从任意字节开始到任意字节结束的位置;哪个能够实现用哪个,但我估计前者没戏,因为这个worker并没有存储功能,只能中转,google drive只需要中转一次,但discord这个感觉就比较操蛋了,一个大文件中转几百次都有可能,我的请求数很快就能被用光?

所以google drive作为文件源肯定比discord更爽啊,问题就在于我只能自己用了,分享给别人的话,他们要是发现那玩意是放在cloudflare上面的话,肯定会恶意举报一波(毕竟我最近的窒息操作把整个personafags惹毛了),而且我们都知道cloudflare和google恰好都有瞎激霸删东西封号的优良传统,所以我就不拿我的google drive帐号冒险了;但discord却没有这种问题,因为它有几千个小文件,而且很可能举报?、cloudflare和discord和他们的?一时半会不会弄清楚这破玩意是怎么一回事,弄清楚了也无妨,反正都是小号(手动滑稽

卧槽,刚重启了一下主题不见了,wtf,让我来猜测下为啥,可能是因为我的破服务器长期以来一直处于可用空间为0字节的状态,装的插件和主题可能在内存和swap的某处放着;这也太TM操蛋了吧,我去那个主题是我改出来的bruh

其实google drive的无论文件系统还是网盘用起来都不是很爽,毕竟google drive尽管下东西快但io操作卡ratelimit能卡到死,我以前用rclone文件系统挂owncloud时不设置读写cache完全没法用,所以google drive还是用于大文件备份吧,做网盘估计要gg;discord尽管文件小,但至少下载从来不卡ratelimit;另外我觉得同样的方法搞onedrive也许也行吧,就是onedrive的直链实在是慢的1b,而且据说onedrive的凭据搞起来也非常麻烦,我记得rclone曾经就专门更新了一遍凭据

本站文章基于国际协议BY-NA-SA 4.0协议共享;
如未特殊说明,本站文章皆为原创文章,请规范转载。

0

a random yukari chan lover