说明:这个教程之前发过一个脚本:Aria2+Aria2Ng+OneIndex一键安装脚本,下载后自动上传至OneDrive,不过由于系统支持较少,加上很多人想手动安装,这里就单独拿来水一篇文章。
获取OneDrive
现在OneIndex
是可以使用个人的OneDrive
网盘,不过容量太小,很难满足一些人的需求,这里提一下之前说过的2
个申请OneDrive 5T
的方法。
1、申请微软的Office 365
开发者计划,地址:免费获得一年的21TB OneDrive和Microsoft Office 365企业
2、使用热心大佬提供的临时邮箱申请一个,方法如下:
1)、进入注册地址https://products.office.com/en-us/student?tab=students
2)、输入如有乐享提供的临时邮箱,地址:https://51.ruyo.net/8263.html
3)、填入密码,和从临时邮箱获取的验证码
安装
1、安装宝塔
#Centos系统
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
#Ubuntu系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.sh
#Debian系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && bash install.sh
安装完成后,进入面板安装PHP 5.6+
、Nginx
。
2、安装OneIndex
先添加域名,然后上传程序文件到网站根目录/www/wwwroot/xx.com
,将文件解压出来,并设置config/
、cache/
可读写权限,程序下载:OneIndex.zip。
也可以使用命令上传到根目录:
#Debian/Ubuntu系统
apt-get install git -y
#CentOS系统
yum install git -y
#修改为自己域名根目录后再运行
cd /www/wwwroot/xx.com
git clone https://github.com/iiiiiii1/Oneindex.git
mv oneindex/* ./
chmod -R 777 config/ cache/
再点击域名设置,添加Nginx
伪静态:
location / {
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;
}
}
最后打开域名进行安装和绑定OneDrive
了,后台地址:https://xx.com/?/admin
,默认密码:oneindex
。如果你想给域名加上https
安全访问,可以通过域名设置配置一下SSL
证书。
3、安装Aria2
这里用的逗比的脚本,使用命令:
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/aria2.sh && chmod +x aria2.sh && bash aria2.sh
#备用地址
wget -N --no-check-certificate https://www.moerats.com/usr/shell/Aria2/aria2.sh && chmod +x aria2.sh && bash aria2.sh
安装完成后,如果我们想修改密码、下载文件位置、端口的话,可以使用命令bash aria2.sh
,再选择修改配置即可,这里建议使用该脚本配置自动更新BT-Tracker
服务器,对下载BT
有加成。
4、安装AriaNg
这一步和安装OneIndex
差不多,先添加一个域名,不想用域名的可以在添加域名那里填上IP
或者IP:端口
,然后将AriaNg
程序上传到对应的根目录,可以使用命令:
#这里以添加IP为例
#Debian/Ubuntu系统
apt-get install unzip -y
#CentOS系统
yum install unzip -y
cd /www/wwwroot/11.22.33.44
wget https://www.moerats.com/usr/down/aria-ng-0.2.0.zip && unzip aria-ng-0.2.0.zip
这时候我们就可以使用IP
访问AriaNg
界面了,或者IP:端口
,这取决于你添加域名的时候填的什么了。
配置Aria2上传
这里说下3
种自动上传的方法,第1
种使用OneIndex
程序自带的上传,第2
种使用Rclone
挂载后自动上传,第3
种使用上传脚本,由于前2
种上传有BUG
,建议使用第3
种脚本上传,对于不想折腾的人来说,也可以直接使用第1
种方法。
1、OneIndex上传
先在/root/.aria2
文件夹新建一个上传脚本,命名oneindexup.sh
。
#这里也可以使用vi命令,自己看着办
nano /root/.aria2/oneindexup.sh
将以下代码修改后,复制进脚本:
#!/bin/bash
path=$3 #取原始路径,我的环境下如果是单文件则为/data/demo.png,如果是文件夹则该值为文件夹内某个文件比如/data/a/b/c/d.jpg
downloadpath='/usr/local/caddy/www/aria2/Download' #修改成Aria2下载文件夹
domain='moerats.com' #修改成自己域名
if [ $2 -eq 0 ]
then
exit 0
fi
while true; do #提取下载文件根路径,如把/data/a/b/c/d.jpg变成/data/a
filepath=$path
path=${path%/*};
if [ "$path" = "$downloadpath" ] && [ $2 -eq 1 ] #如果下载的是单个文件
then
php /www/wwwroot/$domain/one.php upload:file $filepath /$folder/
rm -rf $filepath
php /www/wwwroot/$domain/one.php cache:refresh
exit 0
elif [ "$path" = "$downloadpath" ]
then
php /www/wwwroot/$domain/one.php upload:folder $filepath /$folder/
rm -rf "$filepath/"
php /www/wwwroot/$domain/one.php cache:refresh
exit 0
fi
done
然后再授权:
chmod +x /root/.aria2/oneindexup.sh
最后在配置文件aria2.conf
里加上一行on-download-complete=/root/.aria2/oneindexup.sh
,可以直接使用命令:
echo "on-download-complete=/root/.aria2/oneindexup.sh" >>/root/.aria2/aria2.conf
#重启Aria2
service aria2 restart
2、Rclone挂载上传
我们先使用挂载Rclone
挂载OneDrive
,挂载方法查看:在Debian/Ubuntu上使用rclone挂载OneDrive网盘,然后步骤就和上面的OneIndex
上传方法一样了,就是上传脚本不一样,上传脚本如下:
#!/bin/bash
path=$3 #取原始路径,我的环境下如果是单文件则为/data/demo.png,如果是文件夹则该值为文件夹内某个文件比如/data/a/b/c/d.jpg
downloadpath='/root/Download' #Aria2下载文件目录
name='RATS' #配置Rclone时的name
folder='VPS' #网盘里的文件夹
if [ $2 -eq 0 ]
then
exit 0
fi
while true; do #提取下载文件根路径,如把/data/a/b/c/d.jpg变成/data/a
filepath=$path
path=${path%/*};
if [ "$path" = "$downloadpath" ] && [ $2 -eq 1 ] #如果下载的是单个文件
then
rclone move "$filepath" ${name}:${folder}/
exit 0
elif [ "$path" = "$downloadpath" ] #文件夹
then
while [[ "`ls -A "$filepath/"`" != "" ]]; do
rclone move "$filepath"/ ${name}:${folder}/"${filepath##*/}"/ --delete-empty-src-dirs
done
rm -rf "$filepath/"
exit 0
fi
done
3、使用上传脚本
方法参考:VPS上传文件到OneDrive网盘脚本,可配合Aria2实现自动上传。
关于更多OneIndex
的使用方法请查看:OneIndex一键安装脚本 for Debian。
我从方法3切回方法1,文件上传完不会自动删除了,这也是萌咖大佬脚本的影响吗,有停止的办法?
切回的时候有没有重启Aria2?
有的,还试过重启服务器,都不会自动删除了,奇怪
那就姿势问题,多检查下。
144.111.111.111是我网站Wordpress宝塔设成伪静态后,我把oneindex安装在144.111.111.111/one,把AriaNG安装在144.111.111.111/AriaNG,怎么把144.111.111.111/AriaNG目录排除伪静态,要不会404
bash 那里
domain='moerats.com'
可以是二级域名吗?比如144.111.111.111/aria2ng
你是说的上传脚本?
是的,我自己把oneindex安装在wp的目录里,wp是网站根目录,所以伪静态和这里费了好多事
我搭的AriaNg在http下可以正常连接Aria2后端,但https就不行了。一番搜索后看到Github下一个类似issue的回复是这样的 https://github.com/mayswind/AriaNg/issues/62#issuecomment-323767692 但我加了之后还是不行,请问这怎么解决?
rpc-secure=true
rpc-certificate=/path/to/cer
rpc-private-key=/path/to/key
下面2个参数后面为证书路径,你检查下路径对不对,最后还要重启下Aria2.
emmmm...我是小白,所以直接用宝塔申请的Let's Encrypt证书,宝塔只显示了key和cer的内容(一大串字符),网站根目录也没找到,我是要新建两个文件再把这些内容粘贴上去吗?如果是,那后缀分别是什么?.key和.cer?
你说的复制粘贴貌似可行,宝塔ssl证书存放目录/www/server/panel/vhost/ssl/。
我用ariaNG提交下载,一个种子里面有abcde文件,我只选b下载,结果他下了abc,而且c还是半残品,体积明显不对,屡试不爽,不知道博主有没有遇到
这个没遇到过,现在很少下BT了。
大佬,我用那个oneindexup.sh在单文件时自动上传成功,多文件不成功
用的哪个上传脚本?1、2还是3。
用了第一个个
用第三个吧,很稳。
好的,谢谢,我发现宝塔有个bug,遇到文件夹或文件带分号;就会出问题(不巧下了这么一个种子),文件属性权限乱套了,点击文件夹会直接跳转到www目录,出现这种目录的上传也会出问题
宝塔好像称为BUG塔。貌似更新太快了
博主,都安装好了,上传不是很理想,这么安装第3种脚本上传,https://www.moerats.com/archives/697/
哪里的Aria2自动上传脚本要复制到哪个文件里
是覆盖oneindexup.sh 还是再新建个rcloneupload.sh
那个需要先安装那个文章里的onedrive上传脚本,然后配置好,接下来步骤就和本文章上传1步骤一样,只是代码需要复制那个文章里的Aria2上传代码。
是复制在oneindexup.sh文件里吗,
https://www.moerats.com/archives/697/
Aria2的上传脚本没有修改域名这一行,是不是不需要了
domain='moerats.com' #修改成自己域名
不需要域名,因为上传方式不一样。
感觉我的安装步骤有问题,先安装网址697 那里的,再从这里宝塔开始安装吗,那么这里的第二步安装oneindx还需要安装吗
不需要重新安装,只要重新配置上传步骤就行了,要不你把这个文章配置上传步骤全部删掉,就当没配置过上传,然后再用那个文章重新配置来。
很懵啊,是不是安装到 配置Aria2上传 这一步后再去安装网址697 里的,博主有没有新教程啊
那你重新来好了,这种教程是没有新不新的,只看程序安装方式变不变而已。
大佬 大佬,按照步骤后,域名链接oneindex,ip连接aria2ng,两个分开都能用,但aria2ng下载的文件不会自动上传,不知道哪里错了
用的哪个上传脚本?步骤填对后,需要授权,然后重启下aria2.
path=$3 #取原始路径,我的环境下如果是单文件则为/data/demo.png,如果是文件夹则该值为文件夹内某个文件比如/data/a/b/c/d.jpg
downloadpath='/usr/local/caddy/www/aria2/Download' #修改成Aria2下载文件夹
domain='lingyin.ga/' #修改成自己域名
if [ $2 -eq 0 ]
then exit 0fi
then php /www/wwwroot/$domain/one.php upload:file $filepath /$folder/ rm -rf $filepath php /www/wwwroot/$domain/one.php cache:refresh exit 0while true; do #提取下载文件根路径,如把/data/a/b/c/d.jpg变成/data/a
filepath=$path
path=${path%/*};
if [ "$path" = "$downloadpath" ] && [ $2 -eq 1 ] #如果下载的是单个文件
elif [ "$path" = "$downloadpath" ]
then php /www/wwwroot/$domain/one.php upload:folder $filepath /$folder/ rm -rf "$filepath/" php /www/wwwroot/$domain/one.php cache:refresh exit 0fi
done
就是这样的 复制后授权
这行多复制了/ domain='lingyin.ga' #修改成自己域名
你下载路径填对了么?上传脚本授权了么?Aria2重启了么?都检查一遍。
脚本上的和Aria2Ng上的路径都是这个 /usr/local/caddy/www/aria2/Download,然后再点的chmod +x /root/.aria2/oneindexup.sh,然后添加on-download-complete=/root/.aria2/oneindexup.sh这段重启的,顺序没错吧
按理说没错,你看下aria2日志吧。
11/13 11:50:48 [[1;32mNOTICE[0m] Removed the defunct control file /usr/local/caddy/www/aria2/Download/811686.jpg.aria2 because the download file /usr/local/caddy/www/aria2/Download/811686.jpg doesn't exist.
11/13 11:50:48 [[1;32mNOTICE[0m] Download complete: /usr/local/caddy/www/aria2/Download/811686.jpg
/root/.aria2/oneindexup.sh: line 1: #!/bin/bash: No such file or directory
本地文件:/usr/local/caddy/www/aria2/Download/811686.jpg
远程文件:811686.jpg
上传方式:直接上传
上传失败!
日志上面上传失败的多,勉强几个上传成功了
博主 还有一个问题 现在点击文件连接为什么会跳转到404
地址 http://lingyin.ga/
去掉伪静态前一段和后一段好了
Aria2离线下载后服务器CPU会彪到一百,查看了下是一个sh的进程,请问正常吗?而且是下载完之后还在运行,除非手动把他结束掉
正常,毕竟好多人遇到过。
问题来了,Aria2自动上传OneIndex后视频名字的前段没有,比如888.MP4,上传到OneIndex变成 .MP4
用的作者指定的那个上传命令好像会有这种情况。