luci-app-unblockneteasemusic: bump to v2.1
This commit is contained in:
parent
fe9d7e2d66
commit
a7b0da1800
@ -11,8 +11,8 @@ LUCI_TITLE:=LuCI support for UnblockNeteaseMusic
|
||||
LUCI_DEPENDS:=+bash +busybox +coreutils-nohup +curl +dnsmasq-full +ipset +libopenssl +node
|
||||
LUCI_PKGARCH:=all
|
||||
PKG_NAME:=luci-app-unblockneteasemusic
|
||||
PKG_VERSION:=2.0
|
||||
PKG_RELEASE:=2
|
||||
PKG_VERSION:=2.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_MAINTAINER:=[CTCGFW]Project-OpenWrt
|
||||
|
||||
|
||||
@ -12,6 +12,15 @@ enabled.description = translate("启用本插件以解除网易云音乐播放
|
||||
enabled.default = 0
|
||||
enabled.rmempty = false
|
||||
|
||||
button_update_core = s:option (Button, "_button_update_core", translate("更新主程序"))
|
||||
button_update_core.description = translate("更新完毕后会自动重启插件;更新插件需要一点时间,请不要反复点击按钮")
|
||||
local latest_ver = luci.sys.exec("/bin/bash /usr/share/unblockneteasemusic/check_update.sh")
|
||||
button_update_core.inputtitle = translate (latest_ver)
|
||||
button_update_core.inputstyle = "apply"
|
||||
function button_update_core.write (self, section, value)
|
||||
luci.sys.call ("/bin/bash /usr/share/unblockneteasemusic/update_core.sh &")
|
||||
end
|
||||
|
||||
account = s:option(Value, "http_port", translate("[HTTP] 监听端口"))
|
||||
account.description = translate("本插件监听的HTTP端口,不可与其他程序/HTTPS共用一个端口")
|
||||
account.placeholder = "5200"
|
||||
@ -47,6 +56,11 @@ hijack.description = translate("如果使用Hosts劫持,请将HTTP/HTTPS端口
|
||||
hijack.default = "dont_hijack"
|
||||
hijack.rmempty = false
|
||||
|
||||
enabled = s:option(Flag, "auto_update", translate("启用自动更新"))
|
||||
enabled.description = translate("启用后会在每天凌晨检测最新版本并自动更新")
|
||||
enabled.default = 0
|
||||
enabled.rmempty = false
|
||||
|
||||
enabled = s:option(Flag, "advanced_mode", translate("启用进阶设置"))
|
||||
enabled.description = translate("仅推荐高级玩家使用")
|
||||
enabled.default = 0
|
||||
@ -72,7 +86,7 @@ account:depends("set_netease_server_ip", 1)
|
||||
account:depends("advanced_mode", 1)
|
||||
|
||||
account = s:option(Value, "endpoint_url", translate("EndPoint"))
|
||||
account.description = translate("具体说明请参见:https://github.com/nondanee/UnblockNeteaseMusic")
|
||||
account.description = translate("具体说明参见:https://github.com/nondanee/UnblockNeteaseMusic")
|
||||
account.placeholder = "https://music.163.com"
|
||||
account.datatype = "string"
|
||||
account:depends("advanced_mode", 1)
|
||||
|
||||
@ -12,26 +12,17 @@ http_port="$(uci get unblockneteasemusic.@unblockneteasemusic[0].http_port)"
|
||||
https_port="$(uci get unblockneteasemusic.@unblockneteasemusic[0].https_port)"
|
||||
type="$(uci get unblockneteasemusic.@unblockneteasemusic[0].musicapptype)"
|
||||
hijack_ways="$(uci get unblockneteasemusic.@unblockneteasemusic[0].hijack_ways)"
|
||||
[ "$(uci get unblockneteasemusic.@unblockneteasemusic[0].pub_access)" -ne "0" ] && addr="0.0.0.0" || addr="${lan_addr}"
|
||||
[ "$(uci get unblockneteasemusic.@unblockneteasemusic[0].strict_mode)" -eq "1" ] && strict_mode="-s"
|
||||
auto_update="$(uci get unblockneteasemusic.@unblockneteasemusic[0].auto_update)"
|
||||
[ "*$(uci get unblockneteasemusic.@unblockneteasemusic[0].pub_access 2>/dev/null)*" = "*1*" ] && addr="0.0.0.0" || addr="${lan_addr}"
|
||||
[ "*$(uci get unblockneteasemusic.@unblockneteasemusic[0].strict_mode 2>/dev/null)*" = "*1*" ] && strict_mode="-s"
|
||||
|
||||
netease_server_ip="$(uci get unblockneteasemusic.@unblockneteasemusic[0].netease_server_ip)"
|
||||
netease_server_ip="$(uci get unblockneteasemusic.@unblockneteasemusic[0].netease_server_ip 2>/dev/null)"
|
||||
[ -n "${netease_server_ip}" ] && netease_server_ip="-f ${netease_server_ip}"
|
||||
endpoint_url="$(uci get unblockneteasemusic.@unblockneteasemusic[0].endpoint_url)"
|
||||
endpoint_url="$(uci get unblockneteasemusic.@unblockneteasemusic[0].endpoint_url 2>/dev/null)"
|
||||
[ -n "${endpoint_url}" ] && endpoint_url="-e ${endpoint_url}"
|
||||
proxy_server_ip="$(uci get unblockneteasemusic.@unblockneteasemusic[0].proxy_server_ip)"
|
||||
proxy_server_ip="$(uci get unblockneteasemusic.@unblockneteasemusic[0].proxy_server_ip 2>/dev/null)"
|
||||
[ -n "${proxy_server_ip}" ] && proxy_server_ip="-u ${proxy_server_ip}"
|
||||
|
||||
update_core(){
|
||||
mkdir -p "/usr/share/unblockneteasemusic/core" >/dev/null 2>&1
|
||||
rm -rf /usr/share/unblockneteasemusic/core/* >/dev/null 2>&1
|
||||
curl -L "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
|
||||
[ ! -e "/usr/share/unblockneteasemusic/core/app.js" ] && echo "Failed to download core." && exit 1
|
||||
}
|
||||
|
||||
set_ipset(){
|
||||
if [ "${set_type}" = "start" ]; then
|
||||
mkdir -p "/tmp/dnsmasq.d"
|
||||
@ -124,35 +115,41 @@ start()
|
||||
|
||||
[ "${enable}" -eq "0" ] && exit 0
|
||||
|
||||
update_core
|
||||
[ ! -e "/usr/share/unblockneteasemusic/core/app.js" ] && bash /usr/share/unblockneteasemusic/update_core.sh && [ $? -eq 1 ] && exit 1
|
||||
|
||||
if [ "${type}" = "default" ]; then
|
||||
nohup node /usr/share/unblockneteasemusic/core/app.js -a "${addr}" -p "${http_port}":"${https_port}" ${netease_server_ip} ${proxy_server_ip} ${strict_mode} >/tmp/unblockneteasemusic.log 2>&1 &
|
||||
nohup node /usr/share/unblockneteasemusic/core/app.js -a "${addr}" -p "${http_port}":"${https_port}" ${netease_server_ip} ${proxy_server_ip} ${strict_mode} >>/tmp/unblockneteasemusic.log 2>&1 &
|
||||
elif [ "${type}" = "all" ]; then
|
||||
nohup node /usr/share/unblockneteasemusic/core/app.js -a "${addr}" -p "${http_port}":"${https_port}" -o "kuwo migu qq xiami kugou joox" ${netease_server_ip} ${proxy_server_ip} ${strict_mode} >/tmp/unblockneteasemusic.log 2>&1 &
|
||||
nohup node /usr/share/unblockneteasemusic/core/app.js -a "${addr}" -p "${http_port}":"${https_port}" -o "kuwo migu qq xiami kugou joox" ${netease_server_ip} ${proxy_server_ip} ${strict_mode} >>/tmp/unblockneteasemusic.log 2>&1 &
|
||||
else
|
||||
nohup node /usr/share/unblockneteasemusic/core/app.js -a "${addr}" -p "${http_port}":"${https_port}" -o "${type}" ${netease_server_ip} ${proxy_server_ip} ${strict_mode} >/tmp/unblockneteasemusic.log 2>&1 &
|
||||
nohup node /usr/share/unblockneteasemusic/core/app.js -a "${addr}" -p "${http_port}":"${https_port}" -o "${type}" ${netease_server_ip} ${proxy_server_ip} ${strict_mode} >>/tmp/unblockneteasemusic.log 2>&1 &
|
||||
fi
|
||||
|
||||
if [ "*${hijack_ways}*" = "*use_ipset*" ]; then
|
||||
set_type="start"
|
||||
set_ipset
|
||||
set_ipset >/dev/null 2>&1
|
||||
elif [ "*${hijack_ways}*" = "*use_hosts*" ]; then
|
||||
set_type="start"
|
||||
set_hosts
|
||||
set_hosts >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
nohup /usr/share/unblockneteasemusic/logcheck.sh >/dev/null 2>&1 &
|
||||
sed -i '/unblockneteasemusic/d' /etc/crontabs/root
|
||||
[ "${auto_update}" -eq "1" ] && echo "30 3 * * * /usr/share/unblockneteasemusic/update_core.sh" >> "/etc/crontabs/root"
|
||||
echo "*/5 * * * * /usr/share/unblockneteasemusic/log_check.sh" >> "/etc/crontabs/root"
|
||||
/etc/init.d/cron restart >/dev/null 2>&1
|
||||
}
|
||||
|
||||
stop()
|
||||
{
|
||||
{ ps |grep "unblockneteasemusic" |grep "app.js" |grep -v "grep" |awk '{print $1}' |xargs kill -9; } >/dev/null 2>&1
|
||||
{ ps |grep "unblockneteasemusic" |grep "logcheck.sh" |grep -v "grep" |awk '{print $1}' |xargs kill -9; } >/dev/null 2>&1
|
||||
|
||||
|
||||
sed -i '/unblockneteasemusic/d' /etc/crontabs/root
|
||||
/etc/init.d/cron restart >/dev/null 2>&1
|
||||
|
||||
rm -f /tmp/unblockneteasemusic.log
|
||||
|
||||
set_type="stop"
|
||||
set_ipset
|
||||
set_hosts
|
||||
set_ipset >/dev/null 2>&1
|
||||
set_hosts >/dev/null 2>&1
|
||||
}
|
||||
|
||||
@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
# Created By [CTCGFW]Project OpenWRT
|
||||
# https://github.com/project-openwrt
|
||||
|
||||
commit_info="$(curl -s https://github.com/nondanee/UnblockNeteaseMusic/commits/master)"
|
||||
latest_ver="$(echo -e "${commit_info}" |tr '\n' ' ' | grep -Eo 'commit\/[0-9a-z]+' |sed -n 1p |sed 's#commit/##g')"
|
||||
latest_ver_mini="$(echo -e "${commit_info}" |tr -d '\n' | grep -Eo 'BtnGroup-item"> [0-9a-z]+' |sed -n 1p |sed 's#BtnGroup-item"> ##g')"
|
||||
|
||||
[ -z "${commit_info}" ] && echo "无法检测最新版本,请稍后重试" && exit 1
|
||||
[ -z "${latest_ver}" ] && echo "无法检测最新版本,请稍后重试" && exit 1
|
||||
[ -z "${latest_ver_mini}" ] && echo "无法检测最新版本,请稍后重试" && exit 1
|
||||
|
||||
if [ ! -e "/usr/share/unblockneteasemusic/local_ver" ]; then
|
||||
echo "最新版本:${latest_ver_mini},点此更新"
|
||||
else
|
||||
if [ "$(cat /usr/share/unblockneteasemusic/local_ver)" != "${latest_ver}" ]; then
|
||||
echo "最新版本:${latest_ver_mini},点此更新"
|
||||
else
|
||||
echo "目前已是最新版本,无需更新"
|
||||
fi
|
||||
fi
|
||||
@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
# Created By [CTCGFW]Project OpenWRT
|
||||
# https://github.com/project-openwrt
|
||||
|
||||
log_max_size="4" #使用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}"
|
||||
@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Created By [CTCGFW]Project OpenWRT
|
||||
# https://github.com/project-openwrt
|
||||
|
||||
log_max_size="4" #使用KB计算
|
||||
log_file="/tmp/unblockneteasemusic.log"
|
||||
|
||||
while true
|
||||
do
|
||||
(( log_size = "$(ls -l "${log_file}" | awk -F ' ' '{print $5}')" / "1024" ))
|
||||
(( "${log_size}" >= "${log_max_size}" )) && echo "" > "${log_file}"
|
||||
sleep 5m
|
||||
done
|
||||
@ -0,0 +1,67 @@
|
||||
#!/bin/bash
|
||||
# Created By [CTCGFW]Project OpenWRT
|
||||
# https://github.com/project-openwrt
|
||||
|
||||
function check_if_enable(){
|
||||
[ "$(uci get unblockneteasemusic.@unblockneteasemusic[0].enabled)" -eq "0" ] && exit 2
|
||||
}
|
||||
|
||||
function check_if_already_running(){
|
||||
running_tasks="$(ps |grep "unblockneteasemusic" |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 clean_log(){
|
||||
echo "" > /tmp/unblockneteasemusic.log
|
||||
}
|
||||
|
||||
function check_latest_version(){
|
||||
latest_ver="$(curl -s https://github.com/nondanee/UnblockNeteaseMusic/commits/master |tr '\n' ' ' | grep -Eo 'commit\/[0-9a-z]+' |sed -n 1p |sed 's#commit/##g')"
|
||||
[ -z "${latest_ver}" ] && echo -e "\nFailed to check latest version, please try again later." >>/tmp/unblockneteasemusic.log && exit 1
|
||||
if [ ! -e "/usr/share/unblockneteasemusic/local_ver" ]; then
|
||||
clean_log
|
||||
echo -e "Local version: NOT FOUND, cloud version: ${latest_ver}." >>/tmp/unblockneteasemusic.log
|
||||
update_core
|
||||
else
|
||||
if [ "$(cat /usr/share/unblockneteasemusic/local_ver)" != "${latest_ver}" ]; then
|
||||
clean_log
|
||||
echo -e "Local version: $(cat /usr/share/unblockneteasemusic/local_ver 2>/dev/null), cloud version: ${latest_ver}." >>/tmp/unblockneteasemusic.log
|
||||
update_core
|
||||
else
|
||||
echo -e "\nLocal version: $(cat /usr/share/unblockneteasemusic/local_ver 2>/dev/null), cloud version: ${latest_ver}." >>/tmp/unblockneteasemusic.log
|
||||
echo -e "You're already using the latest version." >>/tmp/unblockneteasemusic.log
|
||||
exit 3
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
function update_core(){
|
||||
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
|
||||
|
||||
curl -L "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
|
||||
|
||||
if [ ! -e "/usr/share/unblockneteasemusic/core/app.js" ]; then
|
||||
echo -e "Failed to download core." >>/tmp/unblockneteasemusic.log
|
||||
exit 1
|
||||
else
|
||||
echo -e "${latest_ver}" > /usr/share/unblockneteasemusic/local_ver
|
||||
/etc/init.d/unblockneteasemusic restart
|
||||
fi
|
||||
|
||||
echo -e "Succeeded in updating core." >/tmp/unblockneteasemusic.log
|
||||
echo -e "Local version: $(cat /usr/share/unblockneteasemusic/local_ver 2>/dev/null), cloud version: ${latest_ver}.\n" >>/tmp/unblockneteasemusic.log
|
||||
}
|
||||
|
||||
function main(){
|
||||
check_if_enable
|
||||
check_if_already_running
|
||||
check_latest_version
|
||||
}
|
||||
|
||||
main
|
||||
Loading…
Reference in New Issue
Block a user