搭建Aria2+AriaNg离线下载服务器

分类
教程
标签
经验分享教程工具推荐

前言

为什么需要部署这种服务器?

由于国内较为保守的路由管理,导致个人用的宽带较难申请到公网IP,而下载种子文件是一个互相的行为,如果本地网络不开放,就会导致种子文件的下载只有下载并没有上传的共享行为。恰好我有一台闲置的服务器,就将其部署在上面,接下来我会用最简单快速的方法教你如何去部署这样一个服务器。

部署工作

1该部署运行于以下环境 2System: 3 - Ubuntu 20.04.3 LTS 4Env: 5 - Docker version 20.10.9 6 - Web反代框架(如Nginx)

安装Docker和Nginx

Docker

1curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

Nginx

1wget http://soft.vpser.net/lnmp/lnmp1.8.tar.gz -cO lnmp1.8.tar.gz && tar zxf lnmp1.8.tar.gz && cd lnmp1.8 && ./install.sh nginx

通过Docker安装Aria2

因为是快速部署,我们直接采用别人的做好的Aria2容器:Aria Pro
1docker pull p3terx/aria2-pro #拉取容器 2docker run -d \ 3 --name aria2-pro \ 4 --restart unless-stopped \ 5 --log-opt max-size=1m \ 6 --network host \ 7 -e PUID=$UID \ 8 -e PGID=$GID \ 9 -e RPC_SECRET=<TOKEN> \ 10 -e RPC_PORT=6800 \ 11 -e LISTEN_PORT=6888 \ 12 -v $PWD/aria2-config:/config \ 13 -v $PWD/aria2-downloads:/downloads \ 14 p3terx/aria2-pro
上述为参考的启动命令,只需替换您自己的<TOKEN>即可正常运行
具体参数参考https://p3terx.com/archives/docker-aria2-pro.html

AriaNg

通过Nginx创建vhost并运行(Recommended)

1lnmp vhost add #创建vhost(域名以example.com代称) 2 3+-------------------------------------------+ 4| Manager for LNMP, Written by Licess | 5+-------------------------------------------+ 6| https://lnmp.org | 7+-------------------------------------------+ 8Please enter domain(example: www.lnmp.org): example.com 9 Your domain: example.com 10Enter more domain name(example: lnmp.org *.lnmp.org): 11Please enter the directory for the domain: example.com 12Default directory: /home/wwwroot/example.com: 13Virtual Host Directory: /home/wwwroot/example.com 14Allow Rewrite rule? (y/n) n 15You choose rewrite: none 16Enable PHP Pathinfo? (y/n) n 17Disable pathinfo. 18Allow access log? (y/n) n 19Disable access log. 20Add SSL Certificate (y/n) y 211: Use your own SSL Certificate and Key 222: Use Let's Encrypt to create SSL Certificate and Key 233: Use BuyPass to create SSL Certificate and Key 244: Use ZeroSSL to create SSL Certificate and Key 25Enter 1, 2, 3 or 4: 2
通过Lnmp自带的功能创建vhost后去到网站目录安装AriaNg
1cd /home/wwwroot/example.com 2wget https://github.com/mayswind/AriaNg/releases/download/1.2.3/AriaNg-1.2.3.zip 3unzip AriaNg-1.2.3.zip
此时即可通过example.com访问您的AriaNg网站

通过Docker安装并运行

此方法不需要配置Nginx
1docker pull p3terx/ariang 2docker run -d \ 3 --name ariang \ 4 --restart unless-stopped \ 5 --log-opt max-size=1m \ 6 -p 80:6880 \ 7 p3terx/ariang
此时即可通过example.com访问您的AriaNg网站

API RPC配置方法

1http://example.com/#!/settings/rpc/set/${protocol}/${rpcHost}/${rpcPort}/${rpcInterface}/${secret}
如使用example.com为域名的AriaNg,连接协议使用http,主机域名为example.com,端口为6800,RPC路径使用jsonrpc,RPC密钥为EXAMPLE(RPC密钥应转换为base64编码以保证安全:base64转换)
1http://example.com/#!/settings/rpc/set/http/example.com/6800/jsonrpc/RVhBTVBMRQ==
通过上述网址即可直接使用AriaNg管理Aria2而不用每次都输入密钥

SSL配置

Nginx反向代理端口

为保障安全,可以为服务器配置SSL协议,这里我仅介绍Nginx反向代理端口的方法
在前面我们通过Lnmp创建了带有SSL证书的vhost,现在我们对其配置文件进行相应的操作
1vim /usr/local/nginx/conf/vhost/example.com.conf
对其添加如下配置
1``` 2 listen 443 ssl http2; 3``` 4 location /jsonrpc { 5 proxy_redirect off; 6 proxy_pass http://127.0.0.1:6800/jsonrpc; #配置为你Aria2的RPC即可 7 proxy_http_version 1.1; 8 proxy_set_header Upgrade $http_upgrade; 9 proxy_set_header Connection "upgrade"; 10 proxy_set_header Host $http_host; 11 proxy_set_header X-Real-IP $remote_addr; 12 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 13 } 14```
重启Nginx后即可通过https://example.com/jsonrpc访问您的Aria2

后记

本文章仅介绍最快速的搭建方案,不代表此方案是最优选择。
之后会出文章讲如何去进行文件目录的浏览