魔改 | Onedrive目录程序:Oneindex

OneIndex 是一个可以将OneDrive网盘的目录索引出来的程序,可以供多人查看/下载,也就是变成了公共的个人网盘。而且不占用服务器空间,也不消耗服务器流量。

Oneindex

魔改内容:

  • 内嵌播放
  • 侧边栏功能
  • 增加glightbox插件,支持图片响应式弹出,滑动查看。 如希望视频也才用此插件,请修改view/nexmoe/list.php第107行视频对应的class="iframe"改为class="glightbox"
  • 增加反代sharepoint.com功能,可通过Nginx/CDN反代sharepoint.com加速。
  • 增加Aplayer获取当前页所有音频列表播放。
  • 增加PDF.js预览pdf文件。

基础功能:

  • 缩略图功能
  • 命令行上传功能
  • 响应式,支持小屏设备
  • 图片、视频、音频在线预览
  • 代码在线查看(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文件夹上传(单线程)
  • 不同后缀展示设置
  • 文件直接输出
  • 文件上传管理(后台)
  • 图床功能

一键安装:

系统要求:脚本只适用于Debian 8、9,且无网站环境,会自动签发Let's Encrypt SSL证书,请提前将域名解析至VPS服务器。

wget --no-check-certificate -qO- https://yun.yangwenqing.com/Script/Oneindex.sh && bash Oneindex.sh

安装完成后,打开域名,按照提示进行安装配置。

install

后台地址:https://xx.com/?/admin,默认密码:oneindex,网站根目录/home/wwwroot/xx.com

其他说明:

手动重新安装
绑定OneDrive后建议先访问后台,如果前台出现HTTP ERROR 500的情况,可以重新下载源码后再绑定账号,使用命令:

#将domain.com改成你的域名再运行以下命令
cd /home/wwwroot/domain.com
rm -rf ./*
git clone https://github.com/july929/oneindex-j.git
mv oneindex-j/* ./
chmod -R 777 config/ cache/

Nginx伪静态

if (-f $request_filename/index.html){ 
rewrite (.*) $1/index.html break; 
} 
if (-f $request_filename/index.php){ 
rewrite (.*) $1/index.php; 
} 
if (!-f $request_filename){ 
rewrite (.*) /index.php; 
} 

后台侧边栏代码示例

<div class="mdui-collapse-item">
      
      <a href="https://www.yangwenqing.com" target="_blank" class="mdui-list-item mdui-ripple">
        <i class="mdui-list-item-icon mdui-icon material-icons">grade</i>
        <div class="mdui-list-item-content">导航</div>
    </a>
    
    <a href="https://yangwenqing.com" target="_blank" class="mdui-list-item mdui-ripple">
        <i class="mdui-list-item-icon mdui-icon material-icons">brush</i>
        <div class="mdui-list-item-content">博客</div>
    </a>

        <div class="mdui-collapse-item-header mdui-list-item mdui-ripple">
            <i class="mdui-list-item-icon mdui-icon material-icons">storage</i>
            <div class="mdui-list-item-content">云盘</div>
            <i class="mdui-collapse-item-arrow mdui-icon material-icons">keyboard_arrow_down</i>
        </div>
        <div class="mdui-collapse-item-body mdui-list">
            <a href="https://pan.yangwenqing.com" target="_blank" class="mdui-list-item mdui-ripple ">天翼云盘</a>
        </div>
    <div class="mdui-collapse-item-body mdui-list">
            <a href="https://yun.yangwenqing.com" target="_blank" class="mdui-list-item mdui-ripple ">Onedrive</a>
        </div>      
    </div>

   <div class="mdui-collapse-item-header mdui-list-item mdui-ripple">
            <i class="mdui-list-item-icon mdui-icon material-icons">build</i>
            <div class="mdui-list-item-content">工具</div>
            <i class="mdui-collapse-item-arrow mdui-icon material-icons">keyboard_arrow_down</i>
        </div>
    
    <span class="mdui-list-item mdui-ripple" id="example-bottom">
        <i class="mdui-list-item-icon mdui-icon material-icons">attach_money</i>
        <div class="mdui-list-item-content">打赏</div>
    </span>
    
    <a href="https://mail.google.com/mail/u/0/?view=cm&fs=1&tf=1&source=mailto&to=yovter96@gmail.com" target="_blank" class="mdui-list-item mdui-ripple">
        <i class="mdui-list-item-icon mdui-icon material-icons">chat</i>
       <div class="mdui-list-item-content">联系</div>
    </a>

<script>
var $$ = mdui.JQ;
$$('#example-bottom').on('click', function () {
  mdui.snackbar({
    message: '<img src="/qr.jpg"/>',
    position: 'top'
  });
});
</script>

特殊功能:

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/

续签证书:

#修改为你的域名
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

文章参考:OneIndex一键安装脚本 for Debian

Last modification:May 9th, 2020 at 02:24 am
If you think my article is useful to you, please feel free to appreciate