Browse Source

try to show log when download failed

rufengsuixing 5 years ago
parent
commit
ff63273111

+ 4 - 1
luasrc/controller/AdGuardHome.lua

@@ -24,7 +24,7 @@ function act_status()
 end
 function do_update()
 	nixio.fs.writefile("/var/run/lucilogpos","0")
-	luci.sys.exec("(touch /var/run/update_core ; sh /usr/share/AdGuardHome/update_core.sh >/tmp/AdGuardHome_update.log;rm /var/run/update_core) &")
+	luci.sys.exec("(rm /var/run/update_core_error ; touch /var/run/update_core ; sh /usr/share/AdGuardHome/update_core.sh >/tmp/AdGuardHome_update.log 2>&1 || touch /var/run/update_core_error ;rm /var/run/update_core) &")
 	luci.http.prepare_content("application/json")
 	luci.http.write('')
 end
@@ -39,6 +39,9 @@ function get_log()
 		end
 		logfile="/tmp/AdGuardHometmp.log"
 		nixio.fs.writefile("/var/run/AdGuardHomesyslog","1")
+	elseif not nixio.fs.access(logfile) then
+		luci.http.write("log file not created\n")
+		return
 	end
 	luci.http.prepare_content("text/plain; charset=utf-8")
 	logpos=nixio.fs.readfile("/var/run/lucilogpos")

+ 10 - 4
luasrc/view/AdGuardHome/AdGuardHome_check.htm

@@ -13,13 +13,13 @@
 function apply_update(){
 	XHR.get('<%=url([[admin]], [[services]], [[AdGuardHome]], [[doupdate]])%>',null,function(x, data){}
 		);
+	var	btn = document.getElementById('apply_update_button');
+	btn.disabled = true;
+	btn.value    = '<%:Check...%>';
 	poll_check();
 	return
 }
 function poll_check(){
-var	btn = document.getElementById('apply_update_button');
-	btn.disabled = true;
-	btn.value    = '<%:Check...%>';
 var lv = document.getElementById('cbid.logview.1.conf');
 	lv.style.display="inline"
 XHR.poll(3, '<%=url([[admin]], [[services]], [[AdGuardHome]], [[check]])%>', null,
@@ -32,6 +32,7 @@ XHR.poll(3, '<%=url([[admin]], [[services]], [[AdGuardHome]], [[check]])%>', nul
 				if (this.XHR._q[j].url == '<%=url([[admin]], [[services]], [[AdGuardHome]], [[check]])%>')
 				{
 				this.XHR._q.splice(j,1);
+				var	btn = document.getElementById('apply_update_button');
 				btn.disabled = false;
 				btn.value    = '<%:Updated%>';
 				document.getElementById('updateversion').innerText="<%=uci:get("AdGuardHome","AdGuardHome","version")%>"
@@ -43,7 +44,12 @@ XHR.poll(3, '<%=url([[admin]], [[services]], [[AdGuardHome]], [[check]])%>', nul
 		}
 	}
 );}
-<% if nixio.fs.access("/var/run/update_core")then %>
+<% if nixio.fs.access("/var/run/update_core") then %>
+var	btn = document.getElementById('apply_update_button');
+	btn.disabled = true;
+	btn.value    = '<%:Check...%>';
+poll_check();
+<%elseif nixio.fs.access("/var/run/update_core_error") then %>
 poll_check();
 <%else%>
 var	btn = document.getElementById('apply_update_button');

+ 2 - 1
root/etc/init.d/AdGuardHome

@@ -328,8 +328,9 @@ start_service() {
 	
 	if [ ! -f "$binpath" ]; then
 		do_redirect 0
+		rm /var/run/update_core_error 2>/dev/null
 		touch /var/run/update_core
-		sh /usr/share/AdGuardHome/update_core.sh >/tmp/AdGuardHome_update.log
+		sh /usr/share/AdGuardHome/update_core.sh 2>&1 >/tmp/AdGuardHome_update.log || touch /var/run/update_core_error
 		rm /var/run/update_core
 		exit 0
 	fi 

+ 11 - 4
root/usr/share/AdGuardHome/update_core.sh

@@ -67,7 +67,7 @@ check_latest_version(){
 					echo -e "finished"
 				fi
 			fi
-			exit 3
+			exit 0
 	fi
 }
 doupx(){
@@ -120,11 +120,15 @@ doupx(){
 	;;
 	esac
 	upx_latest_ver="$(wget -O- https://api.github.com/repos/upx/upx/releases/latest 2>/dev/null|grep -E 'tag_name' |grep -E '[0-9.]+' -o 2>/dev/null)"
-	wget-ssl --no-check-certificate -t 1 -T 10 -O  /tmp/upx-${upx_latest_ver}-${Arch}_linux.tar.xz "https://github.com/upx/upx/releases/download/v${upx_latest_ver}/upx-${upx_latest_ver}-${Arch}_linux.tar.xz"  >/dev/null 2>&1
+	wget-ssl --no-check-certificate -t 1 -T 10 -O  /tmp/upx-${upx_latest_ver}-${Arch}_linux.tar.xz "https://github.com/upx/upx/releases/download/v${upx_latest_ver}/upx-${upx_latest_ver}-${Arch}_linux.tar.xz" 2>&1
 	#tar xvJf
-	which xz || (opkg update && opkg install xz) || exit 1
+	which xz || (opkg update && opkg install xz) || (echo "xz download fail" && exit 1)
 	mkdir -p /tmp/upx-${upx_latest_ver}-${Arch}_linux
 	xz -d -c /tmp/upx-${upx_latest_ver}-${Arch}_linux.tar.xz| tar -x -C "/tmp" >/dev/null 2>&1
+	if [ ! -e "/tmp/upx-${upx_latest_ver}-${Arch}_linux/upx" ]; then
+		echo -e "Failed to download upx." 
+		exit 1
+	fi
 	rm /tmp/upx-${upx_latest_ver}-${Arch}_linux.tar.xz
 }
 doupdate_core(){
@@ -181,7 +185,10 @@ doupdate_core(){
 	;;
 	esac
 	echo -e "start download ${latest_ver}/AdGuardHome_linux_${Arch}.tar.gz" 
-	wget-ssl --no-check-certificate -t 1 -T 10 -O /tmp/AdGuardHomeupdate/AdGuardHome_linux_${Arch}.tar.gz "https://github.com/AdguardTeam/AdGuardHome/releases/download/${latest_ver}/AdGuardHome_linux_${Arch}.tar.gz"
+	wget-ssl --no-check-certificate -t 2 -T 20 -O /tmp/AdGuardHomeupdate/AdGuardHome_linux_${Arch}.tar.gz "https://github.com/AdguardTeam/AdGuardHome/releases/download/${latest_ver}/AdGuardHome_linux_${Arch}.tar.gz" 2>&1
+	if [ "$?" != "0" ]; then
+		echo "download failed"
+	fi
 	tar -zxf "/tmp/AdGuardHomeupdate/AdGuardHome_linux_${Arch}.tar.gz" -C "/tmp/AdGuardHomeupdate/"
 	if [ ! -e "/tmp/AdGuardHomeupdate/AdGuardHome" ]; then
 		echo -e "Failed to download core."