luci-app-unblockneteasemusic-go: bump to v1.14
This commit is contained in:
parent
02382cd391
commit
ac47a44a00
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
local http = luci.http
|
||||
|
||||
mp = Map("unblockneteasemusic", translate("解除网易云音乐播放限制 (Golang)"))
|
||||
mp.description = translate("原理:采用 [酷我/酷狗/咪咕] 音源(后续有空补充),替换网易云音乐 灰色 歌曲链接<br/>具体使用方法参见:https://github.com/cnsilvan/luci-app-unblockneteasemusic<br/>提示:客户端网易云音乐能用就别升级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("请在客户端信任该证书。该证书由你设备自动生成,安全可靠<br/>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('删除证书,以便下次启动时生成,可用于解决过期证书等问题<br/><span style="color: red">%s</span>', translate("Couldn't delete file: ") .. sPath)
|
||||
return
|
||||
end
|
||||
delete.description = translate("删除证书,以便下次启动时生成,可用于解决过期证书等问题")
|
||||
end
|
||||
return mp
|
||||
|
||||
@ -0,0 +1,94 @@
|
||||
local http = luci.http
|
||||
|
||||
mp = Map("unblockneteasemusic", translate("解除网易云音乐播放限制 (Golang)"))
|
||||
mp.description = translate("原理:采用 [酷我/酷狗/咕咪] 音源(后续有空补充),替换网易云音乐 灰色 歌曲链接<br/>具体使用方法参见:https://github.com/cnsilvan/luci-app-unblockneteasemusic<br/>提示:客户端网易云音乐能用就别升级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("请在客户端信任该证书。该证书由你设备自动生成,安全可靠<br/>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('删除证书,以便下次启动时生成,可用于解决过期证书等问题<br/><span style="color: red">%s</span>', translate("Couldn't delete file: ") .. sPath)
|
||||
return
|
||||
end
|
||||
delete.description = translate("删除证书,以便下次启动时生成,可用于解决过期证书等问题")
|
||||
end
|
||||
|
||||
|
||||
return mp
|
||||
@ -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'
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
Loading…
Reference in New Issue
Block a user