soarli

基于宝塔LNMP环境搭建Oneindex
近些天不在学校,有同学想要安装Matlab,然而近10余G的安装包在几乎所有能接触到的免费不限速平台上都不能传输。...
扫描右侧二维码阅读全文
16
2020/04

基于宝塔LNMP环境搭建Oneindex

近些天不在学校,有同学想要安装Matlab,然而近10余G的安装包在几乎所有能接触到的免费不限速平台上都不能传输。。

仍然记得大半年前了解过微软的Onedrive,校园邮箱注册者送5T免费空间,单文件上传貌似最大15G(记不清了),并在xkx.me平台上注册过一枚教育账号(鬼知道为啥今天我又在tb上花费5大洋买了一枚同款的,前缀随机的账号!!555~),不扯了,开始记录Oneindex

主要功能

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

演示站点

dl.20180608.xyz:2021

环境需求

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

程序下载

Github:点这里
备用下载:点这里

安装方法

  1. 用宝塔面板新建网站环境,严格按照上面的环境需求第1条。
  2. 进入网站根目录,用下载好的Oneindex程序,并将压缩包内所有文件提取至根目录。
  3. 访问你的域名,进入安装引导页面。(如下图所示)

进一步配置

计划任务

为了保证实时同步onedrive内的文件列表,需要设置定时任务进行定时同步。

  • 进入宝塔定时任务设置,任务类型选择shell脚本,任务名称:OneIndex-每小时刷新一次Token ,任务周期选择每小时0分钟,脚本内容为:php /程序具体路径/one.php token:refresh PS:具体路径为你网站根目录路径,PHP后有空格请注意。
  • 再添加一条定时任务,任务名称:OneIndex-每十分钟后台刷新一遍缓存,任务周期改为N分钟-10分钟,脚本内容为:php /程序具体路径/one.php cache:refresh

伪静态设置

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]

特殊文件实现功能

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.zipOneDrive 根目录

php one.php upload:file demo.zip  

上传demo.zipOneDrive /test/目录

php one.php upload:file demo.zip /test/  

上传demo.zipOneDrive /test/目录并将其命名为 d.zip

php one.php upload:file demo.zip /test/d.zip  

上传up/OneDrive /test/ 目录

php one.php upload:file up/ /test/

参考资料:

https://github.com/donwa/oneindex

https://blog.csdn.net/yuanhang621/article/details/99616701

https://royfk.com/archives/54

https://www.quchao.net/OneIndex.html

https://demo.olaindex.com/home/1

https://luotianyi.vc/987.html

https://github.com/lzx8589561/oneindex2-in

https://567899.xyz/cn-onedrive-oneindex.html

http://zhengxu123.epizy.com/

https://support.office.com/zh-cn/article/%E7%AE%A1%E7%90%86-onedrive-for-business-%E5%AD%98%E5%82%A8-31519161-059c-4764-b6f8-f5cd29f7fe68

最后修改:2020 年 04 月 16 日 10 : 06 PM

发表评论