CCAA-打造离线下载服务器
实验环境
操作系统: Ubuntu 20.04 64位
软件:
Nginx | Aria2 | AriaNg | File browser
安装过程
先说最简单的方法,就是利用大佬已经做好的脚本,一键执行就行,大佬的项目在此链接,但是也并没有对所有的系统进行适配,有些系统环境还是不能部署成功。
既然是学习,就不如自己一步步地来部署CCAA这个项目,一来可以熟悉Linux命令,二来学习一些错误的处理。
本教程依然是基于大佬的项目,我只是把脚本自动执行的内容一步步分解出来。
1.安装前的准备
创建临时目录
mkdir ./ccaa_temp
创建用户和用户组
groupadd ccaa
useradd -M -g ccaa ccaa -s /sbin/nologin
2.下载软件
进入临时目录
cd ./ccaa_tmp
下载本教程软件
wget https://github.com/q3aql/aria2-static-builds/releases/download/v1.35.0/aria2-1.35.0-linux-gnu-64bit-build1.deb
wget https://github.com/filebrowser/filebrowser/releases/download/v2.6.2/linux-arm64-filebrowser.tar.gz
wget https://github.com/helloxz/ccaa/archive/master.zip
可以根据自己的情况选择适合自己的安装包,当然也可以自己下载源码编译安装
| Aria2 | Filebrowser |
|---|---|
| https://github.com/q3aql/aria2-static-builds/releases | https://github.com/filebrowser/filebrowser/releases |
![]() |
3.安装软件
3.1 安装aria2
dpkg -i aria2-1.35.0-linux-gnu-64bit-build1.deb
出现下面的错误是因为下载的版本与系统有关,目前CPU是ARM64,然而我们下载的是AMD64位的安装包,所以选择适合我们的安装包
wget https://github.com/q3aql/aria2-static-builds/releases/download/v1.35.0/aria2-1.35.0-linux-gnu-arm-rbpi-build1.deb,然后再运行dpkg -i aria2-1.35.0-linux-gnu-arm-rbpi-build1.deb,安装成功。
3.2 安装Filebrowser
tar -zxvf linux-arm64-filebrowser.tar.gz # 解压
mv filebrowser /usr/sbin # 移动位置
3.3 安装Nginx
apt-get install -y nginx
systemctl enable nginx # 开机启动
3.4 安装AriaNG
unzip master.zip # 解压
mv ccaa-master/ccaa_dir/AriaNg/* /var/www/html/
4. 配置软件
将Aria2和Filebrowser配置文件移到/etc/ccaa
mkdir /etc/ccaa
mv ccaa-master/ccaa_dir/aria2.* /etc/ccaa/
mv ccaa-master/ccaa_dir/config.json /etc/ccaa/
touch /etc/ccaa/filebrowser.db
手动配置
osip=$(curl -4s https://api.ip.sb/ip)
mkdir /var/www/data # 下载目录
sed -i "s%dir=%dir=/var/www/data%g" /etc/ccaa/aria2.conf
sed -i "s/rpc-secret=/rpc-secret=123456/g" /etc/ccaa/aria2.conf
sed -i "s%ccaaDown%/var/www/data%g" /etc/ccaa/config.json #替换filebrowser读取路径
sed -i "s/server_ip/${osip}/g" /var/www/html/index.html #替换AriaNg服务器链接
5.启动服务
nohup sudo -u ccaa aria2c --conf-path=/etc/ccaa/aria2.conf > /var/log/aria2.log 2>&1 & #启动Aria2
nohup sudo -u ccaa filebrowser -c /etc/ccaa/config.json > /var/log/fbrun.log 2>&1 & #运行filebrowser
service nginx start
重置权限
chown -R ccaa:ccaa /etc/ccaa/
chown -R ccaa:ccaa /var/www/data
到这里,基本配置已经完成,可以直接访问IP或者域名使用

6. 进阶教程
cat <<EOF >/usr/sbin/ccaa
#!/bin/bash
##### CCAA管理脚本 #####
##### Author:xiaoz.me #####
##### Update:2020-02-27 #####
#导入环境变量
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin
export PATH
aria2pid=\$(pgrep 'aria2c')
filebrowser_pid=\$(pgrep 'filebrowser')
case \$1 in
'start')
nohup sudo -u ccaa aria2c --conf-path=/etc/ccaa/aria2.conf > /var/log/aria2.log 2>&1 &
nohup sudo -u ccaa filebrowser -c /etc/ccaa/config.json > /var/log/fbrun.log 2>&1 &
exit
;;
'stop')
kill -9 \${aria2pid}
kill -9 \${filebrowser_pid}
;;
'restart')
kill -9 \${aria2pid}
kill -9 \${filebrowser_pid}
nohup sudo -u ccaa aria2c --conf-path=/etc/ccaa/aria2.conf > /var/log/aria2.log 2>&1 &
nohup sudo -u ccaa filebrowser -c /etc/ccaa/config.json > /var/log/fbrun.log 2>&1 &
exit;
;;
'status')
if [ "\$aria2pid" == "" ]
then
echo "Not running!"
else
echo '-----------------------------------------------'
echo "Aria2 is running,pid is \${aria2pid}."
echo "Filebrowser is running,pid is \${filebrowser_pid}."
echo '-----------------------------------------------'
fi
;;
*)
echo '参数错误!'
exit
;;
esac
EOF
chmod +x /usr/sbin/ccaa # 增加执行权限
常用命令
- ccaa:进入CCAA操作界面
- ccaa status:查看CCAA运行状态
- ccaa stop:停止CCAA
- ccaa start:启动CCAA
- ccaa restart:重启CCAA
开放过多端口,不容易管理,也容易发生恶意入侵,所以通过nginx使用不同的域名反代到80端口。
在nginx的配置文件里加入以下代码,同时将 域名DNS解析添加 *.aria.hearme.cn到自己的服务器
# ariaRPC
server {
listen 80;
server_name rpc.aria.hearme.cn;
client_max_body_size 1024m;
location / {
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:6800/;
}
}
# Filebrowser
server {
listen 80;
server_name fb.aria.hearme.cn;
client_max_body_size 1024m;
location / {
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:6081/;
}
}

对应的主页上的链接也需要修改。
最后访问网站,修改下面两个地方即可大功告成。

CCAA的帮助文档可查看[这里](



