群里大家搭建的都是基于debian8 64位系统的,用debian8 64位系统固然有个好处,就是有一键安装脚本命令,基本上是傻瓜式操作,但是有个致命的缺点就是,一天vps只能搭建一个网盘,就不能再 继续搭建网站了,于是我就想着何不用centos系统+Aria2和AriaNG搭建个离线网盘呢,这样网盘网站两不误哈,节省了成本,也节约了资源!话不多说,开始!

现在365教育邮箱 提供了5T的免费储存容量理论好像是永久的,只需要用教育邮箱去注册就可获得,前两个月貌似还可以的,博主也没注意,但是钱

好了,废话不多说了,开始教程。

下载地址:https://github.com/donwa/oneindex/archive/master.zip

上传到网站目录,还有绑定域名,这个都不说了,很简单。

上传完解压,直接打开绑定的域名就可以安装了,不用设置权限。

点击下一步后出现如下界面,借用原程序作者的 gif 图展示:

至此程序基本安装完毕,此时访问自己的域名,就可以看到 OneDrive 目录下的所有文件啦。

进去之后先修改密码,然后重建所有缓存。

如果你跟我一样介意?那么可以上传一个文件到根目录。

官网上有https://github.com/donwa/oneindex/blob/master/.htaccess

直接下载下来就行。

代码如下:

RewriteEngine On

RewriteCond %{HTTPS} !=on

RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*) index.php?/$1 [L]

第2,3句是强制https的,如果不开启可以不用添加。

再次重建所有缓存就可以了。

上面显示的所有文件

就是你onedrive里面的目录和文件哦

经过下载速度测试,每秒最快可达到3-4M每秒,速度是相当给力的!

如果要更改title,只需要找到controller目录下的IndexController.php里面的title就可以了。

具体如下图所示:

至于如何设置crontab定时刷新缓存

可以参考:

找到后台显示的命令,复制下来。

然后进入cPanel面板,在高级里面找到Cron作业

选一个时间,把命令复制过来,注意要把前面的*/10 * * * * 删掉哦

点击添加新Cron作业就可以了。

文件夹加密的用法如下:

在onedrive里面的文件夹下面放入.password的文件,.password里面写入密码就可以了。

因为使用的不是个人版Onedrive,所以我们可以修改文件管理的链接。

具体更改如下图所示:

https://onedrive.live.com/改成自己企业的登录地址,比如说是https://XXX-my.sharepoint.com

文件是view/admin下的layout.php

至此大功告成!

刚刚遇到ju.tn被屏蔽的问题,解决方法:

找到AdminController.php

删除下面的这段代码,成功显示出来。

我还以为是啥问题了,重装了N遍。。。

if($_SERVER[‘HTTP_HOST’] == ‘localhost’){

$redirect_uri = ‘http://’.$_SERVER[‘HTTP_HOST’].get_absolute_path(dirname($_SERVER[‘PHP_SELF’]));

}else{

// 非https,调用ju.tn中转

$redirect_uri = ‘https://ju.tn/‘;

}

接下来就是安装离线下载啦!

第一步:安装aria2

有两种方式 可以安装

1、yum安装

输入以下命令直接自动安装

1 #安装epel源
2 yum -y install epel-release
3 yum -y install aria2
4 #查看aria2版本
5 aria2c -v

2、源码安装

和1一样也是输入以下命令直接下载自动安装

1 yum install gcc*
2 wget  https://github.com/aria2/aria2/releases/download/release-1.34.0/aria2-1.34.0.tar.gz
3 tar -zxvf aria2-1.34.0.tar.gz
4 mv aria2-1.33.1 aria2
5 cd aria2
6 ./configure
7 make
8 make install

第二步:配置aria2

创建配置文件

#目录设计/root/.aria2/aria2.conf
mkdir ~/.aria2
#创建session文件
touch ~/.aria2/aria2.session
#创建配置文件
vi ~/.aria2/aria2.conf

复制粘贴修改以下字段,注意 RPC端口和 RPC授权令牌

 1 # 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置
 2 dir=/root/downloads
 3 # 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
 4 disk-cache=32M
 5 # 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
 6 # 预分配所需时间: none < falloc ? trunc < prealloc
 7 # falloc和trunc则需要文件系统和内核支持
 8 # NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
 9 file-allocation=none
