文章写于 2022.05.09,文章并无最新适配,可能无法复现。另推荐使用较新的项目
通过 Onedrive 可以建立网盘网站,例如我的VRChat网盘已经没了,还可以直接建立网页,或者图床
oneindex 简介
Github: https://github.com/avedu/oneindex
Onedrive Directory Index,不占用服务器空间,不走服务器流量,直接列出 OneDrive 目录,文件直链下载。
环境
需要 PHP5.6+,需打开 curl 支持,新手(比如我)建议直接使用
宝塔
直接部署,方便快捷
另因宝塔隐私泄露风波,有一些其他版本如 宝塔纯净版 ,请自行识别安装
安装
从 Github 将仓库下载并上传至网站根目录并解压缩
然后访问网站,进入安装程序
检测
首先是同意条款,如果点击同意会返回,请将地址栏中最后的 &mdui-dialog 删除后按回车
如果环境正常点击下一步
程序安装
点击获取应用ID和机密(分两个页面显示,请注意保存),然后登陆微软账号
保持出现的应用机密,然后点击知道了,返回快速启动
注意:此机密仅会显示一次,请妥善保存
然后选择一门语言,比如Python,点击Get a client ID,复制获得的Client ID
返回安装程序界面,输入应用机密和Client ID,然后点击下一步
点击绑定账号,选择接受即可
如果出现错误
请返回输入应用机密和Client ID的界面,打开
Azure 的应用注册
,这里应该有俩应用
找到名为 oneindex 的应用,复制它的应用程序(客户端)ID填入Client ID
还有一个没什么用,可以直接删除
管理
安装完成后会有管理后台和访问网站选项
可以进入管理后台修改网站名称,主题,后台密码等 (初始密码: oneindex)
后台网址为您的域名/?/admin
伪静态
设置 apache 或者 nginx 的 rewrite (使用 wordpress 的配置即可)
以上为原作者的原话(部分内容有修改),因我使用 宝塔 ,遂说明宝塔如何配置
在宝塔面板的网站进入设置里伪静态,选择wordpress保存即可
在网站管理后台将伪静态勾选保存即可
这样链接中?会去除,访问后台可直接您的域名/admin
特殊文件实现功能
Markdown 语法可参考我写的文章:
Markdown 笔记
在文件夹底部添加说明:
在 OneDrive 的文件夹中添加
README.md文件,使用 Markdown 语法。
在文件夹头部添加说明:
在 OneDrive 的文件夹中添加
HEAD.md文件,使用 Markdown 语法。
加密文件夹:
在 OneDrive 的文件夹中添加
.password文件,填入密码,密码不能为空。
直接输出网页:
在 OneDrive 的文件夹中添加
index.html文件,程序会直接输出网页而不列目录。 配合 文件展示设置-直接输出 效果更佳。
因为直接输出网页,可以直接搭网站
访问其他文件正常,但访问图片出现404
这是由于服务器软件 (Nginx/Apache) 接管了图片处理,删除相关配置即可
以下为使用宝塔
在网站-配置文件将下述代码注释掉即可
| |
改为
| |
此问题参考 部署 OneDrive for business (PHP)客户端程序 OneIndex 详细教程 - VirCloud’s Blog - Learning&Sharing
命令行功能
仅能在 PHP CLI 模式下运行
清除缓存:
| |
刷新缓存:
| |
刷新令牌:
| |
上传文件:
| |
上传文件夹:
| |
例如:
| |
计划任务
[可选]推荐配置,非必需。后台定时刷新缓存,可增加前台访问的速度。
| |
Docker安装运行
请参考 TimeBye/oneindex