V6.2.2 固件下载添加 ghproxy 镜像加速
This commit is contained in:
		
							parent
							
								
									35fca382ea
								
							
						
					
					
						commit
						9d9e3be18a
					
				|  | @ -56,24 +56,25 @@ SHOW_VARIABLE() { | ||||||
| 	cat <<EOF | 	cat <<EOF | ||||||
| 
 | 
 | ||||||
| 设备名称:		$(uname -n) / ${TARGET_PROFILE} | 设备名称:		$(uname -n) / ${TARGET_PROFILE} | ||||||
| 固件作者:		${Author} |  | ||||||
| 默认设备:		${Default_Device} |  | ||||||
| 软件架构:		${TARGET_SUBTARGET} |  | ||||||
| 固件版本:		${CURRENT_Version} | 固件版本:		${CURRENT_Version} | ||||||
|  | 固件作者:		${Author} | ||||||
|  | 软件架构:		${TARGET_SUBTARGET} | ||||||
| 作者仓库:		${Github} | 作者仓库:		${Github} | ||||||
| 源码仓库:		https://github.com/${Openwrt_Author}/${Openwrt_Repo_Name}:${Openwrt_Branch}	 | OpenWrt 源码:		https://github.com/${Openwrt_Author}/${Openwrt_Repo_Name}:${Openwrt_Branch}	 | ||||||
| Release API:		${Github_Tag_URL} | Release API:		${Github_API} | ||||||
| 固件格式-框架:		$(GET_VARIABLE AutoBuild_Firmware ${Default_Variable}) | 固件格式-框架:		$(GET_VARIABLE AutoBuild_Firmware ${Default_Variable}) | ||||||
| 固件名称-框架:		$(GET_VARIABLE Egrep_Firmware ${Default_Variable}) | 固件名称-框架:		$(GET_VARIABLE Egrep_Firmware ${Default_Variable}) | ||||||
| 默认下载地址:		${Github_Release_URL} |  | ||||||
| 固件保存位置:           ${FW_SAVE_PATH} |  | ||||||
| 固件格式:		${Firmware_Type} | 固件格式:		${Firmware_Type} | ||||||
|  | Release URL:		${Github_Release_URL} | ||||||
|  | FastGit URL:		${Release_FastGit_URL} | ||||||
|  | Github Proxy URL:	${Release_Goproxy_URL} | ||||||
|  | 固件保存位置:           ${FW_SAVE_PATH} | ||||||
| log 文件:		${log_Path}/AutoUpdate.log | log 文件:		${log_Path}/AutoUpdate.log | ||||||
| EOF | EOF | ||||||
| 	[[ ${TARGET_PROFILE} == x86_64 ]] && { | 	[[ ${TARGET_PROFILE} == x86_64 ]] && { | ||||||
| 		echo "引导模式:		${x86_64_Boot}" | 		echo "x86_64 引导模式:	${x86_64_Boot}" | ||||||
| 	} | 	} | ||||||
| 	EXIT 2 | 	EXIT 0 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| EXIT() { | EXIT() { | ||||||
|  | @ -139,17 +140,16 @@ LOAD_VARIABLE() { | ||||||
| 		} | 		} | ||||||
| 		shift | 		shift | ||||||
| 	done | 	done | ||||||
| 	[[ -z ${TARGET_PROFILE} && -n ${Default_Device} ]] && TARGET_PROFILE="${Default_Device}" |  | ||||||
| 	[[ -z ${TARGET_PROFILE} ]] && TARGET_PROFILE="$(jsonfilter -e '@.model.id' < /etc/board.json | tr ',' '_')" | 	[[ -z ${TARGET_PROFILE} ]] && TARGET_PROFILE="$(jsonfilter -e '@.model.id' < /etc/board.json | tr ',' '_')" | ||||||
| 	[[ -z ${TARGET_PROFILE} ]] && TIME r "获取设备名称失败,无法执行更新!" && EXIT 1 | 	[[ -z ${TARGET_PROFILE} ]] && TIME r "获取设备名称失败,无法执行更新!" && EXIT 1 | ||||||
| 	[[ -z ${CURRENT_Version} ]] && CURRENT_Version=未知 | 	[[ -z ${CURRENT_Version} ]] && CURRENT_Version=未知 | ||||||
| 	[[ -z ${FW_SAVE_PATH} ]] && FW_SAVE_PATH=/tmp/Downloads | 	[[ -z ${FW_SAVE_PATH} ]] && FW_SAVE_PATH=/tmp/Downloads | ||||||
| 	Github_Release_URL="${Github}/releases/download/AutoUpdate" | 	Github_Release_URL="${Github}/releases/download/AutoUpdate" | ||||||
| 	FW_Author="${Github##*com/}" | 	FW_Author="${Github##*com/}" | ||||||
| 	Github_Tag_URL="https://api.github.com/repos/${FW_Author}/releases/latest" | 	Github_API="https://api.github.com/repos/${FW_Author}/releases/latest" | ||||||
| 	Github_Proxy_URL="https://download.fastgit.org" | 	Release_URL="https://github.com/${FW_Author}/releases/download/AutoUpdate" | ||||||
| 	FW_NoProxy_URL="https://github.com/${FW_Author}/releases/download/AutoUpdate" | 	Release_FastGit_URL="https://download.fastgit.org/${FW_Author}/releases/download/AutoUpdate" | ||||||
| 	FW_Proxy_URL="${Github_Proxy_URL}/${FW_Author}/releases/download/AutoUpdate" | 	Release_Goproxy_URL="https://ghproxy.com/${Release_URL}" | ||||||
| 	case ${TARGET_PROFILE} in | 	case ${TARGET_PROFILE} in | ||||||
| 	x86_64) | 	x86_64) | ||||||
| 		case ${Firmware_Type} in | 		case ${Firmware_Type} in | ||||||
|  | @ -286,7 +286,7 @@ FW_LOGGER() { | ||||||
| 		FW_Version="$1" | 		FW_Version="$1" | ||||||
| 	;; | 	;; | ||||||
| 	esac | 	esac | ||||||
| 	${Wget_Head} --timeout 3 ${FW_NoProxy_URL}/Update_Logs.json -O ${Update_Logs_Path}/Update_Logs.json | 	${Downloader} ${Release_URL}/Update_Logs.json -O ${Update_Logs_Path}/Update_Logs.json | ||||||
| 	[[ $? == 0 ]] && { | 	[[ $? == 0 ]] && { | ||||||
| 		Update_Log=$(jsonfilter -e '@["'"""${TARGET_PROFILE}"""'"]["'"""${FW_Version}"""'"]' < ${Update_Logs_Path}/Update_Logs.json) | 		Update_Log=$(jsonfilter -e '@["'"""${TARGET_PROFILE}"""'"]["'"""${FW_Version}"""'"]' < ${Update_Logs_Path}/Update_Logs.json) | ||||||
| 		rm -f ${Update_Logs_Path}/Update_Logs.json | 		rm -f ${Update_Logs_Path}/Update_Logs.json | ||||||
|  | @ -306,7 +306,7 @@ FW_LOGGER() { | ||||||
| GET_CLOUD_VERSION() { | GET_CLOUD_VERSION() { | ||||||
| 	[[ ! -d ${FW_SAVE_PATH} ]] && mkdir -p ${FW_SAVE_PATH} | 	[[ ! -d ${FW_SAVE_PATH} ]] && mkdir -p ${FW_SAVE_PATH} | ||||||
| 	rm -f ${FW_SAVE_PATH}/Github_Tags | 	rm -f ${FW_SAVE_PATH}/Github_Tags | ||||||
| 	${Wget_Head} --timeout 5 ${Github_Tag_URL} -O ${FW_SAVE_PATH}/Github_Tags | 	${Downloader} ${Github_API} -O ${FW_SAVE_PATH}/Github_Tags | ||||||
| 	[[ ! $? == 0 || ! -f ${FW_SAVE_PATH}/Github_Tags ]] && { | 	[[ ! $? == 0 || ! -f ${FW_SAVE_PATH}/Github_Tags ]] && { | ||||||
| 		[[ $1 == check ]] && echo "获取失败" > /tmp/Cloud_Version | 		[[ $1 == check ]] && echo "获取失败" > /tmp/Cloud_Version | ||||||
| 		TIME r "检查更新失败,请稍后重试!" | 		TIME r "检查更新失败,请稍后重试!" | ||||||
|  | @ -349,7 +349,7 @@ PREPARE_UPGRADES() { | ||||||
| 		} | 		} | ||||||
| 		[[ $1 == -P || $1 == --proxy ]] && { | 		[[ $1 == -P || $1 == --proxy ]] && { | ||||||
| 			Proxy_Mode=1 | 			Proxy_Mode=1 | ||||||
| 			Proxy_Echo="[FastGit] " | 			Proxy_Echo="[Proxy] " | ||||||
| 		} | 		} | ||||||
| 		[[ $1 =~ path= ]] && { | 		[[ $1 =~ path= ]] && { | ||||||
| 			[[ -z $(echo $1 | cut -d "=" -f2) ]] && TIME r "固件保存目录不能为空!" && EXIT 1 | 			[[ -z $(echo $1 | cut -d "=" -f2) ]] && TIME r "固件保存目录不能为空!" && EXIT 1 | ||||||
|  | @ -389,7 +389,7 @@ PREPARE_UPGRADES() { | ||||||
| 		MSG_2=" [强制刷写]" | 		MSG_2=" [强制刷写]" | ||||||
| 		Upgrade_Option="${Upgrade_Option} -F" | 		Upgrade_Option="${Upgrade_Option} -F" | ||||||
| 	} | 	} | ||||||
| 	[[ $Test_Mode == 1 ]] && Wget_Head="wget --no-check-certificate" | 	[[ ${Test_Mode} == 1 ]] && Downloader="wget --no-check-certificate --timeout 5" | ||||||
| 	TIME g "执行: ${Proxy_Echo}${MSG}${TAIL_MSG}${MSG_2}" | 	TIME g "执行: ${Proxy_Echo}${MSG}${TAIL_MSG}${MSG_2}" | ||||||
| 	if [[ $(CHECK_PKG curl) == true && ${Proxy_Mode} == 0 ]];then | 	if [[ $(CHECK_PKG curl) == true && ${Proxy_Mode} == 0 ]];then | ||||||
| 		Google_Check=$(curl -I -s --connect-timeout 3 google.com -w %{http_code} | tail -n1) | 		Google_Check=$(curl -I -s --connect-timeout 3 google.com -w %{http_code} | tail -n1) | ||||||
|  | @ -404,8 +404,8 @@ PREPARE_UPGRADES() { | ||||||
| 		EXIT 1 | 		EXIT 1 | ||||||
| 	} | 	} | ||||||
| 	[[ ${Proxy_Mode} == 1 ]] && { | 	[[ ${Proxy_Mode} == 1 ]] && { | ||||||
| 		FW_URL="${FW_Proxy_URL}" | 		FW_URL="${Release_FastGit_URL}" | ||||||
| 	} || FW_URL="${FW_NoProxy_URL}" | 	} || FW_URL="${Release_URL}" | ||||||
| 	cat <<EOF | 	cat <<EOF | ||||||
| 
 | 
 | ||||||
| 固件作者: ${FW_Author%/*} | 固件作者: ${FW_Author%/*} | ||||||
|  | @ -433,23 +433,23 @@ EOF | ||||||
| 	;; | 	;; | ||||||
| 	esac | 	esac | ||||||
| 	Retry_Times=5 | 	Retry_Times=5 | ||||||
| 	TIME "正在下载固件,请耐心等待..." | 	TIME "${Proxy_Echo}正在下载固件,请耐心等待..." | ||||||
| 	while [[ ${Retry_Times} -ge 0 ]];do | 	while [[ ${Retry_Times} -ge 0 ]];do | ||||||
| 		if [[ ! ${PROXY_Mode} == 1 ]];then | 		if [[ ! ${PROXY_Mode} == 1 && ${Retry_Times} == 4 ]];then | ||||||
| 			[[ ${Retry_Times} == 4 ]] && { | 			TIME g "尝试使用 [FastGit] 镜像加速下载固件!" | ||||||
| 				TIME g "尝试使用 [FastGit] 镜像加速下载固件!" | 			FW_URL="${Release_FastGit_URL}" | ||||||
| 				FW_URL="${FW_Proxy_URL}" |  | ||||||
| 			} |  | ||||||
| 		fi | 		fi | ||||||
| 		[[ ${Retry_Times} == 2 ]] && { | 		[[ ${Retry_Times} == 3 ]] && { | ||||||
| 				FW_URL="${FW_NoProxy_URL}" | 				TIME g "尝试使用 [Github Proxy] 镜像加速下载固件!" | ||||||
|  | 				FW_URL="${Release_Goproxy_URL}" | ||||||
| 		} | 		} | ||||||
|  | 		[[ ${Retry_Times} == 2 ]] && FW_URL="${Github_Release_URL}" | ||||||
| 		if [[ ${Retry_Times} == 0 ]];then | 		if [[ ${Retry_Times} == 0 ]];then | ||||||
| 			TIME r "固件下载失败,请检查网络后重试!" | 			TIME r "固件下载失败,请检查网络后重试!" | ||||||
| 			EXIT 1 | 			EXIT 1 | ||||||
| 		else | 		else | ||||||
| 			${Wget_Head} --timeout 5 "${FW_URL}/${FW_Name}" -O ${FW_SAVE_PATH}/${FW_Name} | 			echo "${Downloader} "${FW_URL}/${FW_Name}" -O ${FW_SAVE_PATH}/${FW_Name}" | ||||||
| 			[[ $? == 0 ]] && TIME y "固件下载成功!" && break | 			[[ ! $? == 0 ]] && TIME y "固件下载成功!" && break | ||||||
| 		fi | 		fi | ||||||
| 		Retry_Times=$((${Retry_Times} - 1)) | 		Retry_Times=$((${Retry_Times} - 1)) | ||||||
| 		TIME r "下载失败,剩余尝试次数: ${Retry_Times} 次" | 		TIME r "下载失败,剩余尝试次数: ${Retry_Times} 次" | ||||||
|  | @ -633,7 +633,7 @@ AutoUpdate_Main() { | ||||||
| 				[[ -f ${FILE} ]] && FILE="${FILE}-$(RANDOM 5)" | 				[[ -f ${FILE} ]] && FILE="${FILE}-$(RANDOM 5)" | ||||||
| 			} || { | 			} || { | ||||||
| 				[[ ! -d $1 ]] && mkdir -p $1 | 				[[ ! -d $1 ]] && mkdir -p $1 | ||||||
| 				FILE="$1/Openwrt-Backups-$(date +%Y-%m-%d)-$(RANDOM 5)" | 				FILE="$1/$(uname -n)-Backups-$(date +%Y-%m-%d)-$(RANDOM 5)" | ||||||
| 			} | 			} | ||||||
| 			[[ ! ${FILE} =~ tar.gz ]] && FILE="${FILE}.tar.gz" | 			[[ ! ${FILE} =~ tar.gz ]] && FILE="${FILE}.tar.gz" | ||||||
| 			TIME "Saving config files to [${FILE}] ..." | 			TIME "Saving config files to [${FILE}] ..." | ||||||
|  | @ -678,19 +678,19 @@ AutoUpdate_Main() { | ||||||
| 	done | 	done | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export Version=V6.2.1 | Version=V6.2.2 | ||||||
| export log_Path=/tmp | log_Path=/tmp | ||||||
| export Update_Logs_Path=/tmp | Update_Logs_Path=/tmp | ||||||
| export Upgrade_Command=sysupgrade | Upgrade_Command=sysupgrade | ||||||
| export Default_Variable=/etc/AutoBuild/Default_Variable | Default_Variable=/etc/AutoBuild/Default_Variable | ||||||
| export Custom_Variable=/etc/AutoBuild/Custom_Variable | Custom_Variable=/etc/AutoBuild/Custom_Variable | ||||||
| export Wget_Head="wget -q --no-check-certificate" | Downloader="wget -q --no-check-certificate --timeout 5" | ||||||
| 
 | 
 | ||||||
| export White="\e[0m" | White="\e[0m" | ||||||
| export Yellow="\e[33m" | Yellow="\e[33m" | ||||||
| export Red="\e[31m" | Red="\e[31m" | ||||||
| export Blue="\e[34m" | Blue="\e[34m" | ||||||
| export Grey="\e[36m" | Grey="\e[36m" | ||||||
| export Green="\e[32m" | Green="\e[32m" | ||||||
| 
 | 
 | ||||||
| AutoUpdate_Main $* | AutoUpdate_Main $* | ||||||
		Loading…
	
		Reference in New Issue