受市面上大量网盘服务商限制,例如bd网盘,他们家的限速真的很有名,或者天翼云什么的,只不过空间小,普及率也不高,早就有搭建个人网盘的想法了,不仅资源随便放,消除吞资源风险(GAL玩家深有体会),还不限速,真的是香,只不过呢,作为一个穷人,服务器既没有那么大的硬盘也没有那么大的带宽来实现我的计划,像类似于可道云这类直接在服务器部署的demo就只能搁置了,最终,还是只能给百度送钱。可是最近发现了一个好项目,曾经被我忽略的onedrive网盘现如今派上了大用场~

docker oneindex容器



下载速度能达到100M带宽,非常不错

这就是oneindex,它可以映射你Onedrive的资源(或一个文件夹内资源)分享给你朋友、同学,或者把你Onedrive一个文件夹内所有文件变成下载站,无需消耗现有服务器资源,搭建高质量稳定的私有云
优点:
1.映射onedrive资源,不占服务器硬盘空间
2.下载资源速度快
3.视频,文档等可以在线打开
4.自己的onedrive空间+自己的域名,真正意义上的私有云
这个project有两个部署方法,既可以手动上传php源码部署,也可以部署在docker容器中,这次讲docker部署
php环境部署:https://rosmontis.com/archives/1698
正文开始
1.docker获取oneindex镜像
自备docker环境,懒人可用宝塔面板

然后获取镜像,镜像名称为yinaoxiong/oneindex

等待pull完成~pull完之后就创建容器

容器列表→创建容器,目录映射,执行命令都不用填写了,端口映射如下是映射80端口到服务器的某一端口,我随便搞个1111端口,设置开机自启动

如图所示,创建完成后,在防火墙放行对应端口,然后可以【访问服务器+容器对外端口】测试容器是否正常运行,若一切正常,即可配置反向代理
2.docker容器配置反向代理
谁都不想用一长串ip访问网站,更何况带着端口,所以我们用反向代理将ip映射到域名,即可通过域名访问网站
注意:我这里使用宝塔进行演示,若是纯docker环境的大佬可以使用nginx-proxy-manager进行反代操作,不再过多赘述
首先创建一个网站,这里有个有意思的细节要注意一下:

PHP版本我们选择纯静态,可以在你OneIndex设置中去除掉网址中的/?/而不需要配置伪静态,后面的步骤可以知道,到时候再另外修改也不迟~
创建好之后我们进入网站设置,切换至反向代理面板,如图:

代理名称随便填
目标URL填写http://服务器ip:1111(自定义的任意端口号)
发送域名可以保持原状不修改或填写需要与oneindex绑定的域名
添加完成后访问域名进入oneindex配置界面
3.配置oneindex
访问域名,查看环境是否支持,若显示如下图,即可下一步

若是某某目录不可读写,给www用户全部读写权限
接下来是重头戏,填写应用id和机密

如果你是Office365送的OneDrive,也就是Onedrive国际版本,到Microsoft Azure App registrations内创建。
如果你是世纪互联版本OneDrive,到Microsoft Azure.cn App registrations内创建。
我是国际版本,所以用国际版示例
访问网址,登录自己的microsoft账号,进入如图所示页面,选择新注册应用

之后,我们填入需要的参数:
- 名称:最好为纯英文。
- 受支持的帐户类型:如图:选择任何组织目录的账号和个人
- 重定向 URI:这里填入API:
https://tool.mintimate.cn/oneindexM/

注册完成后,会自动跳转到应用信息页面,在这里可以找到应用id,位置如下图所示,拿小本本记下来

在获取应用机密前,我们需要设置权限,点击:API权限
–Microsoft Graph
:

依此勾选:
- offline_access
- Files.Read
- Files.Read.All
最后更新权限即可:


最后,我们可以获取应用机密(密钥)了,点击:证书和密码
–新建客户端密码
:

截至时长最长可以三年,按需选择

得到的值就是应用机密

回到安装界面,把得到的一堆玩意填进去~~~

下一步,绑定你的微软账号

接受即可

到这里就安装成功了,强烈建议先去后台看看

后台域名http://yourdomain/?/admin/
之前我就是没有去后台,直接访问网站了,等到想去后台修改站点名称时,却不知道后台入口,只能重装
可以修改站点名称

关于起始目录需要说明,你可以选定OneDrive里的一个文件夹作为起始目录,别人就只能访问到这个文件夹内的内容,相当于这个文件夹是对外公开的, 其他文件夹OneIndex依旧不可读,也就不会公开,能够有效保护隐私,如果你的onedrive里有重要文件,可以专门创建一个公用文件夹用于分享
最后,更改后台密码:

初始密码MintimateBlog
完成。访问主页面

onedrive的文件就真出来了
体验一下飞速般的下载吧

我的Onedrive有5T空间,美滋滋~~~
用php部署oneindex以及获取Onedrive 5T大空间步骤(不用钱,不用edu邮箱,不用手机),过两天再写~~~,可以时常去主页看看有没有更新
php部署oneindex链接:https://rosmontis.com/archives/1698
获取5T的onedrive空间:无需教育edu邮箱,加入Microsoft开发人员计划,白嫖5T的Onedrive空间 | Rosmontis
文章评论