Przeglądaj źródła

Version 2.4.3: Detail improvements

master
P3TERX 4 lat temu
rodzic
commit
315e39b1f0
1 zmienionych plików z 64 dodań i 58 usunięć
  1. +64
    -58
      aria2.sh

+ 64
- 58
aria2.sh Wyświetl plik

@ -3,13 +3,13 @@
# https://github.com/P3TERX/aria2.sh
# Description: Aria2 One-click installation management script
# System Required: CentOS/Debian/Ubuntu
# Version: 2.4.2
# Version: 2.4.3
# Author: Toyo
# Maintainer: P3TERX
# Blog: https://p3terx.com
#=============================================================
sh_ver="2.4.2"
sh_ver="2.4.3"
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
aria2_conf_path="/root/.aria2"
@ -220,11 +220,11 @@ Install_aria2() {
Service_aria2
Read_config
aria2_RPC_port=${aria2_port}
echo -e "${Info} 开始设置 iptables防火墙..."
echo -e "${Info} 开始设置 iptables 防火墙..."
Set_iptables
echo -e "${Info} 开始添加 iptables防火墙规则..."
echo -e "${Info} 开始添加 iptables 防火墙规则..."
Add_iptables
echo -e "${Info} 开始保存 iptables防火墙规则..."
echo -e "${Info} 开始保存 iptables 防火墙规则..."
Save_iptables
echo -e "${Info} 开始创建 下载目录..."
mkdir -p ${download_path}
@ -254,14 +254,13 @@ Set_aria2() {
echo -e "
${Green_font_prefix}1.${Font_color_suffix} 修改 Aria2 RPC 密钥
${Green_font_prefix}2.${Font_color_suffix} 修改 Aria2 RPC 端口
${Green_font_prefix}3.${Font_color_suffix} 修改 Aria2 文件下载位置
${Green_font_prefix}4.${Font_color_suffix} 修改 Aria2 密钥 + 端口 + 文件下载位置
${Green_font_prefix}3.${Font_color_suffix} 修改 Aria2 下载目录
${Green_font_prefix}4.${Font_color_suffix} 修改 Aria2 密钥 + 端口 + 下载目录
${Green_font_prefix}5.${Font_color_suffix} 手动 打开配置文件修改
————————————
${Green_font_prefix}0.${Font_color_suffix} 重置/更新 Aria2 完美配置
"
read -e -p "(默认: 取消):" aria2_modify
[[ -z "${aria2_modify}" ]] && echo "已取消..." && exit 1
read -e -p " 请输入数字 [0-5]:" aria2_modify
if [[ ${aria2_modify} == "1" ]]; then
Set_aria2_RPC_passwd
elif [[ ${aria2_modify} == "2" ]]; then
@ -275,7 +274,9 @@ Set_aria2() {
elif [[ ${aria2_modify} == "0" ]]; then
Reset_aria2_conf
else
echo -e "${Error} 请输入正确的数字(0-5)" && exit 1
echo
echo -e " ${Error} 请输入正确的数字"
exit 1
fi
}
Set_aria2_RPC_passwd() {
@ -288,34 +289,38 @@ Set_aria2_RPC_passwd() {
else
aria2_passwd_1=${aria2_passwd}
fi
echo -e "请输入要设置的 Aria2 RPC 密钥(旧密钥为:${Green_font_prefix}${aria2_passwd_1}${Font_color_suffix})"
read -e -p "(默认密钥: 随机生成 密钥请不要包含等号 = 和井号 #):" aria2_RPC_passwd
echo -e "
${Tip} Aria2 RPC 密钥不要包含等号(=)和井号(#),留空为随机生成。
当前 RPC 密钥为: ${Green_font_prefix}${aria2_passwd_1}${Font_color_suffix}
"
read -e -p " 请输入新的 RPC 密钥: " aria2_RPC_passwd
echo
[[ -z "${aria2_RPC_passwd}" ]] && aria2_RPC_passwd=$(date +%s%N | md5sum | head -c 20)
if [[ "${aria2_passwd}" != "${aria2_RPC_passwd}" ]]; then
if [[ -z "${aria2_passwd}" ]]; then
echo -e "\nrpc-secret=${aria2_RPC_passwd}" >>${aria2_conf}
if [[ $? -eq 0 ]]; then
echo -e "${Info} 密钥修改成功!新密钥为:${Green_font_prefix}${aria2_RPC_passwd}${Font_color_suffix}(因为找不到旧配置参数,所以自动加入配置文件底部)"
echo -e "${Info} RPC 密钥修改成功!新密钥为:${Green_font_prefix}${aria2_RPC_passwd}${Font_color_suffix}(配置文件中缺少相关选项参数,已自动加入配置文件底部)"
if [[ ${read_123} != "1" ]]; then
Restart_aria2
fi
else
echo -e "${Error} 密钥修改失败!旧密钥为:${Green_font_prefix}${aria2_passwd}${Font_color_suffix}"
echo -e "${Error} RPC 密钥修改失败!旧密钥为:${Green_font_prefix}${aria2_passwd}${Font_color_suffix}"
fi
else
sed -i 's/^rpc-secret='${aria2_passwd}'/rpc-secret='${aria2_RPC_passwd}'/g' ${aria2_conf}
if [[ $? -eq 0 ]]; then
echo -e "${Info} 密钥修改成功!新密钥为:${Green_font_prefix}${aria2_RPC_passwd}${Font_color_suffix}"
echo -e "${Info} RPC 密钥修改成功!新密钥为:${Green_font_prefix}${aria2_RPC_passwd}${Font_color_suffix}"
if [[ ${read_123} != "1" ]]; then
Restart_aria2
fi
else
echo -e "${Error} 密钥修改失败!旧密钥为:${Green_font_prefix}${aria2_passwd}${Font_color_suffix}"
echo -e "${Error} RPC 密钥修改失败!旧密钥为:${Green_font_prefix}${aria2_passwd}${Font_color_suffix}"
fi
fi
else
echo -e "${Error} 新密钥与旧密钥一致,取消..."
echo -e "${Error} 与旧配置一致,无需修改..."
fi
}
Set_aria2_RPC_port() {
@ -328,15 +333,17 @@ Set_aria2_RPC_port() {
else
aria2_port_1=${aria2_port}
fi
echo -e "请输入要设置的 Aria2 RPC 端口(旧端口为:${Green_font_prefix}${aria2_port_1}${Font_color_suffix})"
read -e -p "(默认端口: 6800):" aria2_RPC_port
echo -e "
当前 RPC 端口为: ${Green_font_prefix}${aria2_port_1}${Font_color_suffix}
"
read -e -p " 请输入新的 RPC 端口(默认: 6800): " aria2_RPC_port
echo
[[ -z "${aria2_RPC_port}" ]] && aria2_RPC_port="6800"
if [[ "${aria2_port}" != "${aria2_RPC_port}" ]]; then
if [[ -z "${aria2_port}" ]]; then
echo -e "\nrpc-listen-port=${aria2_RPC_port}" >>${aria2_conf}
if [[ $? -eq 0 ]]; then
echo -e "${Info} 端口修改成功!新端口为:${Green_font_prefix}${aria2_RPC_port}${Font_color_suffix}(因为找不到旧配置参数,所以自动加入配置文件底部)"
echo -e "${Info} RPC 端口修改成功!新端口为:${Green_font_prefix}${aria2_RPC_port}${Font_color_suffix}(配置文件中缺少相关选项参数,已自动加入配置文件底部)"
Del_iptables
Add_iptables
Save_iptables
@ -344,12 +351,12 @@ Set_aria2_RPC_port() {
Restart_aria2
fi
else
echo -e "${Error} 端口修改失败!旧端口为:${Green_font_prefix}${aria2_port}${Font_color_suffix}"
echo -e "${Error} RPC 端口修改失败!旧端口为:${Green_font_prefix}${aria2_port}${Font_color_suffix}"
fi
else
sed -i 's/^rpc-listen-port='${aria2_port}'/rpc-listen-port='${aria2_RPC_port}'/g' ${aria2_conf}
if [[ $? -eq 0 ]]; then
echo -e "${Info} 端口修改成功!新端口为:${Green_font_prefix}${aria2_RPC_port}${Font_color_suffix}"
echo -e "${Info} RPC 端口修改成功!新端口为:${Green_font_prefix}${aria2_RPC_port}${Font_color_suffix}"
Del_iptables
Add_iptables
Save_iptables
@ -357,11 +364,11 @@ Set_aria2_RPC_port() {
Restart_aria2
fi
else
echo -e "${Error} 端口修改失败!旧端口为:${Green_font_prefix}${aria2_port}${Font_color_suffix}"
echo -e "${Error} RPC 端口修改失败!旧端口为:${Green_font_prefix}${aria2_port}${Font_color_suffix}"
fi
fi
else
echo -e "${Error} 新端口与旧端口一致,取消..."
echo -e "${Error} 与旧配置一致,无需修改..."
fi
}
Set_aria2_RPC_dir() {
@ -374,43 +381,41 @@ Set_aria2_RPC_dir() {
else
aria2_dir_1=${aria2_dir}
fi
echo -e "请输入要设置的 Aria2 文件下载位置(旧位置为:${Green_font_prefix}${aria2_dir_1}${Font_color_suffix})"
read -e -p "(默认位置: ${download_path}):" aria2_RPC_dir
echo -e "
当前下载目录为: ${Green_font_prefix}${aria2_dir_1}${Font_color_suffix}
"
read -e -p " 请输入新的下载目录(默认: ${download_path}): " aria2_RPC_dir
[[ -z "${aria2_RPC_dir}" ]] && aria2_RPC_dir="${download_path}"
mkdir -p ${aria2_RPC_dir}
echo
if [[ -d "${aria2_RPC_dir}" ]]; then
if [[ "${aria2_dir}" != "${aria2_RPC_dir}" ]]; then
if [[ -z "${aria2_dir}" ]]; then
echo -e "\ndir=${aria2_RPC_dir}" >>${aria2_conf}
if [[ $? -eq 0 ]]; then
echo -e "${Info} 位置修改成功!新位置为:${Green_font_prefix}${aria2_RPC_dir}${Font_color_suffix}(因为找不到旧配置参数,所以自动加入配置文件底部)"
if [[ ${read_123} != "1" ]]; then
Restart_aria2
fi
else
echo -e "${Error} 位置修改失败!旧位置为:${Green_font_prefix}${aria2_dir}${Font_color_suffix}"
if [[ "${aria2_dir}" != "${aria2_RPC_dir}" ]]; then
if [[ -z "${aria2_dir}" ]]; then
echo -e "\ndir=${aria2_RPC_dir}" >>${aria2_conf}
if [[ $? -eq 0 ]]; then
echo -e "${Info} 下载目录修改成功!新位置为:${Green_font_prefix}${aria2_RPC_dir}${Font_color_suffix}(配置文件中缺少相关选项参数,已自动加入配置文件底部)"
if [[ ${read_123} != "1" ]]; then
Restart_aria2
fi
else
aria2_dir_2=$(echo "${aria2_dir}" | sed 's/\//\\\//g')
aria2_RPC_dir_2=$(echo "${aria2_RPC_dir}" | sed 's/\//\\\//g')
sed -i 's/^dir='${aria2_dir_2}'/dir='${aria2_RPC_dir_2}'/g' ${aria2_conf}
sed -i "/^downloadpath=/c\downloadpath='${aria2_RPC_dir_2}'" ${aria2_conf_path}/*.sh
sed -i "/^DOWNLOAD_PATH=/c\DOWNLOAD_PATH='${aria2_RPC_dir_2}'" ${aria2_conf_path}/*.sh
if [[ $? -eq 0 ]]; then
echo -e "${Info} 位置修改成功!新位置为:${Green_font_prefix}${aria2_RPC_dir}${Font_color_suffix}"
if [[ ${read_123} != "1" ]]; then
Restart_aria2
fi
else
echo -e "${Error} 位置修改失败!旧位置为:${Green_font_prefix}${aria2_dir}${Font_color_suffix}"
fi
echo -e "${Error} 下载目录修改失败!旧位置为:${Green_font_prefix}${aria2_dir}${Font_color_suffix}"
fi
else
echo -e "${Error} 新位置与旧位置一致,取消..."
aria2_dir_2=$(echo "${aria2_dir}" | sed 's/\//\\\//g')
aria2_RPC_dir_2=$(echo "${aria2_RPC_dir}" | sed 's/\//\\\//g')
sed -i 's/^dir='${aria2_dir_2}'/dir='${aria2_RPC_dir_2}'/g' ${aria2_conf}
sed -i "/^downloadpath=/c\downloadpath='${aria2_RPC_dir_2}'" ${aria2_conf_path}/*.sh
sed -i "/^DOWNLOAD_PATH=/c\DOWNLOAD_PATH='${aria2_RPC_dir_2}'" ${aria2_conf_path}/*.sh
if [[ $? -eq 0 ]]; then
echo -e "${Info} 下载目录修改成功!新位置为:${Green_font_prefix}${aria2_RPC_dir}${Font_color_suffix}"
if [[ ${read_123} != "1" ]]; then
Restart_aria2
fi
else
echo -e "${Error} 下载目录修改失败!旧位置为:${Green_font_prefix}${aria2_dir}${Font_color_suffix}"
fi
fi
else
echo -e "${Error} 新位置文件夹不存在,请检查!新位置为:${Green_font_prefix}${aria2_RPC_dir}${Font_color_suffix}"
echo -e "${Error} 与旧配置一致,无需修改..."
fi
}
Set_aria2_RPC_passwd_port_dir() {
@ -520,7 +525,7 @@ View_Log() {
}
Clean_Log() {
[[ ! -e ${aria2_log} ]] && echo -e "${Error} Aria2 日志文件不存在 !" && exit 1
>${aria2_log}
echo >${aria2_log}
echo -e "${Info} Aria2 日志已清空 !"
}
crontab_update_status() {
@ -531,23 +536,23 @@ Update_bt_tracker_cron() {
check_crontab_installed_status
if [[ -z $(crontab_update_status) ]]; then
echo
echo -e "确定要开启 ${Green_font_prefix}自动更新 BT-Tracker${Font_color_suffix} 功能?(可能会增强 BT 下载速率)[Y/n] \c"
echo -e " 是否开启 ${Green_font_prefix}自动更新 BT-Tracker${Font_color_suffix} 功能?(可能会增强 BT 下载速率)[Y/n] \c"
read -e crontab_update_status_ny
[[ -z "${crontab_update_status_ny}" ]] && crontab_update_status_ny="y"
if [[ ${crontab_update_status_ny} == [Yy] ]]; then
crontab_update_start
else
echo && echo " 已取消..." && echo
echo && echo " 已取消..."
fi
else
echo
echo -e "确定要关闭 ${Red_font_prefix}自动更新 BT-Tracker${Font_color_suffix} 功能?[y/N] \c"
echo -e " 是否关闭 ${Red_font_prefix}自动更新 BT-Tracker${Font_color_suffix} 功能?[y/N] \c"
read -e crontab_update_status_ny
[[ -z "${crontab_update_status_ny}" ]] && crontab_update_status_ny="n"
if [[ ${crontab_update_status_ny} == [Yy] ]]; then
crontab_update_stop
else
echo && echo " 已取消..." && echo
echo && echo " 已取消..."
fi
fi
}
@ -742,6 +747,7 @@ case "$num" in
Update_bt_tracker_cron
;;
*)
echo "请输入正确数字 [0-12]"
echo
echo -e " ${Error} 请输入正确的数字"
;;
esac

Ładowanie…
Anuluj
Zapisz