/
upgradeRouter.sh
executable file
·40 lines (36 loc) · 1004 Bytes
/
upgradeRouter.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/bash
# cd the directory
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
cd $DIR
checkState=false
checkFirmware() {
luciVersion=$(cat ./latestVersion)
[ "$1" = "u" ] && {
checkState=true
return
}
githubLatest=$(curl -so- https://raw.githubusercontent.com/defead/xiaomi4ag-RouterSnap/main/latestVersion)
[ $githubLatest = $luciVersion ] && {
echo $(date '+%F %T') "[ Latest: ${githubLatest} ] No need to update!"
checkState=false
return
} || {
checkState=true
luciVersion=$githubLatest
}
}
updateFirmware() {
echo --------
echo $(date '+%F %T') "Upgrading begins..."
git pull
scp ./firmware/snap/$luciVersion root@192.168.0.1:/tmp
ssh root@192.168.0.1 sysupgrade -v /tmp/$luciVersion
echo $(date '+%F %T') "Upgrading finishes..."
echo --------
}
main() {
checkFirmware "$@"
# $checkState && echo $luciVersion
$checkState && updateFirmware
}
main "$@"