V5.7 新增参数 -p: 优先使用 FastGit 加速下载固件,支持同时使用多个参数

-p 更新固件 [保留配置] [FastGit] 镜像加速
-np 更新固件 [不保留配置] [FastGit] 镜像加速
-fp 强制更新固件 [保留配置] [FastGit] 镜像加速
-up 适用于定时更新 LUCI 的参数 [保留配置] [FastGit] 镜像加速
This commit is contained in:
Hyy2001X 2021-05-01 14:27:02 +08:00
parent c3e97e50ac
commit 93ce11e403
1 changed files with 33 additions and 21 deletions

View File

@ -8,26 +8,29 @@ Version=V5.7
Shell_Helper() { Shell_Helper() {
cat <<EOF cat <<EOF
使用方法: $0 [<更新参数>...] 使用方法: $0 [<更新参数><更新附加参数>]
$0 [<设置参数>...] [-c] [-b] <额外参数> $0 [<设置参数>...] [-c] [-boot] <额外参数>
$0 [<其他>...] [-l] [-d] $0 [<其他>...] [-l] [-d] [-help]
更新参数: 更新参数:
-n 更新固件 [不保留配置] -n 更新固件 [不保留配置]
-f | -force 强制更新固件,即跳过版本号验证,自动下载以及安装必要软件包 [保留配置] -f 强制更新固件,即跳过版本号验证,自动下载以及安装必要软件包 [保留配置]
-u 适用于定时更新 LUCI 的参数 [保留配置] -u 适用于定时更新 LUCI 的参数 [保留配置]
更新附加参数:
-p 优先使用 [FastGit] 镜像加速
设置参数: 设置参数:
-c [额外参数:<Github 地址>] 更换 Github 检查更新以及固件下载地址 -c [额外参数:<Github 地址>] 更换 Github 检查更新以及固件下载地址
-b | -boot [额外参数:<引导方式 UEFI/Legacy>] 指定 x86 设备下载使用 UEFI/Legacy 引导的固件 [危险] -b | -boot [额外参数:<引导方式 UEFI/Legacy>] 指定 x86 设备下载使用 UEFI/Legacy 引导的固件 [危险]
其他: 其他:
-l | -list 列出所有信息 -l | -list 列出设备信息
-d | -del 清除固件下载缓存 -d | -del 清除固件下载缓存
-h | -help 打印帮助信息 -h | -help 打印帮助信息
EOF EOF
exit 1 exit 0
} }
List_Info() { List_Info() {
@ -50,7 +53,7 @@ EOF
echo "EFI 引导: ${EFI_Mode}" echo "EFI 引导: ${EFI_Mode}"
echo "固件压缩: ${Compressed_Firmware}" echo "固件压缩: ${Compressed_Firmware}"
} }
exit exit 0
} }
Install_Pkg() { Install_Pkg() {
@ -137,24 +140,33 @@ esac
cd /etc cd /etc
clear && echo "Openwrt-AutoUpdate Script ${Version}" clear && echo "Openwrt-AutoUpdate Script ${Version}"
if [[ -z "${Input_Option}" ]];then if [[ -z "${Input_Option}" ]];then
Upgrade_Options="-q" && TIME && echo "执行: 保留配置更新固件[静默模式]" Upgrade_Options="-q"
TIME && echo "执行: 保留配置更新固件"
else else
case ${Input_Option} in case ${Input_Option} in
-n | -f | -force | -u) -n | -f | -u | -np | -pn | -fp | -pf | -up | -pu | -p)
[[ "${Input_Option}" =~ p ]] && {
PROXY_URL="${_PROXY_URL}"
PROXY_ECHO="[FastGit] "
} || PROXY_ECHO=""
case ${Input_Option} in case ${Input_Option} in
-n) -n | -np | -pn)
TIME && echo "执行: 更新固件(不保留配置)" TIME && echo "${PROXY_ECHO}执行: 更新固件(不保留配置)"
Upgrade_Options="-n" Upgrade_Options="-n"
;; ;;
-f | -force) -f | -pf | -fp)
Force_Update=1 Force_Update=1
Upgrade_Options="-q" Upgrade_Options="-q"
TIME && echo "执行: 强制更新固件(保留配置)" TIME && echo "${PROXY_ECHO}执行: 强制更新固件(保留配置)"
;; ;;
-u) -u | -pu | -up)
AutoUpdate_Mode=1 AutoUpdate_Mode=1
Upgrade_Options="-q" Upgrade_Options="-q"
;; ;;
-p | -pq | -qp)
Upgrade_Options="-q"
TIME && echo "${PROXY_ECHO}执行: 保留配置更新固件"
;;
esac esac
;; ;;
-c) -c)
@ -175,14 +187,14 @@ else
TIME && echo "固件下载缓存清理完成!" TIME && echo "固件下载缓存清理完成!"
exit 0 exit 0
;; ;;
-h | --help) -h | -help)
Shell_Helper Shell_Helper
;; ;;
-b | -boot) -b | -boot)
[[ -z "${Input_Other}" ]] && Shell_Helper [[ -z "${Input_Other}" ]] && Shell_Helper
case "${Input_Other}" in case "${Input_Other}" in
UEFI | Legacy) UEFI | Legacy)
echo "${Input_Other}" > openwrt_boot echo "${Input_Other}" > /etc/openwrt_boot
sed -i '/openwrt_boot/d' /etc/sysupgrade.conf sed -i '/openwrt_boot/d' /etc/sysupgrade.conf
echo -e "\n/etc/openwrt_boot" >> /etc/sysupgrade.conf echo -e "\n/etc/openwrt_boot" >> /etc/sysupgrade.conf
TIME && echo "固件引导方式已指定为: ${Input_Other}!" TIME && echo "固件引导方式已指定为: ${Input_Other}!"
@ -337,4 +349,4 @@ sysupgrade ${Upgrade_Options} ${Firmware}
[[ $? -ne 0 ]] && { [[ $? -ne 0 ]] && {
TIME && echo "固件刷写失败,请尝试手动更新固件!" TIME && echo "固件刷写失败,请尝试手动更新固件!"
exit 1 exit 1
} }