AriaNg + Caddy FileManager: 打造自己的离线下载网盘

转载自逗比集中营的两篇文章:AriaNgCaddy FileManager

简单介绍

Aria2是一个命令行下运行、多协议、多来源下载工具,支持磁力链接、BT种子、HTTP、FTP等下载协议,当然因为它是命令行下载工具,所以我们想下载一个东西还需要去敲命令自然是不方便,于是就有一些人根据Aria2的API开发了一些在线管理面板,可以直接在网页上面添加管理任务。

本教程介绍的是 AriaNg,Github项目:https://github.com/mayswind/AriaNg

Aria2是一个后端(服务端)的程序,而 AriaNg是一个前端(HTML+JS静态)控制面板,不需要和 Aria2(后端/服务端)放在一个服务器或者设备中,你甚至可以只在服务器上面搭建Aria2后端,然后访问别人建好的 AriaNg前端面板,也可以远程操作Aria2后端!

注意不要使用HTTPS协议,监听地址不支持的!

演示

  • 我用 Hostsolutions 的月付2欧的特价机器搭建了一个,购买的话看这里
    截一下图:

教程环境

一个纯净的 Debian 7 x64 系统的服务器(VPS)
一个域名(可选)

准备工作

apt-get update -y && apt-get upgrade -y

后端安装

这里指的就是 Aria2

  • 换源
mv /etc/apt/sources.list /etc/apt/sources.list.bak && wget --no-check-certificate -P /etc/apt "https://softs.fun/Bash/sources/us.sources_stretch.list" && mv /etc/apt/us.sources_stretch.list /etc/apt/sources.list
  • 安装Aria2等软件
apt-get update && apt-get install aria2 curl unzip vim -y
  • 还原备份的 包管理器源,注意下次再安装软件的时候,请先运行 apt-get update ,否则包列表还是前面测试版源!
rm -rf /etc/apt/sources.list && mv /etc/apt/sources.list.bak /etc/apt/sources.list
  • 如果以上过程没有报错,然后通过以下命令来检查 Aria2 是否安装成功。
aria2c -v
# 正常情况下应该返回 一大串的版本信息,如果返回 找不到命令,那么说明安装失败。

配置后端

