要想事事顺心,唯有亲力亲为

小白向自建Aria2离线下载+自动上传OneDrive网盘

所谓离线下载就是不在自己计算机上下载,像什么迅雷百度115离线是指在它们的服务器上下载。自建离线也就是自己购买VPS服务器(可以理解为租了一台电脑,只不过是Linux系统的),然后在上面安装了Aria2下载软件帮你7×24小时不间断下载做种。虽然这个“电脑”配置还没你电脑的高,但是服务器带宽下BT的速度可快多了,不像个人带宽BT速度受运营商限制,如下图我用VPS下整体到了70多MB/s(单个BT能到60多MB的极少,而且便宜的大盘鸡磁盘IO可能只有50MB左右),多数单个BT速度能到10MB-20MB,年久冷门速度会更慢,断种的放哪都下不了,总体比你自己电脑上下要快和稳定,有些种子本地下根本就下不动。

为什么不用度盘115的离线下载?

度盘离线下载我觉得是假货,虽然现在搞得还挺像那么回事,可以看到速度。不过在我看来还是将云端已有的资源转存你一份而已,没有的根本离线不了,甚至云端有的都离线不了(可能服务器数据量大搜不到,毕竟本业搜索引擎都这么垃圾)。当然度盘离线下载用处不大。度盘优点在于资源量丰富,如果你只是下载一些简单的电影资源基本都能找到。但是如果你想下原盘、Remux的、4K怕是没有,受制于上传文件大小限制,动则40多G的资源不好上传,只能通过分卷压缩或者其它手段上传资源,事实上除了单机游戏这么干,影视资源我基本没见过。

115现在也算半个太监了,价格却还坚挺,原盘4K云端资源倒是很充足,基本也能秒离线。之所以弃用一方面是贵,还有一点是18年底我准备下个220G的视频合集,云端可能没有资源不能秒离线,我想离线总能下吧(又不是小姐姐),结果直接失败。开始我以为断种了,后来我用FDM下了大半月才下完,没断种的资源都离线不了也让我对115的离线下载能力产生怀疑。这个资源我后来上传了度盘,秒传的(所以我前面才说云端有的都离线不了)。


    准备环境
  • 一台VPS主机
  • 教程使用CentOS 7系统搭建
  • 一个OneDrive账号(如何申请OneDrive5T网盘的教程我就不写了,网上一堆,淘宝5块钱不到也能买到)

用来下载的VPS当然是硬盘越大越好,除了硬盘大小,流量和带宽自然也是多多益善。还没有VPS的可以看看我整理的一些大盘鸡:大盘鸡汇总


SSH登陆服务器开搞

不懂SSH的可以先看下这篇连接服务器的简易教程: https://www.twoha.tk/ssh-putty/

先安装小z大佬的CCAA傻瓜一键式脚本,直接整合了aria2下载工具,AriaNg前端显示面板(界面),Caddy filemanager文件管理(直观的对下文件进行管理)

没用过linux的不要被各种命令吓到,就跟你电脑上安装软件一样,大多数命令你想知道它的意思,只要看第一个就单词,比如下面第一行代码第一个单词是yum,你可以网上搜索yum命令,这样来查这个命令具体的意思,第三行代码用&&分隔开来有三个命令(unzip、cd、sh)。刚开始可能看不太懂,眼熟了加上自己多查资料就知道一些用法了,。

一行一行复制粘贴,后面#带文字的是注释,不用复制,回车执行命令,完了会有提示,遇到看不懂的英文提示可以用翻译,有些命令执行后没提示(linux里没提示就是好事,说明没报错)

yum -y install wget unzip curl    #安装wget 、unzip、curl
wget https://github.com/helloxz/ccaa/archive/master.zip  #下载安装文件压缩包
unzip master.zip && cd ccaa-master && sh ccaa.sh  #解压 创建目录 开始安装

出现下面界面输入1回车安装CCAA

