From 603e4809882f3c44823961b54d7d06b85bde6ca4 Mon Sep 17 00:00:00 2001 From: P3TERX Date: Sun, 17 May 2020 15:40:23 +0800 Subject: [PATCH] Version 2.3.0: Optimize the experience in mainland China. Fuck GFW! --- aria2.sh | 67 +++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 47 insertions(+), 20 deletions(-) diff --git a/aria2.sh b/aria2.sh index b639fbd..581a338 100644 --- a/aria2.sh +++ b/aria2.sh @@ -3,13 +3,13 @@ # https://github.com/P3TERX/aria2.sh # Description: Aria2 One-click installation management script # System Required: CentOS/Debian/Ubuntu -# Version: 2.2.5 +# Version: 2.3.0 # Author: Toyo # Maintainer: P3TERX # Blog: https://p3terx.com #============================================================= -sh_ver="2.2.5" +sh_ver="2.3.0" PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH aria2_conf_path="/root/.aria2" @@ -76,7 +76,12 @@ check_new_ver() { echo -e "${Info} 请输入 Aria2 版本号,格式如:[ 1.35.0 ],获取地址:[ https://github.com/P3TERX/aria2-builder/releases ]" read -e -p "默认回车自动获取最新版本号:" aria2_new_ver if [[ -z ${aria2_new_ver} ]]; then - aria2_new_ver=$(wget -qO- https://api.github.com/repos/P3TERX/aria2-builder/releases/latest | grep -o '"tag_name": ".*"' | head -n 1 | cut -d'"' -f4) + aria2_new_ver=$( + { + wget -t2 -T3 -qO- "https://api.github.com/repos/P3TERX/aria2-builder/releases/latest" || + wget -t2 -T3 -qO- "https://gh-api.p3terx.com/repos/P3TERX/aria2-builder/releases/latest" + } | grep -o '"tag_name": ".*"' | head -n 1 | cut -d'"' -f4 + ) if [[ -z ${aria2_new_ver} ]]; then echo -e "${Error} Aria2 最新版本获取失败,请手动获取最新版本号[ https://github.com/P3TERX/aria2-builder/releases ]" read -e -p "请输入版本号 [ 格式如 1.35.0 ] :" aria2_new_ver @@ -120,7 +125,11 @@ Download_aria2() { echo -e "${Error} 不支持此 CPU 架构。" exit 1 fi - wget -O- "https://github.com/P3TERX/aria2-builder/releases/download/${aria2_new_ver}/aria2-${aria2_new_ver%_*}-static-linux-${ARCH}.tar.gz" | tar -zx + DOWNLOAD_URL="https://github.com/P3TERX/aria2-builder/releases/download/${aria2_new_ver}/aria2-${aria2_new_ver%_*}-static-linux-${ARCH}.tar.gz" + { + wget -t2 -T3 -O- "${DOWNLOAD_URL}" || + wget -t2 -T3 -O- "https://gh-acc.p3terx.com/${DOWNLOAD_URL}" + } | tar -zx [[ ! -s "aria2c" ]] && echo -e "${Error} Aria2 下载失败 !" && exit 1 [[ ${update_dl} = "update" ]] && rm -f "${aria2c}" mv aria2c /usr/local/bin @@ -130,19 +139,29 @@ Download_aria2() { } Download_aria2_conf() { mkdir -p "${aria2_conf_path}" && cd "${aria2_conf_path}" - wget -N "https://raw.githubusercontent.com/P3TERX/aria2.conf/master/aria2.conf" + wget -N -t2 -T3 "https://p3terx.github.io/aria2.conf/aria2.conf" || + wget -N -t2 -T3 "https://aria2c.now.sh/aria2.conf" || + wget -N -t2 -T3 "https://gh.p3terx.workers.dev/aria2.conf/master/aria2.conf" [[ ! -s "aria2.conf" ]] && echo -e "${Error} Aria2 配置文件下载失败 !" && rm -rf "${aria2_conf_path}" && exit 1 - wget -N "https://raw.githubusercontent.com/P3TERX/aria2.conf/master/autoupload.sh" + wget -N -t2 -T3 "https://p3terx.github.io/aria2.conf/autoupload.sh" || + wget -N -t2 -T3 "https://aria2c.now.sh/autoupload.sh" || + wget -N -t2 -T3 "https://gh.p3terx.workers.dev/aria2.conf/master/autoupload.sh" [[ ! -s "autoupload.sh" ]] && echo -e "${Error} 附加功能脚本[autoupload.sh]下载失败 !" && rm -rf "${aria2_conf_path}" && exit 1 - wget -N "https://raw.githubusercontent.com/P3TERX/aria2.conf/master/delete.aria2.sh" + wget -N -t2 -T3 "https://p3terx.github.io/aria2.conf/delete.aria2.sh" || + wget -N -t2 -T3 "https://aria2c.now.sh/delete.aria2.sh" || + wget -N -t2 -T3 "https://gh.p3terx.workers.dev/aria2.conf/master/delete.aria2.sh" [[ ! -s "delete.aria2.sh" ]] && echo -e "${Error} 附加功能脚本[delete.aria2.sh]下载失败 !" && rm -rf "${aria2_conf_path}" && exit 1 - wget -N "https://raw.githubusercontent.com/P3TERX/aria2.conf/master/delete.sh" + wget -N -t2 -T3 "https://p3terx.github.io/aria2.conf/delete.sh" || + wget -N -t2 -T3 "https://aria2c.now.sh/delete.sh" || + wget -N -t2 -T3 "https://gh.p3terx.workers.dev/aria2.conf/master/delete.sh" [[ ! -s "delete.sh" ]] && echo -e "${Error} 附加功能脚本[delete.sh]下载失败 !" && rm -rf "${aria2_conf_path}" && exit 1 - wget -N "https://raw.githubusercontent.com/P3TERX/aria2.conf/master/info.sh" - [[ ! -s "info.sh" ]] && echo -e "${Error} 附加功能脚本[info.sh]下载失败 !" && rm -rf "${aria2_conf_path}" && exit 1 - wget -N "https://raw.githubusercontent.com/P3TERX/aria2.conf/master/dht.dat" + wget -N -t2 -T3 "https://p3terx.github.io/aria2.conf/dht.dat" || + wget -N -t2 -T3 "https://aria2c.now.sh/dht.dat" || + wget -N -t2 -T3 "https://gh.p3terx.workers.dev/aria2.conf/master/dht.dat" [[ ! -s "dht.dat" ]] && echo -e "${Error} Aria2 DHT(IPv4)文件下载失败 !" && rm -rf "${aria2_conf_path}" && exit 1 - wget -N "https://raw.githubusercontent.com/P3TERX/aria2.conf/master/dht6.dat" + wget -N -t2 -T3 "https://p3terx.github.io/aria2.conf/dht6.dat" || + wget -N -t2 -T3 "https://aria2c.now.sh/dht6.dat" || + wget -N -t2 -T3 "https://gh.p3terx.workers.dev/aria2.conf/master/dht6.dat" [[ ! -s "dht6.dat" ]] && echo -e "${Error} Aria2 DHT(IPv6)文件下载失败 !" && rm -rf "${aria2_conf_path}" && exit 1 touch aria2.session chmod +x *.sh @@ -153,16 +172,24 @@ Download_aria2_conf() { } Service_aria2() { if [[ ${release} = "centos" ]]; then - if ! wget https://raw.githubusercontent.com/P3TERX/aria2.sh/master/service/aria2_centos -O /etc/init.d/aria2; then - echo -e "${Error} Aria2服务 管理脚本下载失败 !" && exit 1 - fi + wget -N -t2 -T3 "https://raw.githubusercontent.com/P3TERX/aria2.sh/master/service/aria2_centos" -O /etc/init.d/aria2 || + wget -N -t2 -T3 "https://cdn.jsdelivr.net/gh/P3TERX/aria2.sh/service/aria2_centos" -O /etc/init.d/aria2 || + wget -N -t2 -T3 "https://gh.p3terx.workers.dev/aria2.sh/master/service/aria2_centos" -O /etc/init.d/aria2 + [[ ! -s /etc/init.d/aria2 ]] && { + echo -e "${Error} Aria2服务 管理脚本下载失败 !" + exit 1 + } chmod +x /etc/init.d/aria2 chkconfig --add aria2 chkconfig aria2 on else - if ! wget https://raw.githubusercontent.com/P3TERX/aria2.sh/master/service/aria2_debian -O /etc/init.d/aria2; then - echo -e "${Error} Aria2服务 管理脚本下载失败 !" && exit 1 - fi + wget -N -t2 -T3 "https://raw.githubusercontent.com/P3TERX/aria2.sh/master/service/aria2_debian" -O /etc/init.d/aria2 || + wget -N -t2 -T3 "https://cdn.jsdelivr.net/gh/P3TERX/aria2.sh/service/aria2_debian" -O /etc/init.d/aria2 || + wget -N -t2 -T3 "https://gh.p3terx.workers.dev/aria2.sh/master/service/aria2_debian" -O /etc/init.d/aria2 + [[ ! -s /etc/init.d/aria2 ]] && { + echo -e "${Error} Aria2服务 管理脚本下载失败 !" + exit 1 + } chmod +x /etc/init.d/aria2 update-rc.d -f aria2 defaults fi @@ -171,10 +198,10 @@ Service_aria2() { Installation_dependency() { if [[ ${release} = "centos" ]]; then yum update - yum install nano ca-certificates findutils tar gzip dpkg -y + yum install nano ca-certificates findutils jq tar gzip dpkg -y else apt-get update - apt-get install nano ca-certificates findutils tar gzip dpkg -y + apt-get install nano ca-certificates findutils jq tar gzip dpkg -y fi wget -qO- git.io/ca-certificates.sh | bash }