files/bin/Check_Update.sh
zhao c2d74ad953 添加 bin/Check_Update.sh
Signed-off-by: zhao <zj18139624826@gmail.com>
2025-05-30 19:48:20 +08:00

139 lines
4.1 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# https://github.com/Lenyu2020/Actions-OpenWrt-x86
# Actions-OpenWrt-x86 By Lenyu 20210505
#path=$(dirname $(readlink -f $0))
# cd ${path}
#检测准备
if [ ! -f "/etc/lenyu_version" ]; then
echo
echo -e "\033[31m 该脚本在非Lenyu固件上运行为避免不必要的麻烦准备退出… \033[0m"
echo
exit 0
fi
rm -f /tmp/cloud_version
# 获取固件云端版本号、内核版本号信息
current_version=`cat /etc/lenyu_version`
wget -qO- -t1 -T2 "https://api.github.com/repos/Lenyu2020/Actions-OpenWrt-x86/releases/latest" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g;s/v//g' > /tmp/cloud_ts_version
if [ -s "/tmp/cloud_ts_version" ]; then
cloud_version=`cat /tmp/cloud_ts_version | cut -d _ -f 1`
cloud_kernel=`cat /tmp/cloud_ts_version | cut -d _ -f 2`
#固件下载地址
new_version=`cat /tmp/cloud_ts_version`
DEV_URL=https://github.com/Lenyu2020/Actions-OpenWrt-x86/releases/download/${new_version}/openwrt_x86-64-${new_version}_dev_Lenyu.img.gz
DEV_UEFI_URL=https://github.com/Lenyu2020/Actions-OpenWrt-x86/releases/download/${new_version}/openwrt_x86-64-${new_version}_uefi-gpt_dev_Lenyu.img.gz
openwrt_dev=https://github.com/Lenyu2020/Actions-OpenWrt-x86/releases/download/${new_version}/openwrt_dev.md5
openwrt_dev_uefi=https://github.com/Lenyu2020/Actions-OpenWrt-x86/releases/download/${new_version}/openwrt_dev_uefi.md5
else
echo "请检测网络或重试!"
exit 1
fi
####
Firmware_Type="$(grep 'DISTRIB_ARCH=' /etc/openwrt_release | cut -d \' -f 2)"
echo $Firmware_Type > /etc/lenyu_firmware_type
echo
if [[ "$cloud_kernel" =~ "4.19" ]]; then
echo
echo -e "\033[31m 该脚本在Lenyu固件Sta版本上运行目前只建议在Dev版本上运行准备退出… \033[0m"
echo
exit 0
fi
#md5值验证固件类型判断
if [ ! -d /sys/firmware/efi ];then
if [ "$current_version" != "$cloud_version" ];then
wget -P /tmp "$DEV_URL" -O /tmp/openwrt_x86-64-${new_version}_dev_Lenyu.img.gz
wget -P /tmp "$openwrt_dev" -O /tmp/openwrt_dev.md5
cd /tmp && md5sum -c openwrt_dev.md5
if [ $? != 0 ]; then
echo "您下载文件失败,请检查网络重试…"
sleep 4
exit
fi
Boot_type=logic
else
echo -e "\033[32m 本地已经是最新版本,还更个鸡巴毛啊… \033[0m"
echo
exit
fi
else
if [ "$current_version" != "$cloud_version" ];then
wget -P /tmp "$DEV_UEFI_URL" -O /tmp/openwrt_x86-64-${new_version}_uefi-gpt_dev_Lenyu.img.gz
wget -P /tmp "$openwrt_dev_uefi" -O /tmp/openwrt_dev_uefi.md5
cd /tmp && md5sum -c openwrt_dev_uefi.md5
if [ $? != 0 ]; then
echo "您下载文件失败,请检查网络重试…"
sleep 4
exit
fi
Boot_type=efi
else
echo -e "\033[32m 本地已经是最新版本,还更个鸡巴毛啊… \033[0m"
echo
exit
fi
fi
open_up()
{
echo
clear
read -n 1 -p " 您是否要保留配置升级保留选择Y,否则选N:" num1
echo
case $num1 in
Y|y)
echo
echo -e "\033[32m >>>正在准备保留配置升级,请稍后,等待系统重启…-> \033[0m"
echo
sleep 3
if [ ! -d /sys/firmware/efi ];then
sysupgrade /tmp/openwrt_x86-64-${new_version}_dev_Lenyu.img.gz
else
sysupgrade /tmp/openwrt_x86-64-${new_version}_uefi-gpt_dev_Lenyu.img.gz
fi
;;
n|N)
echo
echo -e "\033[32m >>>正在准备不保留配置升级,请稍后,等待系统重启…-> \033[0m"
echo
sleep 3
if [ ! -d /sys/firmware/efi ];then
sysupgrade -n /tmp/openwrt_x86-64-${new_version}_dev_Lenyu.img.gz
else
sysupgrade -n /tmp/openwrt_x86-64-${new_version}_uefi-gpt_dev_Lenyu.img.gz
fi
;;
*)
echo
echo -e "\033[31m err只能选择Y/N\033[0m"
echo
read -n 1 -p "请回车继续…"
echo
open_up
esac
}
open_op()
{
echo
read -n 1 -p " 您确定要升级吗升级选择Y,否则选N:" num1
echo
case $num1 in
Y|y)
open_up
;;
n|N)
echo
echo -e "\033[31m >>>您已选择退出固件升级,已经终止脚本…-> \033[0m"
echo
exit 1
;;
*)
echo
echo -e "\033[31m err只能选择Y/N\033[0m"
echo
read -n 1 -p "请回车继续…"
echo
open_op
esac
}
open_op
exit 0