飘云飘云

漂泊的云,停留的心!人的头脑太复杂,时间过得久,有时候连自己也被自己骗了,记下来才是最真实的……

宝塔面板环境搭建Oneindex源码程序 OneDrive目录直接显示

前言

OneDrive一直作为一款非常优秀的网盘受到很多人的喜爱,容量大速度快,如果你有Office365或使用微软全家桶都非常方便的同步和存储文件。那么如果我们和一台VPS甚至一个PHP虚拟空间结合呢?你的PHP空间或者VPS就秒变“大盘鸡”了!

OneDrive,全名Microsoft OneDrive,前称Windows Live SkyDrive,是微软所推出的网络硬盘及云端服务。用户可以上传他们的文件到网络服务器上,并且透过网络浏览器来浏览那些文件。更可直接编辑和观看Microsoft Office文件。同时推出同步上传软件,可于计算机直接访问和同步文件。另外,OneDrive并允许用户透过Microsoft Account来限制不同的用户访问文件,允许用户决定是否将文件与公众分享,或是限于联系菜单上的人才能访问;而对所有人公开的文件则不需要Microsoft Account即可访问。

Office 365订阅用户可获得1TB储存空间,免费用户拥有5GB储存空间(用户除了免费空间还可以邀请新用户加入OneDrive你和被邀请者都可以获得0.5GB额外的储存空间,最高10GB),用户可选择付款扩展容量。OneDrive现在支持10GB的文件另外,微软也提供以Silverlight和HTML5为基础的文件上传功能,用户只要透过“拖拉”的方式便能将文件上传。但如没有安装Silverlight或浏览器不支持HTML5,则每次同时只可上传5个文件。

OneIndex是hostloc论坛大佬@donwa 写出来的PHP程序,利用OneDrive的API接口,程序可以直接列出你的OneDrive目录,和普通的Index列表程序一样简单,简直就是神器~

主要功能

不占用服务器空间,不走服务器流量
直接列出 OneDrive 目录,文件直链下载
文件夹加密访问
文档(代码)在线浏览,图片在线浏览,视频可在线播放
支持Markdown语法的头部、底部说明
响应式,支持小屏设备

演示站点

http://one.piaoyun.cc/

环境需求

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

安装方法

1、用宝塔面板新建网站环境,严格按照上面的环境需求第1条。
2、进入网站根目录,用下载好的Oneindex程序,并将压缩包内所有文件提取至根目录。源码下载见页面底部:相关资源链接
3、访问你的域名,进入安装引导页面。(如下图所示)
install.gif
4、如果安装失败,请重新按照步骤“3”进行尝试。

进阶教程

计划任务

为了保证实时同步onedrive内的文件列表,需要设置定时任务进行定时同步。
进入宝塔定时任务设置
任务类型选择:shell脚本
任务名称:OneIndex-每小时刷新一次Token
任务周期选择:每小时,0分钟,脚本内容为:
php /程序具体路径/one.php token:refresh

01.jpg
PS:具体路径为你网站根目录路径,PHP后有空格请注意。

再添加一条定时任务,

任务名称:OneIndex-每十分钟后台刷新一遍缓存
任务周期改为:N分钟-10分钟,脚本内容为:
php /程序具体路径/one.php cache:refresh
02.jpg

伪静态设置

Nginx 伪静态设置

if (!-f $request_filename){
set $rule_0 1$rule_0;
}
if (!-d $request_filename){
set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
rewrite ^/(.*)$ /index.php?/$1 last;
}

后台打开去掉/?/ (需配合伪静态使用!!),保存设置

主题设置方法

基本设置 -> 网站主题 [演示站点为nexmoe]

设置背景

修改 oneindex/view/nexmoe/layout.php 第 8 ~ 10 行中的 body 样式

body {
 background-color:#f2f5fa;
 padding-bottom:60px;
 background-image:url(https://xxx/xx/bg-bottom.svg);
 background-position:center bottom;
 background-repeat:no-repeat;
 background-attachment:fixed
}

在设置 - 网站风格 中选择 nexmoe

特殊文件实现功能

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/

相关资源链接:

Oneindex(OneDrive Directory Index)原版:https://github.com/donwa/oneindex

修改版:

萌咖大佬 Oneindex(OneDrive Directory Index)修改版: https://github.com/0oVicero0/oneindex
创意整合:
1.极大简化安装步骤。
2.一些样式美化修改。
3.分页模式,加快页面预览速度。创意来自oneindex-h
4.可后台自定义网站主标题,副标题。
5.可后台自定义每页显示项目数量。

Oneindex(OneDrive Directory Index)修改版:https://github.com/hang666/oneindex-h
oneindex修改版增加功能
1.看图模式
2.目录分页
修改了nexmoe主题,使用时请更换

其他版本:

Another OneDrive Directory Index:https://github.com/WangNingkai/OLAINDEX

萌咖大佬 A simple directory index for OneDrive:https://github.com/0oVicero0/OneList
简介:OneList-最简洁的OneDrive目录索引源码,OneList是萌咖大佬做的一个非常简洁的OneDrive目录程序!没有视频在线播放,没有图片预览等!非常不错的开源代码!

PyOne - 基于Python的onedrive文件本地化浏览系统,使用MongoDB缓存文件:https://github.com/abbeyokgo/PyOne

参考资料:
https://www.quchao.net/OneIndex.html

当前页面:飘云 » 宝塔面板环境搭建Oneindex源码程序 OneDrive目录直接显示

评论