# 创建Aria2配置文件夹
mkdir /root/.aria2 && cd /root/.aria2
# 下载Aria2配置文件、DHT文件(BT有没有速度就靠这个)
wget --no-check-certificate https://softs.fun/Other/Aria2/aria2.conf
wget --no-check-certificate https://softs.fun/Other/Aria2/dht.dat
# 创建一个空的 Aria2 下载任务保存文件
echo '' > /root/.aria2/aria2.session
  • 默认我已经配置好了 Aria2的配置文件,如果你想要修改,那么你可以输入 vi /root/.aria2/aria2.conf 或者 把这个文件下载到本地修改(有中文注释,# 井号是注释的,不懂的参数不要乱动,默认就好)。
  • 主要就是下面这两个选项:下载目录(dir)、RPC监听端口(rpc-listen-port)、RPC令牌(rpc-secret),默认是下面这样:
下载目录:dir=/usr/local/caddy/www/aria2/Download
RPC监听端口:rpc-listen-port=6800 (默认#注释)
RPC令牌:rpc-secret=doub.io (如果不需要,则修改配置文件在参数前面加上 # 注释即可)
RPC令牌就相当于 Aria2(后端/服务端)远程API连接的授权密码,默认是开启的PRC令牌是 doub.io
正式使用建议更改 PRC监听端口和令牌 ,避免安全隐患!

后端使用方法

  • 启动 Aria2(后端/服务端)
nohup aria2c -c &>/root/.aria2/aria2.log &

如果使用 nohup 进程无法后台运行或者其他问题,可以使用screen来做这个事儿

  • 停止 Aria2(后端/服务端)
kill -9 $(ps -ef|grep "aria2c"|grep -v "grep"|awk '{print $2}')
  • 重启就是先停止后启动喽~

  • 查看 Aria2输出的日志
    这个命令是监控 日志输出,如果想要退出监控,那么按 Ctrl+C 键即可。

tail -f /root/.aria2/aria2.log

前端安装

这里指的就是 AriaNg / FileManager

  • 这里安装 Caddy 一个很简单的HTTP服务器,如果你想要使用Nginx/Apache或者LNMP一键包之类的,使用方法自行谷歌。
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager
  • 如果上面这个脚本无法下载,尝试使用备用下载:
wget -N --no-check-certificate https://softs.fun/Bash/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager
  • 安装Caddy成功后,继续新建一个虚拟主机文件夹,
mkdir /usr/local/caddy/www && mkdir /usr/local/caddy/www/aria2
  • 写入配置到 Caddy 配置文件,注意下面这五行要一起复制粘贴,不是一行一行复制!

注意:

  1. 将域名替换为你自己的!
  2. 第四行basicauth / user233 doub.io和第七行user233:可以删除,不删除代表的意思是你的前端用户和密码分别是:user233doub.io,你也可以改成你想要的用户名密码。
echo "dl.liyuans.com {
root /usr/local/caddy/www/aria2
gzip
basicauth / user233 doub.io
filemanager /Download {
show /usr/local/caddy/www/aria2/Download
user233:
allow_new true
allow_edit true
allow_commands true
}
}" > /usr/local/caddy/Caddyfile

安装 AriaNg

# 新建Aria2下载文件夹 并进入文件夹 #
mkdir /usr/local/caddy/www/aria2/Download && cd /usr/local/caddy/www/aria2

# 下载并解压 AriaNg 文件,注意下面这一段是需要一起输入的,这段代码会自动检测并下载最新版本 #
Ver=$(curl -m 10 -s "https://github.com/mayswind/AriaNg/releases/latest" | perl -e 'while($_=<>){ /\/tag\/(.*)\">redirected/; print $1;}') && wget "https://github.com/mayswind/AriaNg/releases/download/${Ver}/aria-ng-${Ver}.zip" && unzip aria-ng-${Ver}.zip && rm -rf aria-ng-${Ver}.zip

# 赋予虚拟主机文件夹权限 #
chmod -R 755 /usr/local/caddy/www/aria2
  • 上面代码都执行完后,就可以启动 Caddy了。
service caddy start
  • 如果Caddy 运行正常,那么你打开你的域名即可看到 AriaNg 的页面了!

配置 AriaNg

  • 进入AriaNg的网页后,默认是英文语言,你可以 点击左侧选项菜单 —— AriaNg Setting ,然后在新页面中 Language选项选择 简体中文,然后刷新页面后即可生效。

  • 如果你的 Aria2(后端/服务端)还没有运行,请先根据 Aria2使用说明 启动 Aria2(后端/服务端)。

  • 依然是 左侧选项菜单 —— AriaNg 设置 —— RPC —— 依次输入/选择下图各选项。

Aria2 RPC 主机:就是填写你 安装Aria2(后端/服务端)的服务器IP 或者 域名。
Aria2 RPC 端口:默认 6800 。
Aria2 RPC 协议:选择 http ,如果你配置了https,那么就选择https。
Aria2 RPC 密匙:输入你的RPC密匙(令牌),如果你安装后没有修改配置文件中的RPC密匙(令牌),那么你这里需要填写 doub.io 。
强烈建议打开 RPC密匙(令牌)来保证安全性。
  • 设置完毕后,刷新页面即可生效。
  • 正常情况下,右上角会提示 连接成功,点击左侧选项菜单 —— Aria2 状态,即可看到当前 AriaNg 前端面板连接到的 Aria2(后端/服务端)的信息。

其他

  • Caddy 使用方法
启动:service caddy start
停止:service caddy stop
重启:service caddy restart
查看状态:service caddy status
Caddy 配置文件:/usr/local/caddy/Caddyfile
Caddy 虚拟主机:/usr/local/caddy/www
AriaNg 虚拟主机文件夹:/usr/local/caddy/www/aria2
AriaNg 下载文件夹:/usr/local/caddy/www/aria2/Download

注意事项

  • Caddy启动失败,打开 http://ip 显示的是 It works !
    一些系统会自带 apache2 ,而 apache2 会占用80端口,导致Caddy无法绑定端口,所以只要关掉就好了。
netstat -lntp
# 我们可以通过这个命令查看是不是被其他软件占用了 80 端口。

不过 apache2 会默认开机自启动,如果不需要可以关闭自启动或者卸载 apache2 。

  • 停止 Apache2
service apache2 stop
# 尝试使用上面这个关闭,如果没效果或者提示什么错误无法关闭,那就用下面这个强行关闭进程。
kill -9 $(ps -ef|grep "apache2"|grep -v "grep"|awk '{print $2}')
  • 取消开机自启动
update-rc.d -f apache2 remove
  • 卸载 Apache2
apt-get remove --purge apache2
  • 关闭 Apache2后,就可以尝试启动 Caddy ,并试试能不能打开网页。
service caddy stop
service caddy start