mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2025-12-10 07:44:50 +01:00
75 lines
1.8 KiB
Bash
75 lines
1.8 KiB
Bash
#!/bin/sh
|
|
|
|
. /usr/share/libubox/jshn.sh
|
|
|
|
if [ -z $1 ] ; then
|
|
echo "No argument"
|
|
exit 1
|
|
fi
|
|
|
|
if [ $(echo $1|grep -o "," | wc -l) -eq 0 ] ; then
|
|
url=$1
|
|
else
|
|
url=$(echo $1|cut -d',' -f1)
|
|
a=$(echo $1|cut -d',' -f2)
|
|
b=$(echo $1|cut -d',' -f3)
|
|
c=$(echo $1|cut -d',' -f4)
|
|
fi
|
|
|
|
echo "url" $url
|
|
echo "a" $a
|
|
echo "b" $b
|
|
echo "c" $c
|
|
|
|
currdate=$(date +"%Y-%m-%d")
|
|
|
|
active=0
|
|
if [ -z $a ] ; then
|
|
active=1
|
|
elif [ $a ] && [ $b ] && [ $a -lt 25 ] ; then
|
|
#Time
|
|
begin=$(date +%s -d"$currdate $a")
|
|
now=$(date +%s)
|
|
end=$((begin+3600*$b))
|
|
if [ $now -gt $begin ] && [ $now -lt $end ] ; then
|
|
active=1
|
|
fi
|
|
elif [ $a ] && [ $b ] && [ $c ] && [ $a -gt 25 ] ; then
|
|
#Date
|
|
y=$(echo $a| cut -c1-4)
|
|
m=$(echo $a| cut -c5-6)
|
|
d=$(echo $a| cut -c7-8)
|
|
begin=$(date +%s -d"$y-$m-$d $b")
|
|
now=$(date +%s)
|
|
end=$((begin+3600*$c))
|
|
if [ $now -gt $begin ] && [ $now -lt $end ] ; then
|
|
active=1
|
|
fi
|
|
else
|
|
echo "Bad format"
|
|
exit 1
|
|
fi
|
|
|
|
sofwareminuspath=${url##*/}
|
|
|
|
if [ $url ] && [ $active -eq 1 ]; then
|
|
echo "Software version to download $sofwareminuspath"
|
|
local sysinfo=$(ubus call router quest "{ \"info\": \"system\" }")
|
|
json_load "$sysinfo"
|
|
json_get_var firmware firmware
|
|
json_get_var filesystem filesystem
|
|
if [ "$filesystem" == "JFFS2" ] ; then
|
|
firmware=$firmware.w
|
|
else
|
|
firmware=$firmware.y
|
|
fi
|
|
if [ "$sofwareminuspath" == "${sofwareminuspath/$firmware/}" ] ; then
|
|
echo "Image found $url will start flashing"
|
|
/sbin/sysupgrade -v $url
|
|
else
|
|
echo "Will not update software, already up to date"
|
|
fi
|
|
fi
|
|
|
|
|
|
|