| #!/bin/bash |
| |
| |
| |
|
|
| |
| PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin |
| export PATH |
|
|
| |
| if [ $1 = 'cdn' ] |
| then |
| aria2_url='https://hf-mirror.com/colaibu/ccaa/resolve/main/aria2-1.36.0-linux-gnu-64bit-build1.tar.bz2' |
| filebrowser_url='https://hf-mirror.com/colaibu/ccaa/resolve/main/linux-amd64-filebrowser.tar.gz' |
| master_url='https://hf-mirror.com/colaibu/ccaa/resolve/main/master.zip' |
| ccaa_web_url='https://hf-mirror.com/colaibu/ccaa/resolve/main/ccaa_web.tar.gz' |
| else |
| aria2_url='https://github.com/q3aql/aria2-static-builds/releases/download/v1.35.0/aria2-1.36.0-linux-gnu-64bit-build1.tar.bz2' |
| filebrowser_url='https://github.com/filebrowser/filebrowser/releases/download/v2.0.16/linux-amd64-filebrowser.tar.gz' |
| master_url='https://github.com/helloxz/ccaa/archive/master.zip' |
| ccaa_web_url='http://soft.xiaoz.org/linux/ccaa_web.tar.gz' |
| fi |
|
|
| |
| function check(){ |
| echo '-------------------------------------------------------------' |
| if [ -e "/etc/ccaa" ] |
| then |
| echo 'CCAA已经安装,若需要重新安装,请先卸载再安装!' |
| echo '-------------------------------------------------------------' |
| exit |
| else |
| echo '检测通过,即将开始安装。' |
| echo '-------------------------------------------------------------' |
| fi |
| } |
|
|
| |
| function setout(){ |
| if [ -e "/usr/bin/yum" ] |
| then |
| yum -y install curl gcc make bzip2 gzip wget unzip tar |
| else |
| |
| sudo apt-get update |
| sudo apt-get install -y curl make bzip2 gzip wget unzip sudo |
| fi |
| |
| cd |
| mkdir ./ccaa_tmp |
| |
| groupadd ccaa |
| useradd -M -g ccaa ccaa -s /sbin/nologin |
| } |
| |
| function install_aria2(){ |
| |
| cd ./ccaa_tmp |
| |
| |
| wget -c ${aria2_url} |
| tar jxvf aria2-1.36.0-linux-gnu-64bit-build1.tar.bz2 |
| cd aria2-1.36.0-linux-gnu-64bit-build1 |
| make install |
| cd |
| } |
|
|
| |
| function install_file_browser(){ |
| cd ./ccaa_tmp |
| |
| wget ${filebrowser_url} |
| |
| tar -zxvf linux-amd64-filebrowser.tar.gz |
| |
| mv filebrowser /usr/sbin |
| cd |
| } |
| |
| function dealconf(){ |
| cd ./ccaa_tmp |
| |
| wget ${master_url} |
| |
| unzip master.zip |
| |
| mv ccaa-master/ccaa_dir /etc/ccaa |
| |
| touch /var/log/aria2.log |
| |
| chmod +x /etc/ccaa/upbt.sh |
| chmod +x ccaa-master/ccaa |
| cp ccaa-master/ccaa /usr/sbin |
| cd |
| } |
| |
| function chk_firewall(){ |
| if [ -e "/etc/sysconfig/iptables" ] |
| then |
| iptables -I INPUT -p tcp --dport 6080 -j ACCEPT |
| iptables -I INPUT -p tcp --dport 6081 -j ACCEPT |
| iptables -I INPUT -p tcp --dport 6800 -j ACCEPT |
| iptables -I INPUT -p tcp --dport 6998 -j ACCEPT |
| iptables -I INPUT -p tcp --dport 51413 -j ACCEPT |
| service iptables save |
| service iptables restart |
| elif [ -e "/etc/firewalld/zones/public.xml" ] |
| then |
| firewall-cmd --zone=public --add-port=6080/tcp --permanent |
| firewall-cmd --zone=public --add-port=6081/tcp --permanent |
| firewall-cmd --zone=public --add-port=6800/tcp --permanent |
| firewall-cmd --zone=public --add-port=6998/tcp --permanent |
| firewall-cmd --zone=public --add-port=51413/tcp --permanent |
| firewall-cmd --reload |
| elif [ -e "/etc/ufw/before.rules" ] |
| then |
| sudo ufw allow 6080/tcp |
| sudo ufw allow 6081/tcp |
| sudo ufw allow 6800/tcp |
| sudo ufw allow 6998/tcp |
| sudo ufw allow 51413/tcp |
| fi |
| } |
| |
| function del_post() { |
| if [ -e "/etc/sysconfig/iptables" ] |
| then |
| sed -i '/^.*6080.*/'d /etc/sysconfig/iptables |
| sed -i '/^.*6081.*/'d /etc/sysconfig/iptables |
| sed -i '/^.*6800.*/'d /etc/sysconfig/iptables |
| sed -i '/^.*6998.*/'d /etc/sysconfig/iptables |
| sed -i '/^.*51413.*/'d /etc/sysconfig/iptables |
| service iptables save |
| service iptables restart |
| elif [ -e "/etc/firewalld/zones/public.xml" ] |
| then |
| firewall-cmd --zone=public --remove-port=6080/tcp --permanent |
| firewall-cmd --zone=public --remove-port=6081/tcp --permanent |
| firewall-cmd --zone=public --remove-port=6800/tcp --permanent |
| firewall-cmd --zone=public --remove-port=6998/tcp --permanent |
| firewall-cmd --zone=public --remove-port=51413/tcp --permanent |
| firewall-cmd --reload |
| elif [ -e "/etc/ufw/before.rules" ] |
| then |
| sudo ufw delete 6080/tcp |
| sudo ufw delete 6081/tcp |
| sudo ufw delete 6800/tcp |
| sudo ufw delete 6998/tcp |
| sudo ufw delete 51413/tcp |
| fi |
| } |
| |
| function add_service() { |
| if [ -d "/etc/systemd/system" ] |
| then |
| cp /etc/ccaa/services/* /etc/systemd/system |
| systemctl daemon-reload |
| fi |
| } |
| |
| function setting(){ |
| cd |
| cd ./ccaa_tmp |
| echo '-------------------------------------------------------------' |
| read -p "设置下载路径(请填写绝对地址,默认/data/ccaaDown):" downpath |
| read -p "Aria2 RPC 密钥:(字母或数字组合,不要含有特殊字符):" secret |
| |
| while [ -z "${secret}" ] |
| do |
| read -p "Aria2 RPC 密钥:(字母或数字组合,不要含有特殊字符):" secret |
| done |
| |
| |
| if [ -z "${downpath}" ] |
| then |
| downpath='/data/ccaaDown' |
| fi |
|
|
| |
| osip=$(curl ipv4.ip.sb) |
| |
| |
| mkdir -p ${downpath} |
| sed -i "s%dir=%dir=${downpath}%g" /etc/ccaa/aria2.conf |
| sed -i "s/rpc-secret=/rpc-secret=${secret}/g" /etc/ccaa/aria2.conf |
| |
| sed -i "s%ccaaDown%${downpath}%g" /etc/ccaa/config.json |
| |
| sed -i "s/server_ip/${osip}/g" /etc/ccaa/AriaNg/index.html |
| |
| |
| bash /etc/ccaa/upbt.sh |
| |
| |
| wget ${ccaa_web_url} |
| tar -zxvf ccaa_web.tar.gz |
| cp ccaa_web /usr/sbin/ |
| chmod +x /usr/sbin/ccaa_web |
|
|
| |
| nohup sudo -u ccaa aria2c --conf-path=/etc/ccaa/aria2.conf > /var/log/aria2.log 2>&1 & |
| |
| nohup sudo -u ccaa /usr/sbin/ccaa_web > /var/log/ccaa_web.log 2>&1 & |
| |
| nohup sudo -u ccaa filebrowser -c /etc/ccaa/config.json > /var/log/fbrun.log 2>&1 & |
|
|
| |
| chown -R ccaa:ccaa /etc/ccaa/ |
| chown -R ccaa:ccaa ${downpath} |
|
|
| |
| add_service |
|
|
| echo '-------------------------------------------------------------' |
| echo "大功告成,请访问: http://${osip}:6080/" |
| echo 'File Browser 用户名:ccaa' |
| echo 'File Browser 密码:admin' |
| echo 'Aria2 RPC 密钥:' ${secret} |
| echo '帮助文档: https://dwz.ovh/ccaa (必看)' |
| echo '-------------------------------------------------------------' |
| } |
| |
| function cleanup(){ |
| cd |
| rm -rf ccaa_tmp |
| |
| |
| } |
|
|
| |
| function uninstall(){ |
| wget -O ccaa-uninstall.sh https://hf-mirror.com/colaibu/ccaa/resolve/main/uninstall.sh |
| bash ccaa-uninstall.sh |
| } |
|
|
| |
| echo "------------------------------------------------" |
| echo "Linux + File Browser + Aria2 + AriaNg一键安装脚本(CCAA)" |
| echo "1) 安装CCAA" |
| echo "2) 卸载CCAA" |
| echo "3) 更新bt-tracker" |
| echo "q) 退出!" |
| read -p ":" istype |
| case $istype in |
| 1) |
| check |
| setout |
| chk_firewall |
| install_aria2 && \ |
| install_file_browser && \ |
| dealconf && \ |
| setting && \ |
| cleanup |
| ;; |
| 2) |
| uninstall |
| ;; |
| 3) |
| bash /etc/ccaa/upbt.sh |
| ;; |
| q) |
| exit |
| ;; |
| *) echo '参数错误!' |
| esac |
|
|