10 # 断点续传
11 continue=true
12 
13 ## 下载连接相关 ##
14 
15 # 最大同时下载任务数, 运行时可修改, 默认:5
16 max-concurrent-downloads=5
17 # 同一服务器连接数, 添加时可指定, 默认:1
18 max-connection-per-server=5
19 # 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
20 # 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
21 min-split-size=10M
22 # 单个任务最大线程数, 添加时可指定, 默认:5
23 split=20
24 # 整体下载速度限制, 运行时可修改, 默认:0
25 #max-overall-download-limit=0
26 # 单个任务下载速度限制, 默认:0
27 #max-download-limit=0
28 # 整体上传速度限制, 运行时可修改, 默认:0
29 #max-overall-upload-limit=0
30 # 单个任务上传速度限制, 默认:0
31 #max-upload-limit=0
32 # 禁用IPv6, 默认:false
33 disable-ipv6=true
34 
35 ## 进度保存相关 ##
36 
37 # 从会话文件中读取下载任务
38 input-file=/root/.aria2/aria2.session
39 # 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
40 save-session=/root/.aria2/aria2.session
41 # 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
42 #save-session-interval=60
43 
44 ## RPC相关设置 ##
45 
46 # 启用RPC, 默认:false
47 enable-rpc=true
48 # 允许所有来源, 默认:false
49 rpc-allow-origin-all=true
50 # 允许非外部访问, 默认:false
51 rpc-listen-all=true
52 # 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
53 #event-poll=select
54 # RPC监听端口, 端口被占用时可以修改, 默认:6800
55 rpc-listen-port=6800
56 # 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
57 rpc-secret=pan.test.com
58 # 设置的RPC访问用户名, 此选项新版已废弃, 建议改用 --rpc-secret 选项
59 #rpc-user=
60 # 设置的RPC访问密码, 此选项新版已废弃, 建议改用 --rpc-secret 选项
61 #rpc-passwd=
62 
63 ## BT/PT下载相关 ##
64 
65 # 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
66 follow-torrent=true
67 # BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
68 listen-port=6881-6999
69 # 单个种子最大连接数, 默认:55
70 bt-max-peers=55
71 # 打开DHT功能, PT需要禁用, 默认:true
72 enable-dht=true
73 # 打开IPv6 DHT功能, PT需要禁用
74 enable-dht6=false
75 # DHT网络监听端口, 默认:6881-6999
76 #dht-listen-port=6881-6999
77 # 本地节点查找, PT需要禁用, 默认:false
78 #bt-enable-lpd=false
79 # 种子交换, PT需要禁用, 默认:true
80 enable-peer-exchange=true
81 # 每个种子限速, 对少种的PT很有用, 默认:50K
82 #bt-request-peer-speed-limit=50K
83 # 客户端伪装, PT需要
84 peer-id-prefix=-TR2770-
85 user-agent=Transmission/2.77
86 # 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
87 seed-ratio=0.1
88 # 强制保存会话, 即使任务已经完成, 默认:false
89 # 较新的版本开启后会在任务完成后依然保留.aria2文件
90 #force-save=false
91 # BT校验相关, 默认:true
92 #bt-hash-check-seed=true
93 # 继续之前的BT任务时, 无需再次校验, 默认:false
94 bt-seed-unverified=true
95 # 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
96 bt-save-metadata=true

第二步:aria2使用

共有两种模式:可以作为命令直接调用,RPC Server模式(推荐)

1、命令直接调用

 1 #直接下载
 2 $ aria2c http://example.org/mylinux.iso    
 3 #从两个地址下载:
 4 $ aria2c http://a/f.iso ftp://b/f.iso
 5 #双线程下载
 6 $ aria2c -x2 http://a/f.iso
 7 #用种子下载
 8 $ aria2c http://example.org/mylinux.torrent
 9 #磁力链接
10 $ aria2c 'magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C'
11 #Metalink
12 $ aria2c http://example.org/mylinux.metalink
13 #下载文本中所有链接
14 $ aria2c -i uris.txt

2、RPC Server模式(推荐使用此模式)

启动RPC Server模式

1 #-D参数指Daemon模式,后台执行 2 aria2c --enable-rpc --rpc-listen-all --rpc-allow-origin-all -c --dir /root/download -D

加载配置文件启动(推荐)

1 aria2c --conf-path=/root/.aria2/aria2.conf -D

第四步:aria2设置为系统服务

输入以下两条命令

  1 vi /etc/init.d/aria2c

 1 #!/bin/sh
 2 ### BEGIN INIT INFO
 3 # Provides: aria2
 4 # Required-Start: $remote_fs $network
 5 # Required-Stop: $remote_fs $network
 6 # Default-Start: 2 3 4 5
 7 # Default-Stop: 0 1 6
 8 # Short-Description: Aria2 Downloader
 9 ### END INIT INFO
10 case "$1" in
11 start)
12   echo -n "Starting aria2c"
13   /usr/bin/aria2c --conf-path=/root/.aria2/aria2.conf -D
14   ;;
15 stop)
16   echo -n "Shutting down aria2c "
17   killall aria2c
18   ;;
19 restart)
20   killall aria2c
21   /usr/bin/aria2c --conf-path=/root/.aria2/aria2.conf -D
22   ;;
23 esac
24 exit

设置可执行权限

chmod 7777 /etc/init.d/aria2c

控制命令

 1 #重新加载一下
 2 systemctl daemon-reload
 3 #启动
 4 systemctl start aria2c
 5 #停止
 6 systemctl stop aria2c
 7 #重启
 8 #systemctl restart aria2c
 9 #开启自启动
10 systemctl enable aria2c

第五步:防火墙开启RPC,BT端口

输入以下命令

1 firewall-cmd --zone=public --add-port=6800/tcp --permanent
2 firewall-cmd --zone=public --add-port=6881-6999/tcp --permanent
3 firewall-cmd --zone=public --add-port=6881-6999/udp --permanent
4 firewall-cmd --reload

第六步:设置aria2 bt-tracker更新脚本

脚本更新bt-tracker

1 #创建bt-tracker更新脚本 2 vi /root/trackers-list-aria2.sh

1 #!/bin/bash
 2 killall aria2c
 3 list=`wget -qO- https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all.txt|awk NF|sed ":a;N;s/\n/,/g;ta"`
 4 if [ -z "`grep "bt-tracker" /root/.aria2/aria2.conf`" ]; then
 5     sed -i '$a bt-tracker='${list} /root/.aria2/aria2.conf
 6     echo add......
 7 else
 8     sed -i "s@bt-tracker.*@bt-tracker=$list@g" /root/.aria2/aria2.conf
 9     echo update......
10 fi

设置可执行权限

1 chmod +x /root/trackers-list-aria2.sh

执行脚本

/root/trackers-list-aria2.sh

更新过程会先关闭aria2c进程,更新完成再需要手动开启aria2

最后网盘倒是做好了,有点差强人意的就是这点上传网盘的速度啦!哈哈,上传速度太慢,建议还是直接做个网盘就好,不用做离线网盘,离线下载这个功能还是比较鸡肋的!


无折腾,不生活