OneIndex作者已经删库了,不过在fork里面肯定还可以找到,大鸟看到有大佬反代OneDrive,来解决OneIndex下载速度慢的问题。
反代之后,虽然能提升 OneIndex上的下载和预览速度,但将失去[不走服务器流量]的优势!将使用你的服务器的流量来跑 OneDrive 下载,如果是限制小流量、按流量收费的服务器请谨慎尝试!!所以,你部署之前,请先准备一台不限流量的vps。不限流量的vps推荐2个:
1、准备
- 准备一台不限流量的vps
- 安装好宝塔面板
- 搭建好OneIndex(如何搭建教程:宝塔面板安装oneindex – 源码和docker两种方式安装及详细设置教程)
2、部署1
这个部署可以是两台vps,一台安装oneindex,一台不限流量的用于反带,当然也可以都放在一起。大鸟这里是分开的,反带的机器用伯力的88卢布那款。
2.1 获取连接
打开网页版onedrive, 看到地址https://xxx.sharepoint.com就是你的目标url。或者打开你的oneindex,随意下载一个文件,复制一个下载连接,截取红框部分,如图:
2.2 新建网站和其他
宝塔新建网站就不多说了,新建之后,开始设置反带,开始把上图截取的网址填入,看图:
注意:
- 目标url:https://your.sharepoint.com
- 发送域名:your.sharepoint.com(去掉前面的https://)
2.3 访问并且登录
上面的保存之后,我们用域名打开访问,如果出现图示,表示你的反带是没有问题的。,如图:
3、部署2
上面的做好之后,我们开始折腾oneindex。
3.1 修改 OneIndex 程序
打开安装好的oneindex目录/lib/onedrive.php文件,找到114行。
修改114行的代码:
'downloadUrl'=>$item['@microsoft.graph.downloadUrl'],
修改的形式:
'downloadUrl'=>str_ireplace("截取的链接","反代的链接",$item['@microsoft.graph.downloadUrl']),
注意:这部分修改很重要,如果你设置不对,那么无法成功。修改好后保存,可以登录oneindex后台清除下缓存。
4、效果对比
我们打开oneindex随便下载一个文件进行前后对比,具体效果如图:
额,前后对比,发现下载的链接也变掉了,下载的速度还是有提升的。发现速度不是太好,难道是因为晚高峰的问题?早上又试着下载一次,速度提升很大。
另外还有一个问题,还是大文件下载他会预先下载部分内容,对于小硬盘来说会直接撑爆硬盘,还有预载的超快下载速度会使CPU很容易占用超过50%(针对某mach机器和其他限制严重机器)还要再限制一下缓存占用。
#↓↓↓↓↓以下是小缓存设置↓↓↓↓ proxy_buffering on; proxy_buffer_size 4k; proxy_buffers 8 2M; proxy_busy_buffers_size 10M; proxy_max_temp_file_size 0; #↓↓↓↓↓↓↓↓以下是0缓存设置↓↓↓ proxy_buffering off;
以上内容添加到 宝塔反向代理配置中,或是 Nginx 配置中的很多排的 proxy_set_header
的下面即可!
5、最后
整个设置还是简单的,利用反带来提升onedrive的下载速度。这样做的前提是需要你有台不限流量的vps,设置完成后,你将失去[不走服务器流量]的优势!将使用你的服务器的流量来跑 OneDrive 下载。所以,请看清楚你的vps带宽和流量问题。
参考:https://niconiconi.cc/blog/203.html