diff --git a/package/lean/luci-app-unblockneteasemusic-go/Makefile b/package/lean/luci-app-unblockneteasemusic-go/Makefile
index 8b11c61c59..f7b3a54d3a 100644
--- a/package/lean/luci-app-unblockneteasemusic-go/Makefile
+++ b/package/lean/luci-app-unblockneteasemusic-go/Makefile
@@ -1,11 +1,11 @@
# Copyright (C) 2020 Silvan
include $(TOPDIR)/rules.mk
-LUCI_TITLE:=LuCI support for UnblockNeteaseMusic Go
-LUCI_DEPENDS:=+bash +busybox +coreutils +coreutils-nohup +curl +dnsmasq-full +openssl-util +ipset +UnblockNeteaseMusic-Go
+LUCI_TITLE:=LuCI support for UnblockNeteaseMusic-Go
+LUCI_DEPENDS:=+bash +busybox +unzip +coreutils +coreutils-nohup +curl +dnsmasq-full +ipset +luci-compat +openssl-util +UnblockNeteaseMusic-Go
LUCI_PKGARCH:=all
PKG_NAME:=luci-app-unblockneteasemusic-go
-PKG_VERSION:=1.9
+PKG_VERSION:=1.14
PKG_RELEASE:=1
PKG_MAINTAINER:=https://github.com/cnsilvan/luci-app-unblockneteasemusic
diff --git a/package/lean/luci-app-unblockneteasemusic-go/luasrc/controller/unblockneteasemusic.lua b/package/lean/luci-app-unblockneteasemusic-go/luasrc/controller/unblockneteasemusic.lua
index 06bd1fbd99..023e60dca1 100644
--- a/package/lean/luci-app-unblockneteasemusic-go/luasrc/controller/unblockneteasemusic.lua
+++ b/package/lean/luci-app-unblockneteasemusic-go/luasrc/controller/unblockneteasemusic.lua
@@ -9,10 +9,11 @@ function index()
return
end
- entry({"admin", "services", "unblockneteasemusic"},firstchild(), _("解除网易云音乐播放限制"), 50).dependent = false
+ entry({"admin", "services", "unblockneteasemusic"},firstchild(), _("解除云音乐播放限制"), 50).dependent = false
entry({"admin", "services", "unblockneteasemusic", "general"},cbi("unblockneteasemusic"), _("基本设定"), 1)
- entry({"admin", "services", "unblockneteasemusic", "log"},form("unblockneteasemusic_log"), _("日志"), 2)
+ entry({"admin", "services", "unblockneteasemusic", "senior"},cbi("unblockneteasemusic_senior"), _("高级设定"), 2)
+ entry({"admin", "services", "unblockneteasemusic", "log"},form("unblockneteasemusic_log"), _("日志"), 3)
entry({"admin", "services", "unblockneteasemusic", "status"},call("act_status")).leaf=true
end
diff --git a/package/lean/luci-app-unblockneteasemusic-go/luasrc/model/cbi/unblockneteasemusic.lua b/package/lean/luci-app-unblockneteasemusic-go/luasrc/model/cbi/unblockneteasemusic.lua
index 77e3d2d32c..f28636fc89 100644
--- a/package/lean/luci-app-unblockneteasemusic-go/luasrc/model/cbi/unblockneteasemusic.lua
+++ b/package/lean/luci-app-unblockneteasemusic-go/luasrc/model/cbi/unblockneteasemusic.lua
@@ -1,4 +1,3 @@
-local http = luci.http
mp = Map("unblockneteasemusic", translate("解除网易云音乐播放限制 (Golang)"))
mp.description = translate("原理:采用 [酷我/酷狗/咪咕] 音源(后续有空补充),替换网易云音乐 灰色 歌曲链接
具体使用方法参见:https://github.com/cnsilvan/luci-app-unblockneteasemusic
提示:客户端网易云音乐能用就别升级app,最新版本不一定能用")
@@ -48,63 +47,7 @@ hijack.description = translate("如果使用Hosts劫持,请将HTTP/HTTPS端口
hijack.default = "dont_hijack"
hijack.rmempty = false
-search_limit = s:option(Value, "search_limit", translate("搜索结果限制"))
-search_limit.description = translate("在搜索页面显示其他平台搜索结果个数,可填(0-3)")
-search_limit.default = "0"
-search_limit.rmempty = false
-daemon_enable = s:option(Flag, "daemon_enable", translate("启用进程守护"))
-daemon_enable.description = translate("开启后,附属程序会自动检测主程序运行状态,在主程序退出时自动重启")
-daemon_enable.default = 0
-daemon_enable.rmempty = false
-endpoint_enable = s:option(Flag, "endpoint_enable", translate("启用地址转换"))
-endpoint_enable.description = translate("开启后,设备需要信任证书,经测试ios设备需要开启,android设备使用咪咕源下载时需要开启,其他情况无法使用时再开启尝试")
-endpoint_enable.default = 0
-endpoint_enable.rmempty = false
-force_best_quality = s:option(Flag, "force_best_quality", translate("强制音质优先"))
-force_best_quality.description = translate("开启后,客户端选择音质将失效")
-force_best_quality.default = 0
-force_best_quality.rmempty = false
-
-delete = s:option(Button,"_delete", translate("删除根证书"))
-delete.description = translate("删除证书,以便下次启动时生成,可用于解决过期证书等问题")
-delete.inputstyle = "reload"
-delete.write = function()
- delete_()
-end
-download = s:option(Button,"_download", translate("下载根证书"))
-download.description = translate("请在客户端信任该证书。该证书由你设备自动生成,安全可靠
IOS信任证书步骤:1. 安装证书--设置-描述文件-安装 2. 通用-关于本机-证书信任设置-启动完全信任")
-download.inputstyle = "reload"
-download.write = function()
- download_()
-end
-
-function download_()
- local sFile, block
- sFile=nixio.open("/usr/share/UnblockNeteaseMusic/ca.crt","r")
- http.header('Content-Disposition','attachment; filename="ca.crt"')
- http.prepare_content("application/octet-stream")
- while true do
- block=sFile:read(nixio.const.buffersize)
- if(not block)or(#block==0)then
- break
- else
- http.write(block)
- end
- end
- sFile:close()
- http.close()
-end
-function delete_()
- local sPath, fd
- sPath = "/usr/share/UnblockNeteaseMusic/server.crt"
- fd = os.remove(sPath)
- if not fd then
- delete.description = string.format('删除证书,以便下次启动时生成,可用于解决过期证书等问题
%s', translate("Couldn't delete file: ") .. sPath)
- return
- end
- delete.description = translate("删除证书,以便下次启动时生成,可用于解决过期证书等问题")
-end
return mp
diff --git a/package/lean/luci-app-unblockneteasemusic-go/luasrc/model/cbi/unblockneteasemusic_senior.lua b/package/lean/luci-app-unblockneteasemusic-go/luasrc/model/cbi/unblockneteasemusic_senior.lua
new file mode 100644
index 0000000000..a0848d95d7
--- /dev/null
+++ b/package/lean/luci-app-unblockneteasemusic-go/luasrc/model/cbi/unblockneteasemusic_senior.lua
@@ -0,0 +1,94 @@
+local http = luci.http
+
+mp = Map("unblockneteasemusic", translate("解除网易云音乐播放限制 (Golang)"))
+mp.description = translate("原理:采用 [酷我/酷狗/咕咪] 音源(后续有空补充),替换网易云音乐 灰色 歌曲链接
具体使用方法参见:https://github.com/cnsilvan/luci-app-unblockneteasemusic
提示:客户端网易云音乐能用就别升级app,最新版本不一定能用")
+mp:section(SimpleSection).template = "unblockneteasemusic/unblockneteasemusic_status"
+
+s = mp:section(TypedSection, "unblockneteasemusic")
+s.anonymous=true
+s.addremove=false
+
+daemon_enable = s:option(Flag, "daemon_enable", translate("启用进程守护"))
+daemon_enable.description = translate("开启后,附属程序会自动检测主程序运行状态,在主程序退出时自动重启")
+daemon_enable.default = 0
+daemon_enable.rmempty = false
+
+search_limit = s:option(Value, "search_limit", translate("搜索结果限制"))
+search_limit.description = translate("在搜索页面显示其他平台搜索结果个数,可填(0-3)")
+search_limit.default = "0"
+search_limit.rmempty = false
+
+endpoint_enable = s:option(Flag, "endpoint_enable", translate("启用地址转换"))
+endpoint_enable.description = translate("开启后,设备需要信任证书,经测试ios设备需要开启,android设备使用咪咕源下载时需要开启,其他情况无法使用时再开启尝试")
+endpoint_enable.default = 0
+endpoint_enable.rmempty = false
+
+force_best_quality = s:option(Flag, "force_best_quality", translate("强制音质优先"))
+force_best_quality.description = translate("开启后,客户端选择音质将失效")
+force_best_quality.default = 0
+force_best_quality.rmempty = false
+
+auto_update = s:option(Flag, "auto_update", translate("核心库自动更新"))
+auto_update.description = translate("")
+auto_update.default = 0
+auto_update.rmempty = false
+
+delete = s:option(Button,"_delete", translate("删除根证书"))
+delete.description = translate("删除证书,以便下次启动时生成,可用于解决过期证书等问题")
+delete.inputstyle = "reload"
+delete.write = function()
+ delete_()
+end
+download = s:option(Button,"_download", translate("下载根证书"))
+download.description = translate("请在客户端信任该证书。该证书由你设备自动生成,安全可靠
IOS信任证书步骤:1. 安装证书--设置-描述文件-安装 2. 通用-关于本机-证书信任设置-启动完全信任")
+download.inputstyle = "reload"
+download.write = function()
+ download_()
+end
+
+
+local currentTagCMD="UnblockNeteaseMusic -v |grep Version|awk '{print $2}'"
+local currentRuntimeCMD="UnblockNeteaseMusic -v |grep runtime|awk -F\\( '{print $2}'|awk '{print $3,$4}'|sed -E 's/\)//g'|sed 's/[ \t]*$//g'"
+
+function excute_cmd(cmd)
+ local t = io.popen(cmd)
+ local ret = t:read("*all")
+ t:close()
+ return ret
+end
+function currentVersion()
+ local current=excute_cmd(currentTagCMD)
+ local runtime=excute_cmd(currentRuntimeCMD)
+ auto_update.description=string.format("当前版本:%s(%s)",current,runtime)
+end
+currentVersion()
+
+function download_()
+ local sFile, block
+ sFile=nixio.open("/usr/share/UnblockNeteaseMusic/ca.crt","r")
+ http.header('Content-Disposition','attachment; filename="ca.crt"')
+ http.prepare_content("application/octet-stream")
+ while true do
+ block=sFile:read(nixio.const.buffersize)
+ if(not block)or(#block==0)then
+ break
+ else
+ http.write(block)
+ end
+ end
+ sFile:close()
+ http.close()
+end
+function delete_()
+ local sPath, fd
+ sPath = "/usr/share/UnblockNeteaseMusic/server.crt"
+ fd = os.remove(sPath)
+ if not fd then
+ delete.description = string.format('删除证书,以便下次启动时生成,可用于解决过期证书等问题
%s', translate("Couldn't delete file: ") .. sPath)
+ return
+ end
+ delete.description = translate("删除证书,以便下次启动时生成,可用于解决过期证书等问题")
+end
+
+
+return mp
diff --git a/package/lean/luci-app-unblockneteasemusic-go/root/etc/config/unblockneteasemusic b/package/lean/luci-app-unblockneteasemusic-go/root/etc/config/unblockneteasemusic
index 4933e6a7da..377de8f351 100644
--- a/package/lean/luci-app-unblockneteasemusic-go/root/etc/config/unblockneteasemusic
+++ b/package/lean/luci-app-unblockneteasemusic-go/root/etc/config/unblockneteasemusic
@@ -6,3 +6,7 @@ config unblockneteasemusic
option music_source 'default'
option hijack_ways 'use_ipset'
option daemon_enable '0'
+ option search_limit '0'
+ option endpoint_enable '0'
+ option force_best_quality '0'
+ option auto_update '0'
diff --git a/package/lean/luci-app-unblockneteasemusic-go/root/etc/hotplug.d/iface/99-unblockneteasemusic b/package/lean/luci-app-unblockneteasemusic-go/root/etc/hotplug.d/iface/99-unblockneteasemusic
index b8fb321325..3f0b2f4b76 100755
--- a/package/lean/luci-app-unblockneteasemusic-go/root/etc/hotplug.d/iface/99-unblockneteasemusic
+++ b/package/lean/luci-app-unblockneteasemusic-go/root/etc/hotplug.d/iface/99-unblockneteasemusic
@@ -6,9 +6,3 @@ if [ "$(uci get unblockneteasemusic.@unblockneteasemusic[0].enable)" == "1" ]; t
echo "$(date -R) ifup--尝试重启应用..." >>"${log_file}"
/etc/init.d/unblockneteasemusic restart
fi
-# curl -s "http://httpdns.n.netease.com/httpdns/v2/d?domain=music.163.com,interface.music.163.com,interface3.music.163.com,apm.music.163.com,apm3.music.163.com,clientlog.music.163.com,clientlog3.music.163.com" | grep -Eo '[0-9]+?\.[0-9]+?\.[0-9]+?\.[0-9]+?' | sort | uniq | awk '{print "ipset add unblockneteasemusic4 "$1}' | bash >"/dev/null" 2>&1
-# domains="music.163.com"
-# for domain in $domains; do
-# ip=$(ping6 ${domain} -c 1 | sed '1{s/[^(]*(//;s/).*//;q}')
-# ipset add unblockneteasemusic6 $ip
-# done
diff --git a/package/lean/luci-app-unblockneteasemusic-go/root/etc/init.d/unblockneteasemusic b/package/lean/luci-app-unblockneteasemusic-go/root/etc/init.d/unblockneteasemusic
index 657774c049..e719469f4d 100755
--- a/package/lean/luci-app-unblockneteasemusic-go/root/etc/init.d/unblockneteasemusic
+++ b/package/lean/luci-app-unblockneteasemusic-go/root/etc/init.d/unblockneteasemusic
@@ -13,6 +13,8 @@ music_customize_source="$(uci get unblockneteasemusic.@unblockneteasemusic[0].mu
hijack_ways="$(uci get unblockneteasemusic.@unblockneteasemusic[0].hijack_ways)"
endpoint="$(uci get unblockneteasemusic.@unblockneteasemusic[0].endpoint_enable)"
force_best_quality="$(uci get unblockneteasemusic.@unblockneteasemusic[0].force_best_quality)"
+search_limit="$(uci get unblockneteasemusic.@unblockneteasemusic[0].search_limit)"
+auto_update="$(uci get unblockneteasemusic.@unblockneteasemusic[0].auto_update)"
extFile="/usr/share/UnblockNeteaseMusic/extFile.txt"
serverCrt="/usr/share/UnblockNeteaseMusic/server.crt"
serverKey="/usr/share/UnblockNeteaseMusic/server.key"
@@ -50,22 +52,31 @@ set_ipset() {
iptables -t nat -A cloud_unblockneteasemusic -p tcp --dport 80 -j REDIRECT --to-ports "${http_port}"
iptables -t nat -A cloud_unblockneteasemusic -p tcp --dport 443 -j REDIRECT --to-ports "${https_port}"
iptables -t nat -I PREROUTING -p tcp -m set --match-set unblockneteasemusic dst -j cloud_unblockneteasemusic
- # ipv6
- if ! ipset list unblockneteasemusic6 >"/dev/null"; then ipset create unblockneteasemusic6 hash:ip family inet6; fi
- domains="music.163.com"
- for domain in $domains; do
- ip=$(ping6 ${domain} -c 1 | sed '1{s/[^(]*(//;s/).*//;q}')
- ipset add unblockneteasemusic6 $ip
- done
- ipset add unblockneteasemusic unblockneteasemusic6
- ip6tables -t nat -N cloud_unblockneteasemusic
- ip6tables -t nat -A cloud_unblockneteasemusic -d ::/8 -j RETURN
- ip6tables -t nat -A cloud_unblockneteasemusic -d FE80::/10 -j RETURN
- ip6tables -t nat -A cloud_unblockneteasemusic -d FC00::/7 -j RETURN
- ip6tables -t nat -A cloud_unblockneteasemusic -d FEC0::/10 -j RETURN
- ip6tables -t nat -A cloud_unblockneteasemusic -p tcp --dport 80 -j REDIRECT --to-ports "${http_port}"
- ip6tables -t nat -A cloud_unblockneteasemusic -p tcp --dport 443 -j REDIRECT --to-ports "${https_port}"
- ip6tables -t nat -I PREROUTING -p tcp -m set --match-set unblockneteasemusic dst -j cloud_unblockneteasemusic
+ ip6tables -h
+ if [ $? -eq 0 ]; then
+ # ipv6
+ if ! ipset list unblockneteasemusic6 >"/dev/null"; then ipset create unblockneteasemusic6 hash:ip family inet6; fi
+ domains="music.163.com"
+ for domain in $domains; do
+ ip=$(ping6 ${domain} -c 1 | sed '1{s/[^(]*(//;s/).*//;q}')
+ if [ -n "$ip" ]; then
+ ipset add unblockneteasemusic6 $ip
+ else
+ echo "ping6 bad address,please check IPv6 DNS forwards.if IPv6 DNS forwards is enabled, please restart" >>"${logFile}"
+ fi
+ done
+ ipset add unblockneteasemusic unblockneteasemusic6
+ ip6tables -t nat -N cloud_unblockneteasemusic
+ ip6tables -t nat -A cloud_unblockneteasemusic -d ::/8 -j RETURN
+ ip6tables -t nat -A cloud_unblockneteasemusic -d FE80::/10 -j RETURN
+ ip6tables -t nat -A cloud_unblockneteasemusic -d FC00::/7 -j RETURN
+ ip6tables -t nat -A cloud_unblockneteasemusic -d FEC0::/10 -j RETURN
+ ip6tables -t nat -A cloud_unblockneteasemusic -p tcp --dport 80 -j REDIRECT --to-ports "${http_port}"
+ ip6tables -t nat -A cloud_unblockneteasemusic -p tcp --dport 443 -j REDIRECT --to-ports "${https_port}"
+ ip6tables -t nat -I PREROUTING -p tcp -m set --match-set unblockneteasemusic dst -j cloud_unblockneteasemusic
+ else
+ echo "ip6tables is not supported" >>"${logFile}"
+ fi
mkdir -p /var/etc
cat <<-EOF >>"/var/etc/unblockneteasemusic.include"
/etc/init.d/unblockneteasemusic restart
@@ -74,12 +85,15 @@ set_ipset() {
iptables -t nat -D PREROUTING -p tcp -m set --match-set unblockneteasemusic dst -j cloud_unblockneteasemusic
iptables -t nat -F cloud_unblockneteasemusic
iptables -t nat -X cloud_unblockneteasemusic
- ip6tables -t nat -D PREROUTING -p tcp -m set --match-set unblockneteasemusic dst -j cloud_unblockneteasemusic
- ip6tables -t nat -F cloud_unblockneteasemusic
- ip6tables -t nat -X cloud_unblockneteasemusic
ipset destroy unblockneteasemusic
ipset destroy unblockneteasemusic4
- ipset destroy unblockneteasemusic6
+ ip6tables -h
+ if [ $? -eq 0 ]; then
+ ip6tables -t nat -D PREROUTING -p tcp -m set --match-set unblockneteasemusic dst -j cloud_unblockneteasemusic
+ ip6tables -t nat -F cloud_unblockneteasemusic
+ ip6tables -t nat -X cloud_unblockneteasemusic
+ ipset destroy unblockneteasemusic6
+ fi
echo "" >"/var/etc/unblockneteasemusic.include"
rm -f "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic.conf"
/etc/init.d/dnsmasq reload >"/dev/null" 2>&1
@@ -108,15 +122,10 @@ set_hosts() {
}
createCertificate() {
echo "create certificate..." >>"${logFile}"
- # 生成 CA 私钥
openssl genrsa -out "${caKey}" 2048
- # 生成 CA 证书
openssl req -x509 -new -nodes -key "${caKey}" -sha256 -days 825 -out "${caCrt}" -subj "/C=CN/CN=UnblockNeteaseMusic Root CA/O=UnblockNeteaseMusic"
- # 生成服务器私钥
openssl genrsa -out "${serverKey}" 2048
- # 生成证书签发请求
openssl req -new -sha256 -key "${serverKey}" -out "${serverCsr}" -subj "/C=CN/L=Hangzhou/O=NetEase (Hangzhou) Network Co., Ltd/OU=IT Dept./CN=*.music.163.com"
- # 使用 CA 签发服务器证书
touch "${extFile}"
echo "authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
@@ -124,6 +133,7 @@ keyUsage=digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage=serverAuth,OCSPSigning
subjectAltName=DNS:music.163.com,DNS:*.music.163.com" >"${extFile}"
openssl x509 -req -extfile "${extFile}" -days 825 -in "${serverCsr}" -CA "${caCrt}" -CAkey "${caKey}" -CAcreateserial -out "${serverCrt}"
+ rm -f "${extFile}"
}
start() {
stop >>"${logFile}" 2>&1
@@ -151,10 +161,11 @@ start() {
set_hosts >"/dev/null" 2>&1
fi
else
- echo "$(date -R) 网络连接异常" >>"${logFile}"
+ echo "$(date -R) network connection error" >>"${logFile}"
fi
sed -i '/UnblockNeteaseMusic/d' /etc/crontabs/root
echo "*/1 * * * * /usr/share/UnblockNeteaseMusic/log_check.sh" >>"/etc/crontabs/root"
+ echo "0 5 * * * /usr/share/UnblockNeteaseMusic/version_check.sh" >>"/etc/crontabs/root"
/etc/init.d/cron restart >"/dev/null" 2>&1
}
diff --git a/package/lean/luci-app-unblockneteasemusic-go/root/usr/share/UnblockNeteaseMusic/log_check.sh b/package/lean/luci-app-unblockneteasemusic-go/root/usr/share/UnblockNeteaseMusic/log_check.sh
index 8e910cd708..7311aa8573 100755
--- a/package/lean/luci-app-unblockneteasemusic-go/root/usr/share/UnblockNeteaseMusic/log_check.sh
+++ b/package/lean/luci-app-unblockneteasemusic-go/root/usr/share/UnblockNeteaseMusic/log_check.sh
@@ -1,12 +1,12 @@
#!/bin/bash
-log_max_size="128" #使用KB计算
+log_max_size="128" #KB
log_file="/tmp/unblockneteasemusic.log"
((log_size = "$(ls -l "${log_file}" | awk -F ' ' '{print $5}')" / "1024"))
(("${log_size}" >= "${log_max_size}")) && echo "" >"${log_file}"
if [ "$(uci get unblockneteasemusic.@unblockneteasemusic[0].daemon_enable)" == "1" ]; then
if [ -z "$(ps | grep "UnblockNeteaseMusic" | grep -v "grep")" ]; then
- echo "$(date -R) 尝试重启应用..." >>"${log_file}"
+ echo "$(date -R) try restart..." >>"${log_file}"
/etc/init.d/unblockneteasemusic restart
fi
fi
diff --git a/package/lean/luci-app-unblockneteasemusic-go/root/usr/share/UnblockNeteaseMusic/version_check.sh b/package/lean/luci-app-unblockneteasemusic-go/root/usr/share/UnblockNeteaseMusic/version_check.sh
new file mode 100755
index 0000000000..be0a5ad3c3
--- /dev/null
+++ b/package/lean/luci-app-unblockneteasemusic-go/root/usr/share/UnblockNeteaseMusic/version_check.sh
@@ -0,0 +1,62 @@
+#!/bin/bash
+log_file="/tmp/unblockneteasemusic.log"
+json_file="/tmp/unblockneteasemusic_latest.json"
+if [ "$(uci get unblockneteasemusic.@unblockneteasemusic[0].auto_update)" == "1" ]; then
+ echo "$(date -R) check latest version ..." >>"${log_file}"
+ curl -s -o "${json_file}" https://api.github.com/repos/cnsilvan/UnblockNeteaseMusic/releases/latest
+ if [ $? -ne 0 ]; then
+ echo "$(date -R) curl api.github.com failed" >>"${log_file}"
+ exit 1
+ fi
+ currentTagCMD="$(UnblockNeteaseMusic -v | grep Version | awk '{print $2}')"
+ currentRuntimeCMD="$(UnblockNeteaseMusic -v | grep runtime | awk -F\( '{print $2}' | awk '{print $3,$4}' | sed -E 's/\)//g'| sed 's/[ \t]*$//g')"
+ latestTagCMD="$(cat ${json_file} | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/')"
+ GOOSS="$(echo $currentRuntimeCMD | awk '{print $1}')"
+ GOOS="linux"
+ GOARCH="amd64"
+ suffix="$(echo $currentRuntimeCMD | awk '{print $2}')"
+ if [ ! -n "$suffix" ]; then
+ suffix=".zip"
+ fi
+ if [ "$suffix" == "hardfloat" ]; then
+ suffix=".zip"
+ fi
+ if [ -n "$(echo $GOOSS | awk -F/ '{print $1}')" ]; then
+ GOOS="$(echo $GOOSS | awk -F/ '{print $1}')"
+ fi
+ if [ -n "$(echo $GOOSS | awk -F/ '{print $2}')" ]; then
+ GOARCH="$(echo $GOOSS | awk -F/ '{print $2}')"
+ fi
+ downloadUrl="$(cat ${json_file} | grep '\"browser_download_url\":' | grep ${GOOS} | grep ${GOARCH} | grep ${suffix} | sed -E 's/.*\"([^\"]+)\".*/\1/')"
+ if [ ! -n "${downloadUrl}" ]; then
+ echo "$(date -R) not found ${currentRuntimeCMD} on GitHub,please go to https://github.com/cnsilvan/luci-app-unblockneteasemusic/issues to open a issue " >>"${log_file}"
+ exit 1
+ fi
+ if [ "${currentTagCMD}" == "${latestTagCMD}" ]; then
+ echo "$(date -R) current version: ${currentTagCMD}(${currentRuntimeCMD}) is the latest version" >>"${log_file}"
+ else
+ echo "$(date -R) start downloading the latest version[ ${currentTagCMD}(${currentRuntimeCMD}) >> ${latestTagCMD}(${currentRuntimeCMD}) ]..." >>"${log_file}"
+ echo "$(date -R) ${downloadUrl}" >>"${log_file}"
+ curl -LJO ${downloadUrl}
+ if [ $? -eq 0 ]; then
+ echo "$(date -R) download successful" >>"${log_file}"
+ unzip $(find . -type f -name "*UnblockNeteaseMusic*.zip") -d ./UnblockNeteaseMusic/
+ rm -f $(find . -type f -name "*UnblockNeteaseMusic*.zip")
+ chmod +x ./UnblockNeteaseMusic/UnblockNeteaseMusic
+ if [ -n "$(./UnblockNeteaseMusic/UnblockNeteaseMusic -v | grep Version | awk '{print $2}')" ]; then
+ mv ./UnblockNeteaseMusic/UnblockNeteaseMusic /usr/bin/
+ rm -rf ./UnblockNeteaseMusic/
+ echo "$(date -R) update successful" >>"${log_file}"
+ /etc/init.d/unblockneteasemusic restart
+ else
+ rm -rf ./UnblockNeteaseMusic/
+ echo "$(date -R) update failed. please check if the downloaded version is correct" >>"${log_file}"
+ fi
+ else
+ echo "$(date -R) download failed" >>"${log_file}"
+
+ fi
+
+ fi
+
+fi