From 9837f0b55724aa12e800b815308c3e57139daf69 Mon Sep 17 00:00:00 2001 From: CN_SZTL Date: Sat, 3 Oct 2020 21:09:16 +0800 Subject: [PATCH] luci-app-unblockneteasemusic: bump to 2.8-8 --- .../luci-app-unblockneteasemusic/Makefile | 2 +- .../root/etc/init.d/unblockneteasemusic | 71 ++++++++++-------- ...remote_qq_server.sh => gen_qq_provider.sh} | 68 +++++------------- .../share/unblockneteasemusic/log_check.sh | 6 +- .../usr/share/unblockneteasemusic/update.sh | 72 ++++++++++--------- 5 files changed, 100 insertions(+), 119 deletions(-) rename package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/{gen_remote_qq_server.sh => gen_qq_provider.sh} (71%) diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/Makefile b/package/ctcgfw/luci-app-unblockneteasemusic/Makefile index bea1e329f7..788accc7e0 100644 --- a/package/ctcgfw/luci-app-unblockneteasemusic/Makefile +++ b/package/ctcgfw/luci-app-unblockneteasemusic/Makefile @@ -12,7 +12,7 @@ LUCI_DEPENDS:=+bash +busybox +coreutils +coreutils-nohup +curl +dnsmasq-full +ip LUCI_PKGARCH:=all PKG_NAME:=luci-app-unblockneteasemusic PKG_VERSION:=2.8 -PKG_RELEASE:=7 +PKG_RELEASE:=8 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 71ec7a393e..efca9ac4f8 100755 --- a/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic +++ b/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic @@ -184,47 +184,52 @@ start() [ "${enable}" -ne "1" ] && exit 0 - sed -i '/unblockneteasemusic/d' /etc/crontabs/root - [ "${auto_update}" -eq "1" ] && echo "0 ${update_time} * * * /usr/share/unblockneteasemusic/update.sh update_core" >> "/etc/crontabs/root" - echo "*/5 * * * * /usr/share/unblockneteasemusic/log_check.sh" >> "/etc/crontabs/root" + sed -i "/$NAME/d" /etc/crontabs/root + [ "${auto_update}" -eq "1" ] && echo "0 ${update_time} * * * /usr/share/$NAME/update.sh update_core" >> "/etc/crontabs/root" + echo "*/5 * * * * /usr/share/$NAME/log_check.sh" >> "/etc/crontabs/root" /etc/init.d/cron restart > "/dev/null" 2>&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; } + [ ! -e "/usr/share/$NAME/core/app.js" ] && { rm -f "/usr/share/$NAME/local_ver"; bash "/usr/share/$NAME/update.sh" "update_core_non_restart"; } + [ ! -e "/usr/share/$NAME/core/app.js" ] && { echo "Core Not Found, please download it before starting." >> "/tmp/$NAME.log"; exit 1; } [ "${use_remote_qq_server}" -ne "1" ] && qq_server_mode="local" || qq_server_mode="remote" - bash "/usr/share/unblockneteasemusic/gen_remote_qq_server.sh" "${qq_server_mode}" "${enable_flac}" > "/usr/share/unblockneteasemusic/core/src/provider/qq.js" + bash "/usr/share/$NAME/gen_qq_provider.sh" "${qq_server_mode}" "${enable_flac}" > "/usr/share/$NAME/core/src/provider/qq.js" [ -n "${neteasemusic_cookie}" ] && { - ub_cookie_line="$(sed -n -e "/netease.path.includes('song\/enhance')/=" "/usr/share/unblockneteasemusic/core/src/hook.js")"; - [ -n "${ub_cookie_line}" ] && { let ub_cookie_endline="ub_cookie_line+6"; sed -i "${ub_cookie_line},${ub_cookie_endline}d" "/usr/share/unblockneteasemusic/core/src/hook.js"; } - sed -i "/netease.path == '\/api\/song\/enhance\/download\/url'/i\\\t\\t\\t\\tif (netease.path.includes('song\/enhance')) {" "/usr/share/unblockneteasemusic/core/src/hook.js" - sed -i "/if (netease.path.includes('song\/enhance')) {/a\\\t\\t\\t\\t\\treq.headers.cookie = [" "/usr/share/unblockneteasemusic/core/src/hook.js" - sed -i "/req.headers.cookie = \[/a\\\t\\t\\t\\t\\t\\t'MUSIC_U=${neteasemusic_cookie}'," "/usr/share/unblockneteasemusic/core/src/hook.js" - sed -i "/'MUSIC_U=${neteasemusic_cookie}',/a\\\t\\t\\t\\t\\t\\treq.headers.cookie.replace(\/\\\s*MUSIC_\\\w=[^\\\s;]+;*\/g, '')" "/usr/share/unblockneteasemusic/core/src/hook.js" - sed -i "/req.headers.cookie.replace(\/\\\s\\*MUSIC_\\\w=[^\\\s;]\\+/a\\\t\\t\\t\\t\\t].filter(line => line).join('; ')" "/usr/share/unblockneteasemusic/core/src/hook.js" - sed -i "/].filter(line => line).join('; ')/a\\\t\\t\\t\\t}\\n" "/usr/share/unblockneteasemusic/core/src/hook.js" + ub_cookie_line="$(sed -n -e "/netease.path.includes('song\/enhance')/=" "/usr/share/$NAME/core/src/hook.js")"; + [ -n "${ub_cookie_line}" ] && { let ub_cookie_endline="ub_cookie_line+6"; sed -i "${ub_cookie_line},${ub_cookie_endline}d" "/usr/share/$NAME/core/src/hook.js"; } + sed -i "/netease.path == '\/api\/song\/enhance\/download\/url'/i\\\t\\t\\t\\tif (netease.path.includes('song\/enhance')) {" "/usr/share/$NAME/core/src/hook.js" + sed -i "/if (netease.path.includes('song\/enhance')) {/a\\\t\\t\\t\\t\\treq.headers.cookie = [" "/usr/share/$NAME/core/src/hook.js" + sed -i "/req.headers.cookie = \[/a\\\t\\t\\t\\t\\t\\t'MUSIC_U=${neteasemusic_cookie}'," "/usr/share/$NAME/core/src/hook.js" + sed -i "/'MUSIC_U=${neteasemusic_cookie}',/a\\\t\\t\\t\\t\\t\\treq.headers.cookie.replace(\/\\\s*MUSIC_\\\w=[^\\\s;]+;*\/g, '')" "/usr/share/$NAME/core/src/hook.js" + sed -i "/req.headers.cookie.replace(\/\\\s\\*MUSIC_\\\w=[^\\\s;]\\+/a\\\t\\t\\t\\t\\t].filter(line => line).join('; ')" "/usr/share/$NAME/core/src/hook.js" + sed -i "/].filter(line => line).join('; ')/a\\\t\\t\\t\\t}\\n" "/usr/share/$NAME/core/src/hook.js" } - quality_check_line="$(awk "/target == 0 \|\| item.id == target/{print NR}" "/usr/share/unblockneteasemusic/core/src/hook.js")" - sed -i "${quality_check_line}d" "/usr/share/unblockneteasemusic/core/src/hook.js" + quality_check_line="$(awk "/target == 0 \|\| item.id == target/{print NR}" "/usr/share/$NAME/core/src/hook.js")" + sed -i "${quality_check_line}d" "/usr/share/$NAME/core/src/hook.js" if [ "${replace_music_source}" = "dont_replace" ]; then - sed -i -e "${quality_check_line}i \\\t\\tif ((item.code != 200 || item.freeTrialInfo) && (target == 0 || item.id == target)) {" "/usr/share/unblockneteasemusic/core/src/hook.js" + sed -i -e "${quality_check_line}i \\\t\\tif ((item.code != 200 || item.freeTrialInfo) && (target == 0 || item.id == target)) {" "/usr/share/$NAME/core/src/hook.js" elif [ "${replace_music_source}" = "lower_than_192kbps" ]; then - sed -i -e "${quality_check_line}i \\\t\\tif ((item.code != 200 || item.freeTrialInfo || item.br < 192000) && (target == 0 || item.id == target)) {" "/usr/share/unblockneteasemusic/core/src/hook.js" + sed -i -e "${quality_check_line}i \\\t\\tif ((item.code != 200 || item.freeTrialInfo || item.br < 192000) && (target == 0 || item.id == target)) {" "/usr/share/$NAME/core/src/hook.js" elif [ "${replace_music_source}" = "lower_than_320kbps" ]; then - sed -i -e "${quality_check_line}i \\\t\\tif ((item.code != 200 || item.freeTrialInfo || item.br < 320000) && (target == 0 || item.id == target)) {" "/usr/share/unblockneteasemusic/core/src/hook.js" + sed -i -e "${quality_check_line}i \\\t\\tif ((item.code != 200 || item.freeTrialInfo || item.br < 320000) && (target == 0 || item.id == target)) {" "/usr/share/$NAME/core/src/hook.js" elif [ "${replace_music_source}" = "lower_than_999kbps" ]; then - sed -i -e "${quality_check_line}i \\\t\\tif ((item.code != 200 || item.freeTrialInfo || item.br < 999000) && (target == 0 || item.id == target)) {" "/usr/share/unblockneteasemusic/core/src/hook.js" + sed -i -e "${quality_check_line}i \\\t\\tif ((item.code != 200 || item.freeTrialInfo || item.br < 999000) && (target == 0 || item.id == target)) {" "/usr/share/$NAME/core/src/hook.js" elif [ "${replace_music_source}" = "replace_all" ]; then - sed -i -e "${quality_check_line}i \\\t\\tif (target == 0 || item.id == target) {" "/usr/share/unblockneteasemusic/core/src/hook.js" + sed -i -e "${quality_check_line}i \\\t\\tif (target == 0 || item.id == target) {" "/usr/share/$NAME/core/src/hook.js" fi - { [ -f "${self_issue_cert_crt}" ] && [ -f "${self_issue_cert_key}" ]; } && { ln -sf "${self_issue_cert_crt}" "/usr/share/unblockneteasemusic/core/server.crt"; ln -sf "${self_issue_cert_key}" "/usr/share/unblockneteasemusic/core/server.key"; } + { [ -f "${self_issue_cert_crt}" ] && [ -f "${self_issue_cert_key}" ]; } && { + { [ "${self_issue_cert_crt}" != "/usr/share/$NAME/core/server.crt" ] && [ "${self_issue_cert_key}" != "/usr/share/$NAME/core/server.key" ]; } && { + ln -sf "${self_issue_cert_crt}" "/usr/share/$NAME/core/server.crt" + ln -sf "${self_issue_cert_key}" "/usr/share/$NAME/core/server.key" + } + } [ "${hijack_ways}" = "use_hosts" ] && { http_port="80"; https_port="443"; } [ "${music_source}" = "default" ] && music_source="" || music_source="-o ${music_source}" - nohup node "/usr/share/unblockneteasemusic/core/app.js" -a "${addr}" -p "${http_port}":"${https_port}" ${music_source} -e "${endpoint_url}" ${netease_server_ip} ${proxy_server_ip} ${strict_mode} >> "/tmp/$NAME.log" 2>&1 & + nohup node "/usr/share/$NAME/core/app.js" -a "${addr}" -p "${http_port}":"${https_port}" ${music_source} -e "${endpoint_url}" ${netease_server_ip} ${proxy_server_ip} ${strict_mode} >> "/tmp/$NAME.log" 2>&1 & set_type="start" if [ "${hijack_ways}" = "use_ipset" ]; then @@ -237,16 +242,24 @@ start() stop() { - { ps |grep "unblockneteasemusic" |grep "app.js" |grep -v "grep" |awk '{print $1}' |xargs kill -9; } > "/dev/null" 2>&1 + { ps |grep "$NAME" |grep "app.js" |grep -v "grep" |awk '{print $1}' |xargs kill -9; } > "/dev/null" 2>&1 - sed -i '/unblockneteasemusic/d' "/etc/crontabs/root" + sed -i "/$NAME/d" "/etc/crontabs/root" /etc/init.d/cron restart > "/dev/null" 2>&1 [ ! -f "${UPGRADE_CONF}" ] && touch "${UPGRADE_CONF}" - sed -i '/unblockneteasemusic\/core/d;/unblockneteasemusic\/local_ver/d' "${UPGRADE_CONF}" - [ "${keep_core_when_upgrade}" -eq "1" ] && { echo "/usr/share/unblockneteasemusic/core/" >> "${UPGRADE_CONF}"; echo "/usr/share/unblockneteasemusic/local_ver" >> "${UPGRADE_CONF}"; } - [ -f "${self_issue_cert_crt}" ] && { sed -i "/${self_issue_cert_crt//\//\\/}/d"; echo "${self_issue_cert_crt}" >> "${UPGRADE_CONF}"; } - [ -f "${self_issue_cert_key}" ] && { sed -i "/${self_issue_cert_key//\//\\/}/d"; echo "${self_issue_cert_key}" >> "${UPGRADE_CONF}"; } + sed -i "/$NAME\/core/d;/$NAME\/local_ver/d" "${UPGRADE_CONF}" + [ "${keep_core_when_upgrade}" -eq "1" ] && { echo "/usr/share/$NAME/core/" >> "${UPGRADE_CONF}"; echo "/usr/share/$NAME/local_ver" >> "${UPGRADE_CONF}"; } + + { [ -f "${self_issue_cert_crt}" ] && [ -f "${self_issue_cert_key}" ]; } && { + { [ "${self_issue_cert_crt}" != "/usr/share/$NAME/core/server.crt" ] && [ "${self_issue_cert_key}" != "/usr/share/$NAME/core/server.key" ]; } && { + sed -i "/${self_issue_cert_crt//\//\\/}/d" + echo "${self_issue_cert_crt}" >> "${UPGRADE_CONF}" + + sed -i "/${self_issue_cert_key//\//\\/}/d" + echo "${self_issue_cert_key}" >> "${UPGRADE_CONF}" + } + } rm -f "/tmp/$NAME.log" diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/gen_remote_qq_server.sh b/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/gen_qq_provider.sh similarity index 71% rename from package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/gen_remote_qq_server.sh rename to package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/gen_qq_provider.sh index c015762317..e8fae9dbaf 100755 --- a/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/gen_remote_qq_server.sh +++ b/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/gen_qq_provider.sh @@ -2,20 +2,16 @@ # Created By [CTCGFW]Project OpenWRT # https://github.com/project-openwrt -if [ "$1" == "local" ] -then echo -e "// local_mode -const cache = require('../cache') +header="const cache = require('../cache') const insure = require('./insure') const select = require('./select') const request = require('../request') const headers = { - 'origin': 'http://y.qq.com/', - 'referer': 'http://y.qq.com/', - 'cookie': process.env.QQ_COOKIE || null // 'uin=; qm_keyst=', -} + 'origin': 'http://y.qq.com/', + 'referer': 'http://y.qq.com/'," -const playable = song => { +body="const playable = song => { const switchFlag = song['switch'].toString(2).split('') switchFlag.pop() switchFlag.reverse() @@ -36,7 +32,7 @@ const search = info => { const url = 'https://c.y.qq.com/soso/fcgi-bin/client_search_cp?' + 'ct=24&qqmusic_ver=1298&new_json=1&remoteplace=txt.yqq.center&' + - 't=0&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=1&n=20&w=' + 't=0&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=1&n=20&w=' + encodeURIComponent(info.keyword) + '&' + 'g_tk=5381&jsonpCallback=MusicJsonCallback10005317669353331&loginUin=0&hostUin=0&' + 'format=jsonp&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq&needNewCode=0' @@ -48,8 +44,16 @@ const search = info => { const matched = select(list, info) return matched ? matched.id : Promise.reject() }) +}" + +if [ "$1" == "local" ] +then echo -e "// local_mode +${header} + 'cookie': process.env.QQ_COOKIE || null // 'uin=; qm_keyst=', } +${body} + const single = (id, format) => { const uin = ((headers.cookie || '').match(/uin=(\d+)/) || [])[1] || '0' @@ -101,51 +105,11 @@ module.exports = {check, track}" elif [ "$1" == "remote" ] then [ "$2" == "1" ] && { flac_quality="'flac', "; loop_times="4"; } || loop_times="3" echo -e "// remote_mode -const cache = require('../cache') -const insure = require('./insure') -const select = require('./select') -const request = require('../request') - -const headers = { - 'origin': 'http://y.qq.com/', - 'referer': 'http://y.qq.com/', +${header} 'cookie': null } -const playable = song => { - const switchFlag = song['switch'].toString(2).split('') - switchFlag.pop() - switchFlag.reverse() - const playFlag = switchFlag[0] - const tryFlag = switchFlag[13] - return ((playFlag == 1) || ((playFlag == 1) && (tryFlag == 1))) -} - -const format = song => ({ - id: {song: song.mid, file: song.file.media_mid}, - name: song.name, - duration: song.interval * 1000, - album: {id: song.album.mid, name: song.album.name}, - artists: song.singer.map(({mid, name}) => ({id: mid, name})) -}) - -const search = info => { - const url = - 'https://c.y.qq.com/soso/fcgi-bin/client_search_cp?' + - 'ct=24&qqmusic_ver=1298&new_json=1&remoteplace=txt.yqq.center&' + - 't=0&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=1&n=20&w=' + - encodeURIComponent(info.keyword) + '&' + - 'g_tk=5381&jsonpCallback=MusicJsonCallback10005317669353331&loginUin=0&hostUin=0&' + - 'format=jsonp&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq&needNewCode=0' - - return request('GET', url) - .then(response => response.jsonp()) - .then(jsonBody => { - const list = jsonBody.data.song.list.map(format) - const matched = select(list, info) - return matched ? matched.id : Promise.reject() - }) -} +${body} const track = id => { const typeObj = [${flac_quality}'320', '128', 'm4a'] @@ -164,7 +128,7 @@ const track = id => { if (res === 100) { let songUrl = jsonBody.data return songUrl - } else if (i === 3) { + } else if (i === $[${loop_times}-1]) { return Promise.reject() } else { return diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/log_check.sh b/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/log_check.sh index 74bb2fd290..4d51a68b00 100755 --- a/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/log_check.sh +++ b/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/log_check.sh @@ -2,10 +2,12 @@ # Created By [CTCGFW]Project OpenWRT # https://github.com/project-openwrt +NAME="unblockneteasemusic" + log_max_size="4" #使用KB计算 -log_file="/tmp/unblockneteasemusic.log" +log_file="/tmp/$NAME.log" (( log_size = "$(ls -l "${log_file}" | awk -F ' ' '{print $5}')" / "1024" )) (( "${log_size}" >= "${log_max_size}" )) && echo "" > "${log_file}" -[ "*$(uci get unblockneteasemusic.@unblockneteasemusic[0].daemon_enable 2>/dev/null)*" == "*1*" ] && { [ -z "$(ps |grep "unblockneteasemusic" |grep "app.js" |grep -v "grep")" ] && /etc/init.d/unblockneteasemusic restart; } \ No newline at end of file +[ "*$(uci get $NAME.@$NAME[0].daemon_enable 2>/dev/null)*" == "*1*" ] && { [ -z "$(ps |grep "$NAME" |grep "app.js" |grep -v "grep")" ] && /etc/init.d/$NAME restart; } 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 986d8ae098..1ad10f4aee 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 @@ -2,36 +2,38 @@ # Created By [CTCGFW]Project OpenWRT # https://github.com/project-openwrt +NAME="unblockneteasemusic" + function check_core_if_already_running(){ - 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; } + running_tasks="$(ps |grep "$NAME" |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/$NAME.log"; exit 2; } } function check_luci_if_already_running(){ - 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; } + running_tasks="$(ps |grep "$NAME" |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/$NAME.log"; exit 2; } } function clean_log(){ - echo "" > "/tmp/unblockneteasemusic.log" + echo "" > "/tmp/$NAME.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; } + [ -z "${luci_latest_ver}" ] && { echo -e "\nFailed to check latest LuCI version, please try again later." >> "/tmp/$NAME.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/$NAME.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/$NAME.log" + echo -e "You're already using the latest LuCI version." >> "/tmp/$NAME.log" exit 3 fi } function update_luci(){ - echo -e "Updating LuCI..." >> "/tmp/unblockneteasemusic.log" + echo -e "Updating LuCI..." >> "/tmp/$NAME.log" mkdir -p "/tmp" > "/dev/null" 2>&1 @@ -41,59 +43,59 @@ function update_luci(){ rm -rf "/tmp/luci-indexcache" "/tmp/luci-modulecache" 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" + echo -e "Failed to update LuCI." >> "/tmp/$NAME.log" exit 1 else - touch "/usr/share/unblockneteasemusic/update_luci_successfully" + touch "/usr/share/$NAME/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/$NAME.log" + echo -e "Current LuCI version: ${luci_latest_ver}.\n" >> "/tmp/$NAME.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; } - if [ ! -e "/usr/share/unblockneteasemusic/core_local_ver" ]; then + [ -z "${core_latest_ver}" ] && { echo -e "\nFailed to check latest core version, please try again later." >> "/tmp/$NAME.log"; exit 1; } + if [ ! -e "/usr/share/$NAME/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/$NAME.log" update_core else - if [ "$(cat /usr/share/unblockneteasemusic/core_local_ver)" != "${core_latest_ver}" ]; then + if [ "$(cat /usr/share/$NAME/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/$NAME/core_local_ver 2>"/dev/null"), cloud core version: ${core_latest_ver}." >> "/tmp/$NAME.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/$NAME/core_local_ver 2>"/dev/null"), cloud core version: ${core_latest_ver}." >> "/tmp/$NAME.log" + echo -e "You're already using the latest core version." >> "/tmp/$NAME.log" exit 3 fi fi } function update_core(){ - echo -e "Updating core..." >> "/tmp/unblockneteasemusic.log" + echo -e "Updating core..." >> "/tmp/$NAME.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/$NAME/core" > "/dev/null" 2>&1 + rm -rf /usr/share/$NAME/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 + curl -sL "https://github.com/nondanee/UnblockNeteaseMusic/archive/master.tar.gz" -o "/usr/share/$NAME/core/core.tar.gz" > "/dev/null" 2>&1 + tar -zxf "/usr/share/$NAME/core/core.tar.gz" -C "/usr/share/$NAME/core/" > "/dev/null" 2>&1 + mv /usr/share/$NAME/core/UnblockNeteaseMusic-master/* "/usr/share/$NAME/core/" + rm -rf "/usr/share/$NAME/core/core.tar.gz" "/usr/share/$NAME/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" + if [ ! -e "/usr/share/$NAME/core/app.js" ]; then + echo -e "Failed to download core." >> "/tmp/$NAME.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" - [ "${non_restart}" != "y" ] && /etc/init.d/unblockneteasemusic restart + [ "${update_core_from_luci}" == "y" ] && touch "/usr/share/$NAME/update_core_successfully" + echo -e "${core_latest_ver}" > "/usr/share/$NAME/core_local_ver" + [ "${non_restart}" != "y" ] && /etc/init.d/$NAME 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/$NAME.log" + echo -e "Current core version: ${core_latest_ver}.\n" >> "/tmp/$NAME.log" } case "$1" in