Onedrive Directory Index
功能:
不占用服务器空间,不走服务器流量,
直接列出 OneDrive 目录,文件直链下载。
开源地址:https://github.com/donwa/oneindex
更新内容:
1、接口转为使用graph接口,支持个人账号
2、不在集成secret,请按照安装流程进行获取
3、增加管理后台(地址?/admin 初始密码:oneindex)
4、不同后缀文件展示方式自定义
5、<5M 文件,可以自定义直接输出(可解决跨域调用,比如字幕等问题)
6、cli文件夹上传(单线程)
7、后台文件夹上传(多线程)
8、图床(OneImages),还比较简陋。
9、新增 index.html 特性,如果目录下存在index.html 直接输出index.html而不列目录。
安装运行:
需求:
1、PHP空间,PHP 5.6+ 需打开curl支持
2、OneDrive 账号 (个人、企业版或教育版/工作或学校帐户)
3、OneIndex 程序
配置:
Docker 安装运行:
运行:
docker run -d --name oneindex \ -p 80:80 --restart=always \ -v ~/oneindex/config:/var/www/html/config \ -v ~/oneindex/cache:/var/www/html/cache \ -e REFRESH_TOKEN='0 * * * *' \ -e REFRESH_CACHE='*/10 * * * *' \ setzero/oneindex
变量说明:
REFRESH_TOKEN刷新一次token的crontab表达式,默认值0 * * * *,即每小时REFRESH_CACHE刷新一次cache的crontab表达式,默认值*/10 * * * *,即每10分钟
停止删除容器:
docker stop oneindexdocker rm -v oneindexDocker-compose 安装运行:
运行:
docker-compose up -d
停止删除容器:
docker-compose down
计划任务
[可选]推荐配置,非必需。后台定时刷新缓存,可增加前台访问的速度。
# 每小时刷新一次token
0 * * * * /具体路径/php /程序具体路径/one.php token:refresh
# 每十分钟后台刷新一遍缓存
*/10 * * * * /具体路径/php /程序具体路径/one.php cache:refresh
特殊文件实现功能
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 文件,程序会直接输出网页而不列目录。
配合 文件展示设置-直接输出 效果更佳。
命令行功能
仅能在PHP CLI模式下运行
清除缓存:
php one.php cache:clear
刷新缓存:
php one.php cache:refresh
刷新令牌:
php one.php token:refresh
上传文件:
php one.php upload:file 本地文件 [OneDrive文件]
上传文件夹:
php one.php upload:folder 本地文件夹 [OneDrive文件夹]
例如:
//上传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/
作者:donwa
查看原帖:https://www.hostloc.com/thread-453226-1-1.html