CentOS 7 + Caddy + Aria2 + AriaNg一键安装脚本,简称CCAA
1) 安装CCAA
2) 卸载CCAA
3) 更新bt-tracker
q) 退出!
:1

根据接下来提示设置下载路径、RPC密钥、用户名、密码,填好记住就行,稍后要用到,这里我强调下我设置下载路径为/data/download这个在教程后面挂载网盘时会用到,如果你怕出错可以完全按照我的来填写

设置下载路径(请填写绝对地址,默认/data/ccaaDown):/data/download
Aria2 RPC 密钥:(字母或数字组合,不要含有特殊字符):2ha123
设置Caddy用户名:2ha
设置Caddy密码:2ha123

根据提示打开浏览器访问http://ip:6080/打开AriaNg界面,并输入上一个步骤中设置的Caddy用户名和密码。
登录进来后会提示认证失败,点确定关掉小窗口,接着我们来认证,如下图,点击AriaNg设置,再点RPC项,填写前面设置的Aria2 RPC密钥,填完点重新加载页面,Aria2状态显示已连接就好了,现在已经可以下载了。

RPC认证

点击右上角文件管理按钮会跳转到文件管理页面,文件管理其实就是个网盘,支持MP4格式的视频在线播放,不过一般大盘鸡国内访问速度都不行,所以要在线播放可能会很卡,还是等它上传到网盘上再下载下来或在线看(OneDrive同样只支持MP4视频格式)。

文件管理

设置下CCAA开机自启

chmod +x /etc/rc.d/rc.local 
echo "/usr/sbin/ccaa start" >> /etc/rc.d/rc.local
近来很多地区宽带运营商把OneDrive也给墙了,使得本地无法直连登录和下载,这样下载就得挂代理跟在服务器上下文件一样了(如果你直链服务器很快,可以直接从服务器上下,省去挂载网盘步骤)。如果要用OneDrive这里有个迂回的方法,先注册个koofr网盘,这个网盘免费只有2G,不过这不用管,这里主要用它绑定OneDrive,这样就可以免代理直连下OneDrive了,但是下载速度很不稳定。
速度快可以挂载的网盘还有一个:Yandex,是个俄罗斯的网盘,这网盘上传跟下载都很快,只是免费只有10G,付费也很便宜,就是要实名认证否则外币信用卡都充值不了,它的实名认证很烦(国内只有厦门有个代理点,需真人带身份证办理,还要200RMB手续费)

挂载OneDrive网盘并实现Aria2下载结束自动上传文件

以下分为三小步这里做个简介:第一步是PC端获取网盘授权的令牌;第二步是在VPS里绑定获得的授权;第三步才是真正挂载到网盘上。因为OneDrive的授权需要在浏览器打开,而VPS没有图形界面,只能先在PC端获取授权,所以第一步和第二步有点重复。

除了挂载OneDrive网盘之外,还支持 Google Drive、Mege、Yandex等几十个国外网盘,其它网盘挂载教程这里我就不说了,善用搜索引擎。

1、windows(PC)端安装Rclone
登录>Rclone网官下载Rclone的窗户端的客户(下图箭头指示)。
下载解压将里面的rclone.exe移动到你电脑C:\Windows\System32这个目录,其它的可以删掉没关系。
win + R快捷键打开运行,输入cmd点确定来打开CMD窗口。

下载窗口文件

输入下面命令开始配置

rclone config

然后出现如下界面,按提示输入n回车创建个新的远程,然后提示输入name,名称随意但要记住,这里我填remote

Current remotes:

Name                 Type
====                 ====
onedrive             onedrive

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> n   
name> remote

回车后出现一长串网盘列表让你选,这里OneDrive是19,填入19回车,不要死记数字,不同版本数字选项会变化,Yandex这里是26,根据你需要选择,后续操作都差不多

Current remotes:

Name                 Type
====                 ====
onedrive             onedrive

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> n
name> onedrive
Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
 1 / A stackable unification remote, which can appear to merge the contents of several remotes
   \ "union"
 2 / Alias for a existing remote
   \ "alias"
 3 / Amazon Drive
   \ "amazon cloud drive"
 4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc)
   \ "s3"
 5 / Backblaze B2
   \ "b2"
 6 / Box
   \ "box"
 7 / Cache a remote
   \ "cache"
 8 / Dropbox
   \ "dropbox"
 9 / Encrypt/Decrypt a remote
   \ "crypt"
10 / FTP Connection
   \ "ftp"
11 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
12 / Google Drive
   \ "drive"
13 / Hubic
   \ "hubic"
14 / JottaCloud
   \ "jottacloud"
15 / Koofr
   \ "koofr"
16 / Local Disk
   \ "local"
17 / Mega
   \ "mega"
18 / Microsoft Azure Blob Storage
   \ "azureblob"
19 / Microsoft OneDrive
   \ "onedrive"
20 / OpenDrive
   \ "opendrive"
21 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ "swift"
22 / Pcloud
   \ "pcloud"
23 / QingCloud Object Storage
   \ "qingstor"
24 / SSH/SFTP Connection
   \ "sftp"
25 / Webdav
   \ "webdav"
26 / Yandex Disk
   \ "yandex"
27 / http Connection
   \ "http"
Storage> 19

接着client_idclient_secret 直接不填回车;
Edit advanced config? 输入n回车;
Already have a token - refresh? 输入y回车,后面VPS里配置时没有这个提示的,会出现下个自动配置选项,别手快直接y;
Use auto config? 这里输入y回车,后面VPS配置时这步要选n
具体操作如下,不同版本可能会有变化,反正就是做选择题,看不懂复制出来可以翻译

Microsoft App Client Id
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_id>
Microsoft App Client Secret
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_secret>
Edit advanced config? (y/n) 
y) Yes
n) No
y/n> n
Remote config 
Already have a token - refresh?  
y) Yes
n) No
y/n> y
Use auto config?  
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> y

接着浏览器会自动弹出窗口,然后登录你要挂载的OneDrive账号,征求许可接受就行了,出现下图界面即授权成功。

授权成功

授权成功后返回cmd窗口出现以下界面,这里选1回车。

Choose a number from below, or type in an existing value
 1 / OneDrive Personal or Business  #个人和商用
   \ "onedrive"
 2 / Root Sharepoint site
   \ "sharepoint"
 3 / Type in driveID
   \ "driveid"
 4 / Type in SiteID
   \ "siteid"
 5 / Search a Sharepoint site
   \ "search"
Your choice>1

提示找到一个驱动器,让你选择,这里就一个选项0,那就填0回车,然后问你是否确定,选y回车。

Found 1 drives, please select the one you want to use:
0: OneDrive (business) id=huioaeuiaeagioioieuiaaefe@#%gaege94#
Chose drive to use:>0
Found drive 'root' of type 'business', URL:https://jxjjxy-my.sharepoint.com/personal/meeaghvp_t_odmail_cn/Documents
Is that okay?
y) Yes
n) No
y/n> y
复制令牌

接着会出现一串长令牌,PC端的操作全是为了这个令牌,将下图红框内的整个复制,复制范围{"access_token":…………………………2019-04-21T16:41:25.1595637+08:00"}保存好,以后就可以省了这步PC端操作,下面就回到VPS操作

2 、VPS安装Rclone

cd ~  #返回宿主目录
curl https://rclone.org/install.sh | sudo bash  #安装Rclone
rclone config  #配置Rclone

上面输入完rclone config回车后的过程跟前面在PC端的配置步骤基本一样,这里就不复述了,到了Use auto config? 问你是否使用自动配置这步不同,这里选 n 回车,然后在出现的 result> 后面粘贴上你前面获得的token然后回车,接着会有几个确认(问你是否OK),按提示填 y 就行,
直到又回到下图配置开头界面,输入q回车退出配置即可,到此我们完成了网盘的授权。

Name                 Type
====                 ====
onedrive             onedrive

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q
小技巧
以上两步就是为了得到token,并在VPS里创建一个rclone.conf配置文件,该配置文件目录在/root/.config/rclone/rclone.conf,可以将这个文件下载到本地,以后如果重装只需VPS上安装好rclone,然后将这个配置文件放进这个目录即可,免去繁琐配置过程。

3、自动上传设置

yum -y install vim*  #先安装下vim,也可以不安装用vi命令
vim /root/rcloneupload.sh  #创建并打开名为 rcloneupload.sh 的脚本,用来处理自动上载

不会用vi命令可以网上先了解下。
这里复制以下全部内容粘贴进去,确保里面以下三项的路径跟你前面设置的一致,最后检查下有没有复制漏了的部分,我这边复制总是缺失头部两行的内容。
以下三行内容跟你设置的目录对上↓
downloadpath='/data/download' #Aria2下载目录
name='remote' #配置Rclone时的name
folder='/backup' #网盘里的文件夹,如果是根目录直接留空
没问题就保存退出。

#!/bin/bash
filepath=$3     #取文件原始路径,如果是单文件则为/Download/a.mp4,如果是文件夹则该值为文件夹内第一个文件比如/Download/a/1.mp4
path=${3%/*}     #取文件根路径,如把/Download/a/1.mp4变成/Download/a
downloadpath='/data/download'    #Aria2下载目录
name='remote' #配置Rclone时的name
folder='/backup'     #网盘里的文件夹,如果是根目录直接留空
MinSize='10k'     #限制最低上传大小,默认10k,BT下载时可防止上传其他无用文件。会删除文件,谨慎设置。
MaxSize='15G'     #限制最高文件大小,默认15G,OneDrive上传限制。

if [ $2 -eq 0 ]; then exit 0; fi

while true; do
if [ "$path" = "$downloadpath" ] && [ $2 -eq 1 ]    #如果下载的是单个文件
    then
    rclone move -v "$filepath" ${name}:${folder} --tpslimit 1 --buffer-size=10M --min-size $MinSize --max-size $MaxSize
    rm -vf "$filepath".aria2    #删除残留的.aria.2文件
    exit 0
elif [ "$path" != "$downloadpath" ]    #如果下载的是文件夹
    then
    while [[ "`ls -A "$path/"`" != "" ]]; do
    rclone move -v "$path" ${name}:/${folder}/"${path##*/}" --tpslimit 1 --buffer-size=10M --min-size $MinSize --max-size $MaxSize --delete-empty-src-dirs
    rclone delete -v "$path" --max-size $MinSize    #删除多余的文件
    rclone rmdirs -v "$downloadpath" --leave-root    #删除空目录,--delete-empty-src-dirs 参数已实现,加上无所谓。
    done
    rm -vf "$path".aria2    #删除残留的.aria2文件
    exit 0
fi
done

保存后给予执行权限

chmod +x /root/rcloneupload.sh

然后编辑Aria2配置文件,在末尾加上一行on-download-complete=/root/rcloneupload.sh即可,后面为脚本的路径,意思是下载完成执行这个脚本,这个脚本具有变量千万不要手动执行。重启CCAA使Aria2配置文件生效。

vim /etc/ccaa/aria2.conf  #编辑aria2.conf
on-download-complete=/root/rcloneupload.sh  #末尾另起一行加上
ccaa restart  #重启ccaa

大功告成赶紧去下载看看吧。

最后这里整理了一些使用技巧和常见问题,玩PT的一定要看,否则可能影响到你的 H&R考核
传送门:https://www.twoha.tk/aria2-faq/

12 条评论

要想事事顺心,唯有亲力亲为

近期文章

近期评论

归档

分类

其他操作