OneIndex能将onedrvie的文件索引出来,让更多人能查看下载,同时也比限速下载的百度网盘好一点,当然这和微软给你分配的服务器地区有关。这个程序不占用服务器空间流量。这下面的内容转载于程序作者,他会不断更新这个程序的。
donwa 原文地址:
https://github.com/donwa/oneindex
但是我觉得他的安装方法有些麻烦,查阅了一些资料,本文会将另外两种不使用案卷的方法也写出来,一种是一键脚本,一种是用在指定目录下安装,要注意的是不同方法要做的准备不一样我也会标注在文章中的,这篇文章是在转载几个大佬写的东西做合集完成的,所以这篇我会标注非原创,虽然可能只有我把他写成了合集。想知道更多可以去大佬的博客下看和问。我还会写一篇原创的文章,将基于我之前写的宝塔环境安装配置,写图文教程。
Onedrive目录索引
不用服务器空间,不走服务器流量,
直接列onedrive目录,文件直链下载。
https://xn.tn
18-03-29:更新直链获取机制,缓存机制,避免频繁访问的令牌失效
18-03-29:解决非英文编码问题
18-03-29:添加onedrive共享的起始目录功能
18-03- 29:添加重写的配置文件
18-03-29:增加sqlite模式缓存支持
18-03-29:添加缩略图功能
18-03-29:添加404判断
18-03-31:添加控制台
18-04-13 :修复特殊文件名无法下载问题
18-04-13:
更新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 账号 (个人、企业版或教育版/工作或学校帐户)(没onedrive弄不下去的)
3、oneindex 程序
从搬运工仓库获取镜像:
https://github.com/donwa/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}
Debian 8或9
,且无网站环境(就是没装过php之类的),会自动签发Let's Encrypt SSL
证书,请提前将域名解析至VPS
服务器。)wget https://www.moerats.com/usr/shell/OneIndex.sh && bash OneIndex.sh
1、复制oneindex到服务器,设置config/
、config/base.php
、 cache/
可读写
2、浏览器访问、绑定账号
3、可以使用
[可选] 推荐配置,非必需。后台定时刷新缓存,可增加前台访问的速度
# 每小时刷新一次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
文件,使用降价语法。
在文件夹头部添加说明:
在onedrive文件的夹数中添加
HEAD.md
文件,使用降价语法。
加密文件夹:
在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/
配置在 config/base.php
文件中:
onedrive共享的起始目录:
'onedrive_root'=> '', //默认为根目录
如果想只共享onedrive下的 /document/share/ 目录
'onedrive_root'=> '/document/share', //最后不带 '/'
去掉链接中的 /?/ :
需要添加apache/nginx/iis的rewrite的配置文件
参考程序根目录下的:.htaccess
或nginx.conf
或Web.config
//在config/base.php 中
'root_path' => '?'
改为
'root_path' => ''
nginx图片404问题,参考https://github.com/donwa/oneindex/issues/14
设置nginx伪静态
location / {
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}
缓存时间: 初步测试直链过期时间为一小时,默认设置为:
'cache_expire_time' => 3600, //缓存过期时间 /秒
'cache_refresh_time' => 600, //缓存刷新时间 /秒
如果经常出现链接失效,可尝试缩短缓存时间,如:
'cache_expire_time' => 300, //缓存过期时间 /秒
'cache_refresh_time' => 60, //缓存刷新时间 /秒
设置缓存模式为sqlite:
'cache_type'=> 'sqlite' // file | sqlite