/oneindex

Onedrive Directory Index

Primary LanguagePHP

oneindex

Onedrive Directory Index

功能:

不用服务器空间,不走服务器流量,

直接列onedrive目录,文件直链下载。

demo

https://xn.tn

change log:

18-03-29: 更新直链获取机制、缓存机制,避免频繁访问的token失效
18-03-29: 解决非英文编码问题
18-03-29: 添加onedrive共享的起始目录 功能
18-03-29: 添加rewrite的配置文件
18-03-29: 增加sqlite模式cache支持
18-03-29: 添加缩略图功能
18-03-29: 添加404判断
18-03-31: 添加console
18-04-13: 修复特殊文件名无法下载问题
18-04-13: 添加命令行上传功能
18-04-16: 更新 2.0 beta
18-04-16: 更新展示界面
18-04-16: 响应式,支持小屏设备
18-04-16: 图片在线预览
18-04-16: 视频在线播放
18-04-16: 代码在线查看(js、css、html、sh、php、java、md等)
18-04-16: README.md 支持,解析各目录下(onedirive目录下) README.md 文件,在页面尾部展示。
18-04-18: 音频在线播放
18-04-18: HEAD.md 支持,在页面头部展示
18-04-18: .password 文件夹加密
18-05-06: 在线视频播放器替换成 Dplayer
18-05-06: 在线视频播放支持'mp4','webm','avi','mpg', 'mpeg', 'rm', 'rmvb', 'mov', 'wmv', 'mkv', 'asf'
18-06-01: 支持个人账号
18-06-01: cli文件夹上传(单线程)
18-06-01: 管理后台(后台地址:?/admin 默认密码:oneindex)
18-06-01: 不同后缀展示设置
18-06-01: 文件直接输出
18-06-01: 文件上传管理(后台) 18-06-01: 增加index.html特性
18-06-01: 图床功能

需求:

1、PHP空间,PHP 5.6+ 打开curl支持
2、onedrive 账号 (个人、企业版或教育版/工作或学校帐户)
3、oneindex 程序

安装:

image

docker 安装运行:

从docker仓库获取镜像:

docker pull yinaoxiong/oneindex

或者从源码构建镜像:

git clone https://github.com/donwa/oneindex.git
cd oneindex/
docker build -t your-image-name .

运行:

docker run -d -p {open port}:80 --name {container name} --restart=always {image name}

停止删除容器:

docker stop {container name}
docker rm -v {container name}

计划任务  

[可选]推荐配置,非必需。后台定时刷新缓存,可增加前台访问的速度  

# 每小时刷新一次token
0 * * * * /具体路径/php /程序具体路径/one.php token:refresh

# 每十分钟后台刷新一遍缓存
*/10 * * * * /具体路径/php /程序具体路径/one.php cache:refresh

特殊文件实现功能  

README.mdHEAD.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/