OneIndex 是针对 OneDrive 网盘的一个开源程序,可以将 OneDrive 存储的文件展示、直链下载、在线播放视频,且不占用服务器空间,不走服务器流量。
部署步骤
需要 PHP 5.6+ 并打开 curl 支持
1 |
|
如上从 GitHub Releases 中下载好 oneindex.zip 后,解压到网站服务器目录,浏览器访问 your_domain/oneindex/
,然后根据提示操作即可。
如果访问时提示 Access denied 这样的权限错误,需要用 chmod
让 config 和 cache 目录可读写。
默认的后台管理页面是 your_domain/oneindex/?/admin
动图演示
计划任务自动刷新 token 和缓存
oneindex 访问 OneDrive 的 token 在一段时间后会自动失效;oneindex 页面所展示的目录也并非实时更新,而需要定时从 OneDrive 抓取。可以修改以下命令,写入 /etc/crontab
,即可实现定时刷新 token 和 文件/目录缓存。
1 |
|
功能
特殊文件实现功能
-
在 OneDrive 的文件夹中添加
README.md
文件,会将内容直接展示在相应的文件夹页面底部 -
在 OneDrive 的文件夹中添加
HEAD.md
文件,会将内容直接展示在相应的文件夹页面头部 -
在 OneDrive 的文件夹中添加
index.html
文件,程序会直接输出网页而不列目录 -
文件夹加密:在 OneDrive 的文件夹中添加
.password
文件,填入密码,密码不能为空。Windows 下可能无法在资源管理器中新建没有文件名的文件,因此可以使用命令行:
1
cd.>.password
然后使用文本编辑器填入密码即可。
更新于 2020-04-29:Windows 1903 已支持在资源管理器直接新建仅有扩展名的文件了。
命令行功能
-
清除缓存:
1
php one.php cache:clear
-
刷新缓存:
1
php one.php cache:refresh
-
刷新令牌:
1
php one.php token:refresh
-
上传文件:
1
php one.php upload:file 本地文件 [OneDrive文件]
-
上传文件夹:
1
php one.php upload:folder 本地文件夹 [OneDrive文件夹]
例如:
1
2
3
4
5
6
7
8
9
10
11# 上传 demo.zip 到 OneDrive 根目录 php one.php upload:file demo.zip # 上传 demo.zip 到 OneDrive /test/ 目录 php one.php upload:file demo.zip /test/ # 上传 demo.zip 到 OneDrive /test/ 目录并将其命名为 d.zip php one.php upload:file demo.zip /test/d.zip # 上传 up/ 到 OneDrive /test/ 目录 php one.php upload:file up/ /test/
正因为直接部署能够方便地上传服务器文件到 OneDrive,我才没有选择部署更加便捷的 Docker 方式。
密码重置
如果忘记了后台管理密码,可以去 oneindex 目录下修改 config/base.php
文件第三行的 password
字段。