自从买了一些廉价 VPS 以后,手上就闲置了一台 Azure 的学生机,除了用来跑个 Trojan 暂时没有其他的用途。正好最近想要下一些 BT 资源,而国内的 BT 环境懂的都懂,遂决定用这台接近闲置的机器离线下载 BT。
首先声明,所有 BT 下载行为需要自行承担被版权投诉的风险。
安装 Aria2
对于这些不是「基础设施」的软件,我更喜欢直接拉取一个 Docker 容器的方案。我采用了P3TERX/Aria2-Pro-Docker1,这套已经修改好的 Docker 容器。Docker 容器部署起来如出一辙:首先编辑docker-compose.yml
,docker compose up
把所有容器都跑起来,最后反代暴露的端口即可。
我的docker-compose.yml
如下2:
|
|
用 Caddy 反向代理
之前的反向代理,我都是用的基于 Nginx 的方案,而在这段时间里关于 Caddy 的好评不绝于耳,这次的我便换用了 Caddy,当然,主要也是想尝试一些新东西、新技术。
Caddy 的使用真的非常简单,即使对新人也极其友好,例如,常用的反向代理本机某个端口,只需三行 Caddyfile 即可搞定。
|
|
安装 Caddy 请参考官方文档,例如,我的服务器使用 Debian,则使用以下命令安装:
|
|
安装完成后记得开放防火墙和从服务商策略组的 80 和 443 端口。
在域名服务商处将要绑定的域名指向服务器,就可以开始写 Caddyfile 了。我们需要反向代理三个端口,分别用作不同的用途。我的 Caddyfile 如下:
|
|
看到如此简洁的配置文件,不由得感叹,相比于 Nginx,Caddy 用起来真是令人心情舒畅。写入配置完成后,重新启动 Caddy3,就可以开始欣赏 Caddy 自动帮你申请 SSL 证书配置好 HTTPS 的绝赞过程。至此,反向代理的部分也就完成了。
配置 Aria-NG
Aria-NG 只是一个前端面板,可以和任何 Aria2 后端通信,为此,我们需要给 Aria-NG 提供配置信息。进入刚刚反代好的 Aria-NG 面板,转到 AriaNG 设置,填入配置信息。
其中,RPC 地址是刚刚反代好的 RPC 地址,协议选择 HTTPS,请求方法选择 POST,RPC 密钥是在docker-compose.yml
里replace-me
处你所替换的值。
若「Aria2 状态」旁出现「已连接」,说明配置正确。
用 Alist 映射下载目录
我们通过 Alist 映射下载目录,以更方便的查看、管理和下载服务器上已经下载好的文件。Alist 同样也通过 Docker 部署,由于 Alist 本身在容器内运行们,无法访问容器外的文件,部署时需要将 Aria2 的下载目录提前 Bind 到 Alist 的容器下。
我的docker-compose.yml
如下:
|
|
第一次启动 Alist 时,Alist 会随机生成admin
用户的密码,所以,第一次启动这套编排时,最好不要带-d
参数,而是直接docker compose up
,并把容器启动后的输出妥善保存。如果不小心没有保存管理员密码,可以用这个命令重新随机生成一个:
|
|
成功登录 Alist 之后就可以开始挂载目录了。
驱动选择本机存储,挂载路径需要注意,按照我的编排,我将容器外的/home/azureuser/aria2/aria2-downloads
目录挂载到了容器内的/aria2-downloads
,所以挂载路径应该是/aria2-downloads
。
完成
现在所有的服务都已经部署上线了,打开 AriaNG 可以添加下载任务,下载好的文件可以打开 Alist 看到,下载,以及在线观看。
搭建这套服务之前,请仔细查看 VPS 提供商的服务条款,确保 BT 下载行为不会违规。以及,除了卢森堡等少数国家/地区,下载被 DMCA 保护的资源可能会遭到投诉,这些风险都需要你自行承担。
反正我这 Azure 的学生机也是白嫖的,被投诉回收了我也无所谓,不管怎样,现在可以心无旁骛的享受找资源的快乐了。
当然也可以试一试SuperNG6/docker-aria2 ↩︎
参考原作者的
docker-compose.yml
↩︎