From 472002f75830172a9bd0cfa774a565baaa64ecc1 Mon Sep 17 00:00:00 2001 From: CN_SZTL Date: Mon, 10 Feb 2020 13:56:19 +0800 Subject: [PATCH] luci-app-unblockneteasemusic(-mini): sync with upstream source --- .../Makefile | 6 +- .../model/cbi/unblockneteasemusic-mini.lua | 11 ++- .../root/etc/config/unblockneteasemusic-mini | 2 + .../root/etc/init.d/unblockneteasemusic-mini | 72 +++++++++++-------- .../etc/ppp/ip-up.d/unblockneteasemusic-mini | 2 +- .../luci-app-unblockneteasemusic/Makefile | 2 +- .../root/etc/init.d/unblockneteasemusic | 18 +++-- .../root/etc/ppp/ip-up.d/unblockneteasemusic | 2 +- .../usr/share/unblockneteasemusic/update.sh | 67 ++++++++--------- 9 files changed, 103 insertions(+), 79 deletions(-) diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-mini/Makefile b/package/ctcgfw/luci-app-unblockneteasemusic-mini/Makefile index 7006e76854..d088952458 100644 --- a/package/ctcgfw/luci-app-unblockneteasemusic-mini/Makefile +++ b/package/ctcgfw/luci-app-unblockneteasemusic-mini/Makefile @@ -8,9 +8,9 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-unblockneteasemusic-mini -PKG_VERSION:=1.1 -PKG_RELEASE:=4 -LUCI_TITLE:=LuCI support for UnblockNeteaseMusic +PKG_VERSION:=1.2 +PKG_RELEASE:=1 +LUCI_TITLE:=LuCI support for UnblockNeteaseMusic(-Go) LUCI_DEPENDS:=+busybox +dnsmasq-full +ipset +iptables +wget LUCI_PKGARCH:=all diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-mini/luasrc/model/cbi/unblockneteasemusic-mini.lua b/package/ctcgfw/luci-app-unblockneteasemusic-mini/luasrc/model/cbi/unblockneteasemusic-mini.lua index 01a456a6fb..750634aded 100644 --- a/package/ctcgfw/luci-app-unblockneteasemusic-mini/luasrc/model/cbi/unblockneteasemusic-mini.lua +++ b/package/ctcgfw/luci-app-unblockneteasemusic-mini/luasrc/model/cbi/unblockneteasemusic-mini.lua @@ -2,7 +2,7 @@ -- https://github.com/project-openwrt mp = Map("unblockneteasemusic-mini", translate("解除网易云音乐播放限制 (Mini)")) -mp.description = translate("原理:采用 [QQ/虾米/百度/酷狗/酷我/咕咪/JOOX] 等音源,替换网易云音乐 无版权/收费 歌曲链接
由 [CTCGFW]Project-OpenWrt 提供服务器支持,来源: https://github.com/project-openwrt/luci-app-unblockneteasemusic-mini") +mp.description = translate("原理:采用 [QQ/酷狗/酷我/咕咪] 等音源,替换网易云音乐 无版权/收费 歌曲链接
由 [CTCGFW]Project-OpenWrt 提供服务器支持,来源: https://github.com/project-openwrt/luci-app-unblockneteasemusic-mini") mp:section(SimpleSection).template = "unblockneteasemusic-mini/unblockneteasemusic_mini_status" @@ -15,7 +15,14 @@ enable.description = translate("启用本插件以解除网易云音乐播放限 enable.default = 0 enable.rmempty = false +select_server = s:option(ListValue, "select_server", translate("服务端类型")) +select_server:value("tencent_shanghai_nodejs", translate("腾讯云上海 Node.js 版本(稳定)")) +select_server:value("anhui_telecom_golang", translate("安徽电信 Golang 版本(高速率)")) +select_server.description = translate("Node.js版使用QQ、酷我、咪咕音源,Golang版使用酷狗、酷我音源") +select_server.default = "tencent_shanghai_nodejs" +select_server.rmempty = false + download_certificate=s:option(DummyValue,"opennewwindow",translate("")) -download_certificate.description = translate("Linux/iOS/MacOSX设备在信任根证书后方可正常使用解锁功能。") +download_certificate.description = translate("Linux/iOS/iPad/MacOSX设备在信任根证书后方可正常使用解锁功能。") return mp diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/config/unblockneteasemusic-mini b/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/config/unblockneteasemusic-mini index 99797a46a3..3766496e4d 100644 --- a/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/config/unblockneteasemusic-mini +++ b/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/config/unblockneteasemusic-mini @@ -1,3 +1,5 @@ config unblockneteasemusic-mini option enable '0' + option select_server 'tencent_shanghai_nodejs' + diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/init.d/unblockneteasemusic-mini b/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/init.d/unblockneteasemusic-mini index a4b20d6a9c..9dc2a2c798 100755 --- a/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/init.d/unblockneteasemusic-mini +++ b/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/init.d/unblockneteasemusic-mini @@ -6,53 +6,63 @@ START=80 STOP=10 enable="$(uci get unblockneteasemusic-mini.@unblockneteasemusic-mini[0].enable)" +select_server="$(uci get unblockneteasemusic-mini.@unblockneteasemusic-mini[0].select_server)" -unblock_server_addr="cdn-shanghai.service.project-openwrt.eu.org" -unblock_server_ip="$(ping "cdn-shanghai.service.project-openwrt.eu.org" -c 1 | sed '1{s/[^(]*(//;s/).*//;q}')" -[ -z "${unblock_server_ip}" ] && unblock_server_ip="122.51.88.18" -unblock_server_http_port="30000" -unblock_server_https_port="30001" +if [ "${select_server}" = "tencent_shanghai_nodejs" ]; then + unblock_server_addr="cdn-shanghai.service.project-openwrt.eu.org" + unblock_server_ip="$(ping "cdn-shanghai.service.project-openwrt.eu.org" -c 1 | sed '1{s/[^(]*(//;s/).*//;q}')" + [ -z "${unblock_server_ip}" ] && unblock_server_ip="122.51.88.18" + unblock_server_http_port="30000" + unblock_server_https_port="30001" +else + unblock_server_addr="cdn-anhui.service.project-openwrt.eu.org" + unblock_server_ip="$(ping "cdn-anhui.service.project-openwrt.eu.org" -c 1 | sed '1{s/[^(]*(//;s/).*//;q}')" + [ -z "${unblock_server_ip}" ] && unblock_server_ip="223.215.42.127" + unblock_server_http_port="53025" + unblock_server_https_port="44178" +fi set_ipset(){ if [ "${set_type}" = "start" ]; then mkdir -p "/tmp/dnsmasq.d" - rm -f "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic.conf" + rm -f "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic-mini.conf" cat <<-EOF > "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic-mini.conf" -dhcp-option=252,http://${unblock_server_addr}:${unblock_server_http_port}/proxy.pac -ipset=/.music.163.com/music -ipset=/interface.music.163.com/music -ipset=/interface3.music.163.com/music -ipset=/apm.music.163.com/music -ipset=/apm3.music.163.com/music +ipset=/.music.163.com/neteasemusic +ipset=/interface.music.163.com/neteasemusic +ipset=/interface3.music.163.com/neteasemusic +ipset=/apm.music.163.com/neteasemusic +ipset=/apm3.music.163.com/neteasemusic +ipset=/clientlog.music.163.com/neteasemusic +ipset=/clientlog3.music.163.com/neteasemusic EOF /etc/init.d/dnsmasq restart >/dev/null 2>&1 - if ! ipset list music >/dev/null; then ipset create music hash:ip; fi - wget -O- "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 music "$1}' |sh - iptables -t nat -N unblock_netease_music - iptables -t nat -A unblock_netease_music -d 0.0.0.0/8 -j RETURN - iptables -t nat -A unblock_netease_music -d 10.0.0.0/8 -j RETURN - iptables -t nat -A unblock_netease_music -d 127.0.0.0/8 -j RETURN - iptables -t nat -A unblock_netease_music -d 169.254.0.0/16 -j RETURN - iptables -t nat -A unblock_netease_music -d 172.16.0.0/12 -j RETURN - iptables -t nat -A unblock_netease_music -d 192.168.0.0/16 -j RETURN - iptables -t nat -A unblock_netease_music -d 224.0.0.0/4 -j RETURN - iptables -t nat -A unblock_netease_music -d 240.0.0.0/4 -j RETURN - iptables -t nat -A unblock_netease_music -p tcp --dport 80 -j DNAT --to ${unblock_server_ip}:${unblock_server_http_port} - iptables -t nat -A unblock_netease_music -p tcp --dport 443 -j DNAT --to ${unblock_server_ip}:${unblock_server_https_port} - iptables -t nat -I PREROUTING -p tcp -m set --match-set music dst -j unblock_netease_music + if ! ipset list "neteasemusic" >/dev/null; then ipset create "neteasemusic" hash:ip; fi + wget -O- "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 neteasemusic "$1}' |sh + iptables -t nat -N "unblock_netease_music" + iptables -t nat -A "unblock_netease_music" -d 0.0.0.0/8 -j RETURN + iptables -t nat -A "unblock_netease_music" -d 10.0.0.0/8 -j RETURN + iptables -t nat -A "unblock_netease_music" -d 127.0.0.0/8 -j RETURN + iptables -t nat -A "unblock_netease_music" -d 169.254.0.0/16 -j RETURN + iptables -t nat -A "unblock_netease_music" -d 172.16.0.0/12 -j RETURN + iptables -t nat -A "unblock_netease_music" -d 192.168.0.0/16 -j RETURN + iptables -t nat -A "unblock_netease_music" -d 224.0.0.0/4 -j RETURN + iptables -t nat -A "unblock_netease_music" -d 240.0.0.0/4 -j RETURN + iptables -t nat -A "unblock_netease_music" -p tcp --dport 80 -j DNAT --to ${unblock_server_ip}:${unblock_server_http_port} + iptables -t nat -A "unblock_netease_music" -p tcp --dport 443 -j DNAT --to ${unblock_server_ip}:${unblock_server_https_port} + iptables -t nat -I PREROUTING -p tcp -m set --match-set "neteasemusic" dst -j "unblock_netease_music" mkdir -p /var/etc echo -e "/etc/init.d/luci-app-unblockneteasemusic-mini restart" > "/var/etc/unblockneteasemusic-mini.include" elif [ "${set_type}" = "stop" ]; then - iptables -t nat -D PREROUTING -p tcp -m set --match-set music dst -j unblock_netease_music - iptables -t nat -F unblock_netease_music - iptables -t nat -X unblock_netease_music - ipset destroy music + iptables -t nat -D PREROUTING -p tcp -m set --match-set "neteasemusic" dst -j "unblock_netease_music" + iptables -t nat -F "unblock_netease_music" + iptables -t nat -X "unblock_netease_music" + ipset destroy "neteasemusic" echo "" > "/var/etc/unblockneteasemusic-mini.include" rm -f "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic-mini.conf" - /etc/init.d/dnsmasq restart >/dev/null 2>&1 + /etc/init.d/dnsmasq reload >/dev/null 2>&1 fi } diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/ppp/ip-up.d/unblockneteasemusic-mini b/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/ppp/ip-up.d/unblockneteasemusic-mini index 2bb0b1a5bb..7d92550d75 100755 --- a/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/ppp/ip-up.d/unblockneteasemusic-mini +++ b/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/ppp/ip-up.d/unblockneteasemusic-mini @@ -1,4 +1,4 @@ #!/bin/sh sleep 10 -wget -O- "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 music "$1}' |sh +wget -O- "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 neteasemusic "$1}' |sh diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/Makefile b/package/ctcgfw/luci-app-unblockneteasemusic/Makefile index c020863c9f..0c48c5b9d2 100644 --- a/package/ctcgfw/luci-app-unblockneteasemusic/Makefile +++ b/package/ctcgfw/luci-app-unblockneteasemusic/Makefile @@ -12,7 +12,7 @@ LUCI_DEPENDS:=+bash +busybox +coreutils-nohup +curl +dnsmasq-full +ipset +libope LUCI_PKGARCH:=all PKG_NAME:=luci-app-unblockneteasemusic PKG_VERSION:=2.7 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_MAINTAINER:=[CTCGFW]Project-OpenWrt diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic b/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic index f15c6ba060..16f60834dd 100755 --- a/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic +++ b/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic @@ -45,11 +45,13 @@ ipset=/interface.music.163.com/neteasemusic ipset=/interface3.music.163.com/neteasemusic ipset=/apm.music.163.com/neteasemusic ipset=/apm3.music.163.com/neteasemusic +ipset=/clientlog.music.163.com/neteasemusic +ipset=/clientlog3.music.163.com/neteasemusic EOF /etc/init.d/dnsmasq reload > "/dev/null" 2>&1 if ! ipset list "neteasemusic" > "/dev/null"; then ipset create "neteasemusic" hash:ip; 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 music "$1}' |bash > "/dev/null" 2>&1 + 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 neteasemusic "$1}' |bash > "/dev/null" 2>&1 iptables -t nat -N "netease_cloud_music" iptables -t nat -A "netease_cloud_music" -d "0.0.0.0/8" -j RETURN iptables -t nat -A "netease_cloud_music" -d "10.0.0.0/8" -j RETURN @@ -88,6 +90,8 @@ address=/interface.music.163.com/${lan_addr} address=/interface3.music.163.com/${lan_addr} address=/apm.music.163.com/${lan_addr} address=/apm3.music.163.com/${lan_addr} +address=/clientlog.music.163.com/${lan_addr} +address=/clientlog3.music.163.com/${lan_addr} address=/music.httpdns.c.163.com/0.0.0.0 EOF /etc/init.d/dnsmasq reload > "/dev/null" 2>&1 @@ -122,22 +126,22 @@ start() [ "${enable}" -ne "1" ] && exit 0 - [ ! -e "/usr/share/unblockneteasemusic/core/app.js" ] && rm -f "/usr/share/unblockneteasemusic/local_ver" && bash "/usr/share/unblockneteasemusic/update.sh" "update_core_non_restart" - [ ! -e "/usr/share/unblockneteasemusic/core/app.js" ] && echo "Core Not Found, please download it before starting." >> "/tmp/unblockneteasemusic.log" && exit 1 + [ ! -e "/usr/share/unblockneteasemusic/core/app.js" ] && { rm -f "/usr/share/unblockneteasemusic/local_ver"; bash "/usr/share/unblockneteasemusic/update.sh" "update_core_non_restart"; } + [ ! -e "/usr/share/unblockneteasemusic/core/app.js" ] && { echo "Core Not Found, please download it before starting." >> "/tmp/unblockneteasemusic.log"; exit 1; } if [ "${music_source}" = "qq" ];then - [ -z "${qq_cookie}" ] && echo "QQ cookie is not exsit, please enter it before starting." && exit 1 + [ -z "${qq_cookie}" ] && { echo "QQ cookie is not exsit, please enter it before starting."; exit 1; } qq_cookie_line="$(awk "/'cookie':/{print NR}" "/usr/share/unblockneteasemusic/core/provider/qq.js")" sed -i "${qq_cookie_line}d" "/usr/share/unblockneteasemusic/core/provider/qq.js" sed -i -e "${qq_cookie_line}i \\\t'cookie': '${qq_cookie}'" "/usr/share/unblockneteasemusic/core/provider/qq.js" elif [ "${music_source}" = "youtube" ];then - [ -z "${youtube_key}" ] && echo "Youtube API Key is not exsit, please enter it before starting." && exit 1 + [ -z "${youtube_key}" ] && { echo "Youtube API Key is not exsit, please enter it before starting."; exit 1; } sed -i '/const key = /d' "/usr/share/unblockneteasemusic/core/provider/youtube.js" sed -i -e "1i const key = '${youtube_key}'" "/usr/share/unblockneteasemusic/core/provider/youtube.js" fi - [ -f "${self_issue_cert_crt}" ] && { [ "${self_issue_cert_crt}" != "/usr/share/unblockneteasemusic/core/server.crt" ] && ln -sf "${self_issue_cert_crt}" "/usr/share/unblockneteasemusic/core/server.crt"; } - [ -f "${self_issue_cert_key}" ] && { [ "${self_issue_cert_key}" != "/usr/share/unblockneteasemusic/core/server.key" ] && ln -sf "${self_issue_cert_key}" "/usr/share/unblockneteasemusic/core/server.key"; } + { [ -f "${self_issue_cert_crt}" ] && [ "${self_issue_cert_crt}" != "/usr/share/unblockneteasemusic/core/server.crt" ]; } && ln -sf "${self_issue_cert_crt}" "/usr/share/unblockneteasemusic/core/server.crt" + { [ -f "${self_issue_cert_key}" ] && [ "${self_issue_cert_key}" != "/usr/share/unblockneteasemusic/core/server.key" ]; } && ln -sf "${self_issue_cert_key}" "/usr/share/unblockneteasemusic/core/server.key" [ "${hijack_ways}" = "use_hosts" ] && { http_port="80"; https_port="443"; } if [ "${music_source}" = "default" ]; then diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/ppp/ip-up.d/unblockneteasemusic b/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/ppp/ip-up.d/unblockneteasemusic index e9bea88fc8..58b1da2fae 100755 --- a/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/ppp/ip-up.d/unblockneteasemusic +++ b/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/ppp/ip-up.d/unblockneteasemusic @@ -1,4 +1,4 @@ #!/bin/sh sleep 10 -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 music "$1}' |bash > "/dev/null" 2>&1 +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 neteasemusic "$1}' |bash > "/dev/null" 2>&1 diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/update.sh b/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/update.sh index 4fe9f89591..986d8ae098 100755 --- a/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/update.sh +++ b/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/update.sh @@ -3,96 +3,97 @@ # https://github.com/project-openwrt function check_core_if_already_running(){ - running_tasks="$(ps |grep "unblockneteasemusic" |grep "update" |grep "core" |grep -v "grep" |awk '{print $1}' |wc -l)" - [ "${running_tasks}" -gt "2" ] && echo -e "\nA task is already running." >>/tmp/unblockneteasemusic.log && exit 2 + running_tasks="$(ps |grep "unblockneteasemusic" |grep "update.sh" |grep "update_core" |grep -v "grep" |awk '{print $1}' |wc -l)" + [ "${running_tasks}" -gt "2" ] && { echo -e "\nA task is already running." >> "/tmp/unblockneteasemusic.log"; exit 2; } } function check_luci_if_already_running(){ - running_tasks="$(ps |grep "unblockneteasemusic" |grep "update" |grep "update_luci" |grep -v "grep" |awk '{print $1}' |wc -l)" - [ "${running_tasks}" -gt "2" ] && echo -e "\nA task is already running." >>/tmp/unblockneteasemusic.log && exit 2 + running_tasks="$(ps |grep "unblockneteasemusic" |grep "update.sh" |grep "update_luci" |grep -v "grep" |awk '{print $1}' |wc -l)" + [ "${running_tasks}" -gt "2" ] && { echo -e "\nA task is already running." >> "/tmp/unblockneteasemusic.log"; exit 2; } } function clean_log(){ - echo "" > /tmp/unblockneteasemusic.log + echo "" > "/tmp/unblockneteasemusic.log" } function check_luci_latest_version(){ luci_latest_ver="$(curl -s 'https://github.com/project-openwrt/luci-app-unblockneteasemusic/releases/latest'| grep -Eo '[0-9\.]+\-[0-9]+')" - [ -z "${luci_latest_ver}" ] && echo -e "\nFailed to check latest LuCI version, please try again later." >>/tmp/unblockneteasemusic.log && exit 1 - if [ "$(opkg info 'luci-app-unblockneteasemusic' |sed -n '2p' |tr -d 'Version: ')" != "${luci_latest_ver}" ]; then + [ -z "${luci_latest_ver}" ] && { echo -e "\nFailed to check latest LuCI version, please try again later." >> "/tmp/unblockneteasemusic.log"; exit 1; } + if [ "$(opkg info "luci-app-unblockneteasemusic" |sed -n "2p" |tr -d "Version: ")" != "${luci_latest_ver}" ]; then clean_log - echo -e "Local LuCI version: $(opkg info 'luci-app-unblockneteasemusic' |sed -n '2p' |tr -d 'Version: '), cloud LuCI version: ${luci_latest_ver}." >>/tmp/unblockneteasemusic.log + echo -e "Local LuCI version: $(opkg info "luci-app-unblockneteasemusic" |sed -n "2p" |tr -d "Version: "), cloud LuCI version: ${luci_latest_ver}." >> "/tmp/unblockneteasemusic.log" update_luci else - echo -e "\nLocal LuCI version: $(opkg info 'luci-app-unblockneteasemusic' |sed -n '2p' |tr -d 'Version: '), cloud LuCI version: ${luci_latest_ver}." >>/tmp/unblockneteasemusic.log - echo -e "You're already using the latest LuCI version." >>/tmp/unblockneteasemusic.log + echo -e "\nLocal LuCI version: $(opkg info "luci-app-unblockneteasemusic" |sed -n "2p" |tr -d "Version: "), cloud LuCI version: ${luci_latest_ver}." >> "/tmp/unblockneteasemusic.log" + echo -e "You're already using the latest LuCI version." >> "/tmp/unblockneteasemusic.log" exit 3 fi } function update_luci(){ - echo -e "Updating LuCI..." >>/tmp/unblockneteasemusic.log + echo -e "Updating LuCI..." >> "/tmp/unblockneteasemusic.log" - mkdir -p "/tmp" >/dev/null 2>&1 + mkdir -p "/tmp" > "/dev/null" 2>&1 - curl -sL "https://github.com/project-openwrt/luci-app-unblockneteasemusic/releases/download/v${luci_latest_ver}/luci-app-unblockneteasemusic_${luci_latest_ver}_all.ipk" -o "/tmp/luci-app-unblockneteasemusic_${luci_latest_ver}_all.ipk" >/dev/null 2>&1 + curl -sL "https://github.com/project-openwrt/luci-app-unblockneteasemusic/releases/download/v${luci_latest_ver}/luci-app-unblockneteasemusic_${luci_latest_ver}_all.ipk" -o "/tmp/luci-app-unblockneteasemusic_${luci_latest_ver}_all.ipk" > "/dev/null" 2>&1 opkg install "/tmp/luci-app-unblockneteasemusic_${luci_latest_ver}_all.ipk" rm -f "/tmp/luci-app-unblockneteasemusic_${luci_latest_ver}_all.ipk" rm -rf "/tmp/luci-indexcache" "/tmp/luci-modulecache" - if [ "$(opkg info 'luci-app-unblockneteasemusic' |sed -n '2p' |tr -d 'Version: ')" != "$1" ]; then - echo -e "Failed to update LuCI." >>/tmp/unblockneteasemusic.log + if [ "$(opkg info 'luci-app-unblockneteasemusic' |sed -n '2p' |tr -d 'Version: ')" != "${luci_latest_ver}" ]; then + echo -e "Failed to update LuCI." >> "/tmp/unblockneteasemusic.log" exit 1 else touch "/usr/share/unblockneteasemusic/update_luci_successfully" + /etc/init.d/firewall restart > "/dev/null" 2>&1 fi - echo -e "Succeeded in updating LuCI." >/tmp/unblockneteasemusic.log - echo -e "Current LuCI version: ${luci_latest_ver}.\n" >>/tmp/unblockneteasemusic.log + echo -e "Succeeded in updating LuCI." > "/tmp/unblockneteasemusic.log" + echo -e "Current LuCI version: ${luci_latest_ver}.\n" >> "/tmp/unblockneteasemusic.log" } function check_core_latest_version(){ core_latest_ver="$(curl -s https://github.com/nondanee/UnblockNeteaseMusic/commits/master |tr -d '\n' |grep -Eo 'commit\/[0-9a-z]+' |sed -n 1p |sed 's#commit/##g')" - [ -z "${core_latest_ver}" ] && echo -e "\nFailed to check latest core version, please try again later." >>/tmp/unblockneteasemusic.log && exit 1 + [ -z "${core_latest_ver}" ] && { echo -e "\nFailed to check latest core version, please try again later." >> "/tmp/unblockneteasemusic.log"; exit 1; } if [ ! -e "/usr/share/unblockneteasemusic/core_local_ver" ]; then clean_log - echo -e "Local version: NOT FOUND, cloud version: ${core_latest_ver}." >>/tmp/unblockneteasemusic.log + echo -e "Local version: NOT FOUND, cloud version: ${core_latest_ver}." >> "/tmp/unblockneteasemusic.log" update_core else if [ "$(cat /usr/share/unblockneteasemusic/core_local_ver)" != "${core_latest_ver}" ]; then clean_log - echo -e "Local core version: $(cat /usr/share/unblockneteasemusic/core_local_ver 2>/dev/null), cloud core version: ${core_latest_ver}." >>/tmp/unblockneteasemusic.log + echo -e "Local core version: $(cat /usr/share/unblockneteasemusic/core_local_ver 2>"/dev/null"), cloud core version: ${core_latest_ver}." >> "/tmp/unblockneteasemusic.log" update_core else - echo -e "\nLocal core version: $(cat /usr/share/unblockneteasemusic/core_local_ver 2>/dev/null), cloud core version: ${core_latest_ver}." >>/tmp/unblockneteasemusic.log - echo -e "You're already using the latest core version." >>/tmp/unblockneteasemusic.log + echo -e "\nLocal core version: $(cat /usr/share/unblockneteasemusic/core_local_ver 2>"/dev/null"), cloud core version: ${core_latest_ver}." >> "/tmp/unblockneteasemusic.log" + echo -e "You're already using the latest core version." >> "/tmp/unblockneteasemusic.log" exit 3 fi fi } function update_core(){ - echo -e "Updating core..." >>/tmp/unblockneteasemusic.log + echo -e "Updating core..." >> "/tmp/unblockneteasemusic.log" - mkdir -p "/usr/share/unblockneteasemusic/core" >/dev/null 2>&1 - rm -rf /usr/share/unblockneteasemusic/core/* >/dev/null 2>&1 + mkdir -p "/usr/share/unblockneteasemusic/core" > "/dev/null" 2>&1 + rm -rf /usr/share/unblockneteasemusic/core/* > "/dev/null" 2>&1 - curl -sL "https://github.com/nondanee/UnblockNeteaseMusic/archive/master.tar.gz" -o "/usr/share/unblockneteasemusic/core/core.tar.gz" >/dev/null 2>&1 - tar -zxf "/usr/share/unblockneteasemusic/core/core.tar.gz" -C "/usr/share/unblockneteasemusic/core/" >/dev/null 2>&1 + curl -sL "https://github.com/nondanee/UnblockNeteaseMusic/archive/master.tar.gz" -o "/usr/share/unblockneteasemusic/core/core.tar.gz" > "/dev/null" 2>&1 + tar -zxf "/usr/share/unblockneteasemusic/core/core.tar.gz" -C "/usr/share/unblockneteasemusic/core/" > "/dev/null" 2>&1 mv /usr/share/unblockneteasemusic/core/UnblockNeteaseMusic-master/* "/usr/share/unblockneteasemusic/core/" - rm -rf "/usr/share/unblockneteasemusic/core/core.tar.gz" "/usr/share/unblockneteasemusic/core/UnblockNeteaseMusic-master" >/dev/null 2>&1 + rm -rf "/usr/share/unblockneteasemusic/core/core.tar.gz" "/usr/share/unblockneteasemusic/core/UnblockNeteaseMusic-master" > "/dev/null" 2>&1 if [ ! -e "/usr/share/unblockneteasemusic/core/app.js" ]; then - echo -e "Failed to download core." >>/tmp/unblockneteasemusic.log + echo -e "Failed to download core." >> "/tmp/unblockneteasemusic.log" exit 1 else [ "${update_core_from_luci}" == "y" ] && touch "/usr/share/unblockneteasemusic/update_core_successfully" - echo -e "${core_latest_ver}" > /usr/share/unblockneteasemusic/core_local_ver + echo -e "${core_latest_ver}" > "/usr/share/unblockneteasemusic/core_local_ver" [ "${non_restart}" != "y" ] && /etc/init.d/unblockneteasemusic restart fi - echo -e "Succeeded in updating core." >/tmp/unblockneteasemusic.log - echo -e "Current core version: ${core_latest_ver}.\n" >>/tmp/unblockneteasemusic.log + echo -e "Succeeded in updating core." > "/tmp/unblockneteasemusic.log" + echo -e "Current core version: ${core_latest_ver}.\n" >> "/tmp/unblockneteasemusic.log" } case "$1" in @@ -117,4 +118,4 @@ case "$1" in *) echo -e "Usage: ./update.sh {update_luci|update_core}" ;; -esac \ No newline at end of file +esac