说明:OneIndex
很久前就介绍过了,一个目录列表程序,可以将OneDrive
网盘里面的文件列出来供我们查看/下载,而且并不会消耗服务器的流量和空间,很是强大,之前该程序只适用于OneDrive Business
账号,很多人不知道怎么搞,博主也没怎么在意,现在已经支持OneDrive
个人账号了,估计很多人会用到,这里为了让部分小白快速上手,这里就整了个一键脚本,如果你不喜欢脚本或者服务器已有Web
网站环境,可参考教程:OneIndex安装教程,进行手动安装。
截图
更新
【2018.12.30】
修复重定向次数过多的问题,现已修复(这个抱歉,忘记在脚本里注释部分$,导致出了点小问题)。
【2018.12.22】
替换伪静态规则,调整缓存刷新时间
【2018.12.21】
修复一点小问题,并增加定时刷新缓存和token,并优化脚本步骤信息的提示
功能
#以下为大致功能
缩略图功能
命令行上传功能
响应式,支持小屏设备
图片、视频、音频在线预览
代码在线查看(js、css、html、sh、php、java、md等)
README.md支持,解析各目录下(onedirive目录下)README.md文件,在页面尾部展示。
HEAD.md支持,在页面头部展示
.password文件夹加密
在线视频播放器替换成Dplayer
在线视频播放支持mp4、webm,avi、mpg、mpeg、rm、rmvb、mov、wmv、mkv、asf。
cli文件夹上传(单线程)
不同后缀展示设置
文件直接输出
文件上传管理(后台)
图床功能
安装
Github地址:https://github.com/donwa/oneindex
系统要求:脚本只适用于Debian 8、9
,且无网站环境,会自动签发Let's Encrypt SSL
证书,请提前将域名解析至VPS
服务器。
运行命令:
wget https://www.moerats.com/usr/shell/OneIndex.sh && bash OneIndex.sh
安装完成后,打开域名,按照提示进行安装配置。
后台地址:https://xx.com/?/admin
,默认密码:oneindex
,网站根目录/home/wwwroot/xx.com
。
提示:这里好几个同学反映进不去后台,博主看了下原因,顺便再说下,安装好了后,需要先访问自己的域名,然后绑定OneDrive账号了才能访问后台,不然是进不去后台的!
绑定OneDrive
后建议先访问后台,如果前台出现HTTP ERROR 500
的情况,可以重新下载源码后再绑定账号,使用命令:
#将domain.com改成你的域名再运行以下命令
cd /home/wwwroot/domain.com
rm -rf ./*
git clone https://github.com/iiiiiii1/Oneindex.git
mv oneindex/* ./
chmod -R 777 config/ cache/
特殊文件实现功能
README.md
、HEAD.md
、.password
特殊文件使用。
#在文件夹底部添加说明
在onedrive的文件夹中添加README.md文件,使用markdown语法。
#在文件夹头部添加说明
在onedrive的文件夹中添加HEAD.md文件,使用markdown语法。
#加密文件夹
在onedrive的文件夹中添加.password文件,填入密码,密码不能为空。
#直接输出网页
在onedrive的文件夹中添加index.html文件,程序会直接输出网页而不列目录,配合文件展示设置-直接输出效果更佳。
命令行功能
仅能在php cli
模式下运行,且以下命令均在网站根目录/home/wwwroot/xx.com
运行。
#清除缓存
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/
获取OneDrive 5T网盘
如果我们使用个人版网盘的话,容量好像不够,这时候我们就可以使用OneDrive Business
账号了,总共有5T
容量,如果你有钱可以直接去官网买,没钱就可以使用方法免费获取了,这里推荐如有乐享博客分享的获取OneDrive 5T
网盘的方法,查看:申请OneDrive 5T 网盘便民方法和邮箱。
申请方法大致流程:
1、进入注册地址https://products.office.com/en-us/student?tab=students
2、输入如有乐享提供的临时邮箱
3、填入密码,和从临时邮箱获取的验证码
如果SSL证书过期,这里给个更新命令:
#修改为你的域名
domain="www.moerats.com"
service nginx stop
~/.acme.sh/acme.sh --issue -d ${domain} --standalone -k ec-256 --force
~/.acme.sh/acme.sh --installcert -d ${domain} --fullchainpath /home/wwwroot/ssl/OneIndex.crt --keypath /home/wwwroot/ssl/OneIndex.key --ecc
service nginx start
安装证书出错,还有域名怎么解析啊?提示解析的ip不符
域名都不知道解析?你在哪买的域名,就把域名添加A记录,解析到你的vps服务器,然后等片刻生效,再运行本脚本就可以了。
是啊,添加了A记录,早上添加的,到现在还是没有解析到,西部数码
你可以ping下域名,要是还不通,去检查下解析记录。
大佬,我用的这个,文件大小超过15G好像就上传不上
正常,Onedrive允许的最高上传大小是15G。
好吧~
大佬用了你的一键脚本,要怎么修改和在哪里修改伪静态啊?!!!!
脚本自带伪静态,修改的话去配置文件修改,/etc/nginx/conf.d/OneIndex.conf。
找到啦,多谢大佬。如果可以的话,希望可以更新一下添加在底部的流量统计功能哈哈哈哈
这个自己可以添加的。
都部署完成了,但是打开域名没反应,还需要别的什么步骤?
部署过程没报错么?可以看下Nginx状态systemctl status nginx,一般运行脚本不出错直到完成就算安装好了。
怎么更新oneindex文件呢
你是说更新源码文件?这个你可以研究下网站根目录/home/wwwroot/xx.com。或者直接替换成最新源码。
覆盖会丢失配置文件吗?
貌似会,你先找到配置文件的地方,把配置文件保留下。
配置文件是哪几个啊
你去config/文件夹看看。
OneIndex是只能用php写吗?可以用其它语言写吗?
有个Pytho写的,地址:https://www.moerats.com/archives/734/。
这个用Python3可以吗?Python2用的不多
Python3我没试过。
我看了一下,这个Python安装的和php安装的有什么区别吗?可以直接在服务器上安装吗?
没多大区别,都是直接在服务器上安装。
多谢大佬,我就是学Python的,php不太会
用乐享弄的这个邮箱用第三方客户端怎么登录不上去呢?一直显示密码错误,可是密码没有错误啊!
第三方邮箱可能需要进行点设置。
我用申请的这个邮箱登录微软账号显示“该 Microsoft 帐户不存在。”是怎么回事?不是用乐享上提供的邮箱加自己设置的密码登录吗?
你申请时用的什么邮箱,就用什么邮箱登录。
大佬,这个5t邮箱空间怎么才能查看自己的是不是5t空间呢?还有用临时邮箱获取的365账号以后就只能用临时邮箱来登录了吗?能不能换成自己的私人邮箱登录?
貌似不能换私人。
老哥,卡在curl开启这一步了,不知道怎么开启。求指教啊
你是说在安装界面上,显示curl不支持吗?
是的,web安装界面 一个大叉
你没用这个脚本吧?这个脚本安装了CURL。
用的就是这个一键脚本,可能是小鸡的原因。换了台装好了
好了就行。
大佬,好像ovz的小鸡都会报错 E: Sub-process /usr/bin/dpkg returned an error code (1) 几个必需的包都会报
这个我没ovz小鸡,所以可能会出现这种情况,但我感觉与架构关系不大。
大神,我知道我问这问题挺low的,但是我真的小白,不懂,自己win环境iis+php5.6安装oneindex,直接跳出个No input file specified.,网上的办法都试了不行,咋解决啊?
给你在网上找到2种方法。
方法一:改php.ini中的doc_root行,打开ini文件注释掉此行,然后重启IIS。
方法二:修改php.ini,找到; cgi.force_redirect = 1,去掉前面分号,把后面的1改为0,即cgi.force_redirect = 0,然后重启IIS。
您说的我全都检查过了,doc_root默认就是空值,第二个也是默认就是开启,数值为0,iis重启过了,服务器都重启好几遍,还有web.config文件修改,.htaccess文件修改,通通没用,总之就是很无助啦
这个我就无能为力了,我不用Win建站,所以没研究过,也没这种环境去研究。