OneIndex是一款专门映射挂载 Onedrive 网盘的一个开源程序。可以将Onedrive存储的文件通过列表的的方式进行展示,可以进行直链下载、在线播放视频、音乐等媒体文件!不占用服务器空间,不走服务器的流量!几乎是零成本搭建自己的专用网盘。
特点:
- 响应式,支持小屏设备
- 视频、音乐在线播放
- 图片在线预览
- 代码在线查看
- 支持文件夹加密
- 支持自定义头部、底部显示
- 支持文件上传
准备工作
1)一台支持PHP+mysql的VPS,虚拟机也是可以的
2)一个OneDrive账号,微软个人账号15G,或者申请E5账号5T也是可以的
3)(可选)一个域名用于解析
宝塔面板安装
原作者已经删库了,大家可以在github上搜索onedrive
,总会有人fork下来的😍,当然,你也可以 从这个地址 下载我的备份文件。
当然你也可以从下面文章获取azure 应用ID,以及免费申请office 365 E5:
因为都是很基本的宝塔操作,这里就不放图了,大概给大家说下流程,大家可以看下面作者整个安装演示动图。
- 添加PHP站点:注意同时要新建Mysql数据库;
- 上传或者远程下载Oneindex程序到网站根目录,解压压缩包;
- 进入网站设置,申请免费的ssl证书并设置强制HTTPS;
- 使用域名登入Oneindex首页会自动进入到安装步骤。
oneindex
,记得登录后修改密码哦。特殊文件实现功能
README.md
、HEAD.md
、 .password
特殊文件使用
可以参考https://github.com/donwa/oneindex/tree/files
在文件夹底部添加说明:
在 OneDrive 的文件夹中添加README.md
文件,使用 Markdown 语法。
在文件夹头部添加说明:
在 OneDrive 的文件夹中添加HEAD.md
文件,使用 Markdown 语法。
加密文件夹:
在 OneDrive 的文件夹中添加.password
文件,填入密码,密码不能为空。
直接输出网页:
在 OneDrive 的文件夹中添加index.html
文件,程序会直接输出网页而不列目录。
配合 文件展示设置-直接输出 效果更佳。
设置伪静态
进入网站设置,点开伪静态标签,复制下面代码后保存,然后在oneindex后台设置将去掉地址栏中的/?/
这个选项打开。
if (!-f $request_filename){
set $rule_0 1$rule_0;
}
if (!-d $request_filename){
set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
rewrite ^/(.*) /?/$1 last;
}
设置定时任务
进入宝塔面板计划任务,添加下面两个任务
1) 刷新token
任务类型:Shell脚本
任务名:每小时刷新一次token
执行周期:每小时 0分钟
脚本内容:php
你的网站目录路径
/one.php token:refresh
- 刷新缓存
任务类型:Shell脚本
任务名:每十分钟后台刷新一遍缓存
执行周期:N分钟 10分钟
脚本内容:php
你的网站目录路径
/one.php cache:refresh
写在最后
Oneindex到这里就安装完成,你可以享用你的个人网盘了。oneindex算是最早的一个Onedrive列表程序,功能丰富,操作简洁,界面简洁,虽说现在各种列表程序层出不穷,但是还是有很多用户在继续使用,这里说个小技巧,在搜索引擎搜索index of / – OneIndex
就能找到网友们搭建的网盘,也许你能发现一些好东西哦。😋
绑定账号报这个错什么鬼:
invalid_request: The provided value for the input parameter 'redirect_uri' is not valid. The expected value is a URI which matches a redirect URI registered for this client application.
刚才忘了了说了。上面这个错误就是因为上游删库了,绑定账号时的请求链接URI错误造成的。:黑线:
现在OneIndex上游已经删库了,所以不推荐再使用Oneindex搭建列表程序,如果非要使用可以看看这个魔改的https://github.com/motao123/oneindex
如果你有服务器推荐使用Alist:https://github.com/Xhofe/alist
没有服务器可以看看https://github.com/vcheckzen/FODI和https://github.com/spencerwooo/onedrive-vercel-index
有时间我写写这两个的教程:滑稽: