背景

最近在MJJ论坛看到在Heroku上用Aria2下载然后用rclone同步到云盘去的服务,作者将原来的离线下载功能的基础上加上同步上传到Onedrive,Google Drive的功能,当然是用了rclone。

什么功能

可以直接在免费的云平台Heroku部署离线下载工具Aria2和可视化UI工具Ariang,并且可以在下载完成后通过rclone自动上传到指定网盘或存储。

我试着搭建了一下,Heroku的速度的确很快,下载Onedrive的资源最高可达60m/s以上。如果是热门的bt种子的话,速度也不错。

如何部署

这里省去注册Heroku以及登录的过程。

作者的项目:maple3142 / heroku-aria2c

点击进入作者的项目,在下面的介绍内容中有个紫色的Deploy按钮,点击它==或者==直接点击本文中下面的按钮

点击我直接部署
点击我直接部署

就会进入Heroku的创建app页面。

Heroku的创建app页面
Heroku的创建app页面

这时候需要填的东西如下,带*为必填项

项目 解释 示例
App name * 你要创建的应用名 aria2dl
ARIA2C_SECRET * 进入Aria2的密码 password
HEROKU_APP_NAME * 和上面填的应用名一样 aria2dl
RCLONE_CONFIG 你的RCLONE配置 见下文
RCLONE_DESTINATION 需要同步的目标网盘的路径必须以/开头 /tmp

最后两个是如果你需要将离线下载的文件同步到自己的网盘或者存储的话才需要填写。

但是建议同步到自己的网盘,因为Heroku保存的问题好像就一个小时还是可能休眠了重启了就消失了。两面性吧,好处是可以通过休眠重启来删除文件,不好的地方是文件不能长久保存。

RCLONE_CONFIG这个选项的话我一开始碰了壁,后来知道原来这么写。 前提是你已经配置过rclone,如果是在Windows下配置过rclone的话,一般配置文件在/$HOME/.config/rclone/rclone.conf,也可以通过命令rclone config file来显示配置文件路径。

打开对应的配置文件rclone.conf,可以看到格式为下面的内容,或者直接使用rclone命令也可以查看 rclone config show [<remote>] [flags]

[XXDrive]
type = onedrive
token = {"access_token":"省略","expiry":"2020-02-29T00:06:11.2713766+09:00"}
drive_id = b!mcwoiDfma0qsSX_省略gSqJBBrD9W6XX
drive_type = business

只要选下面这些内容填入RCLONE_CONFIG选项就可以,其实就是不要盘名和每行用\n来连接,但是我试了下像下面这样换行 加上\n也是可以。。。

type = onedrive\n
token = {"access_token":"省略","expiry":"2020-02-29T00:06:11.2713766+09:00"}\n
drive_id = b!mcwoiDfma0qsSX_省略gSqJBBrD9W6XX\n
drive_type = business

最后一个选项ARIA2C_SECRET的话需要,就是你要上传到那个网盘的哪个路径下,可以用/代表上传到根目录。

最后点击Deploy app就可以看到它自动部署了。等看到部署成功后就可以点击Open app或者View来打开或者直接访问 https://你设置好的应用名.herokuapp.com

享用

打开后显示如下的话说明部署没问题

部署成功
部署成功
在输入框内填入你设置好的ARIA2C_SECRET密码,比如password,然后点击你要去的地方 - Go to AriaNg panel 离线下载面板 - View downloaded files 查看下载后的文件

需要注意的是mjj论坛有mjj反应说账号被封了,估计是违反了Heroku官方的使用规则。但是也没有确定,大家酌情使用吧。

这里感谢maple3142大佬

参考