Oneindex 简介:

OneIndex 是针对 Onedrive 网盘的一个开源程序。可以将 Onedrive 存储的文件展示,直链下载。支持视频在线播放,不占用服务器空间,而且不走服务器流量。

Oneindex 安装前准备:

安装前需要先申请 OneDrive 网盘,OneIndex 支持个人的 OneDrive 网盘,不过个人版的就算是扩容最大也才 15G,当然用来放一些文档是足够的,而如果你是用来放视频,那我推荐你申请 5T 的 OneDrive 网盘。

OneDrive 5T 申请方法:

打开 Office 365 Education:https://products.office.com/en-us/student?tab=students
填上如有乐享提供的临时邮箱:https://51.ruyo.net/8263.html
从临时邮箱获取的验证码及填写一些账号设置。

Oneindex 安装:

先去 Oneindex 开源地址:https://github.com/donwa/oneindex 下载

这里服务器用的宝塔版面,Nginx,注意 PHP 版本必须 5.6+。

跟正常部署网站一样,在宝塔版面建立新站点,上传 Oneindex 到新站点目录。

设置 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;
}
然后打开域名进行安装,注意后台地址:https://xx.com/?/admin,默认密码是:oneindex 。

拓展:

如果你想离线 BT 下载到 OneDrive 网盘,可以使用 Aria2+Aria2Ng 。

Aria2 安装:
wget -N –no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/aria2.sh && chmod +x aria2.sh && bash aria2.sh
安装后可以使用 bash aria2.sh 查看修改 Aria2 配置。

AriaNg 安装:
下载 AriaNg:https://pan.wxlog.cn/Other/AriaNg-1.1.0.zip

跟正常部署网站一样,在宝塔版面建立新站点,上传 Aria2Ng 到新站点目录,绑定【域名】或者【IP:端口】即可。

打开【域名】或者【IP:端口】就可访问以 AriaNg 界面。

在AriaNg 设置界面填好 Aria2 地址及密钥等,显示已连接即可。

部署 OneDrive 上传脚本:
这里使用的是萌咖大佬的脚本;

这是萌咖大佬使用 Golang 基于新的 API 写了个效率更高的上传工具,同时也修复了各种 Shell 版本遗留下来的小问题,该版本特点就是授权简单,无需依赖,单文件。

Github 地址:https://github.com/MoeClub/OneList/tree/master/OneDriveUploader

1、授权认证

点击右侧 URL 登录并授权,授权地址→传送门。

授权后会获取一个 localhost 开头打不开的链接,这里只需要记住 code ,也就是链接中 code= 和 & 中间的参数。

2、安装 OneDriveUploader

wget https://raw.githubusercontent.com/MoeClub/OneList/master/OneDriveUploader/amd64/linux/OneDriveUploader -P /usr/local/bin/
chmod +x /usr/local/bin/OneDriveUploader

3、初始化配置

#国际版,将 url 换成你上面复制的授权地址,包括 http://loaclhost。
OneDriveUploader -a “url”
#个人版(家庭版),将 url 换成你上面复制的授权地址,包括 http://loaclhost。
OneDriveUploader -ms -a “url”
#中国版(世纪互联),将 url 换成你上面复制的授权地址,包括 http://loaclhost。
OneDriveUploader -cn -a “url”

如果提示 Init config file: /path/to/file/auth.json 或者 Init config file: `/root/auth.json` 类似信息,则初始化成功。

4、使用命令

Usage of OneDriveUploader:
-a string
// 初始化授权
Setup and Init auth.json.
-b string
// 自定义上传分块大小, 可以提高网络吞吐量, 受限于磁盘性能和网络速度.
Set block size. [Unit: M; 5<=b<=60;] (default “10”)
-c string
// 配置文件路径
Config file. (default “auth.json”)
-n string
// 上传单个文件时,在网盘中重命名
Rename file on upload to remote.
-r string
// 上传到网盘中的某个目录, 默认: 根目录
Upload to reomte path.
-s string
// 要上传的文件或文件夹
Upload item.
-t string
// 线程数, 同时上传文件的个数. 默认: 2
Set thread num. (default “2”)

5、命令示例

#将当前目录下的 Mark.jpg 文件上传到 OneDrive 网盘根目录
OneDriveUploader -s “Mark.jpg”
#将当前目录下的 Mark1.jpg 文件上传到 OneDrive 网盘根目录,并改名为 Mark2.jpg
OneDriveUploader -s “Mark1.jpg” -n “Mark2.jpg”
#将当前目录下的 Download 文件夹上传到 OneDrive 网盘根目录
OneDriveUploader -s “Download”
#将当前目录下的 Download 文件夹上传到 OneDrive 网盘 Test 目录中
OneDriveUploader -s “Download” -r “Test”
#将同目录下的 Download 文件夹上传到 OneDriv 网盘 Test 目录中,使用 10 线程
OneDriveUploader -t 10 -s “Download” -r “Test”
#将同目录下的 Download 文件夹上传到 OneDrive 网盘 Test 目录中,使用 15 线程,并设置分块大小为 20M
OneDriveUploader -t 15 -b 20 -s “Download” -r “Test”

Aria2 自动上传
将下面代码自己稍作修改后保存为 rcloneupload.sh 脚本文件。

#!/bin/bash
GID=”$1″;
FileNum=”$2″;
File=”$3″;
MaxSize=”15728640″;
Thread=”3″; #默认 3 线程,自行修改,服务器配置不好的话,不建议太多
Block=”20″; #默认分块 20m,自行修改
RemoteDIR=””; #上传到 Onedrive 的路径,默认为根目录,如果要上传到 MOERATS 目录,””里面请填成 MOERATS
LocalDIR=”/usr/local/caddy/www/aria2/Download/”; #Aria2 下载目录,记得最后面加上/
Uploader=”/usr/local/bin/OneDriveUploader”; #上传的程序完整路径,默认为本文安装的目录
Config=”/root/auth.json”; #初始化生成的配置 auth.json 绝对路径,参考第 3 步骤生成的路径
if [[ -z $(echo “$FileNum” |grep -o ‘[0-9]*’ |head -n1) ]]; then FileNum=’0′; fi
if [[ “$FileNum” -le ‘0’ ]]; then exit 0; fi
if [[ “$#” != ‘3’ ]]; then exit 0; fi
function LoadFile(){
if [[ ! -e “${Uploader}” ]]; then return; fi
IFS_BAK=$IFS