From b3941bdfe2745c589769457520c92ae61eec7ec7 Mon Sep 17 00:00:00 2001 From: CN_SZTL Date: Wed, 1 Jan 2020 17:30:15 +0800 Subject: [PATCH] luci-app-unblockneteasemusic: sync with upstream source --- .../luci-app-unblockneteasemusic/Makefile | 4 +- .../luasrc/model/cbi/unblockneteasemusic.lua | 56 ++++++++++++------- .../root/etc/config/unblockneteasemusic | 10 +++- .../root/etc/init.d/unblockneteasemusic | 46 +++++++++------ 4 files changed, 72 insertions(+), 44 deletions(-) diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/Makefile b/package/ctcgfw/luci-app-unblockneteasemusic/Makefile index b319c048b2..90212502b0 100644 --- a/package/ctcgfw/luci-app-unblockneteasemusic/Makefile +++ b/package/ctcgfw/luci-app-unblockneteasemusic/Makefile @@ -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.5 -PKG_RELEASE:=3 +PKG_VERSION:=2.6 +PKG_RELEASE:=1 PKG_MAINTAINER:=[CTCGFW]Project-OpenWrt diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic.lua b/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic.lua index 44122fec7f..4120211560 100644 --- a/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic.lua +++ b/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic.lua @@ -12,20 +12,6 @@ enable.description = translate("启用本插件以解除网易云音乐播放限 enable.default = 0 enable.rmempty = false -http_port = s:option(Value, "http_port", translate("[HTTP] 监听端口")) -http_port.description = translate("本插件监听的HTTP端口,不可与其他程序/HTTPS共用一个端口") -http_port.placeholder = "5200" -http_port.default = "5200" -http_port.datatype = "port" -http_port.rmempty = false - -https_port = s:option(Value, "https_port", translate("[HTTPS] 监听端口")) -https_port.description = translate("本插件监听的HTTPS端口,不可与其他程序/HTTP共用一个端口") -https_port.placeholder = "5201" -https_port.default = "5201" -https_port.datatype = "port" -https_port.rmempty = false - music_source = s:option(ListValue, "music_source", translate("音源接口")) music_source:value("default", translate("默认")) music_source:value("qq", translate("QQ音乐")) @@ -51,11 +37,17 @@ youtube_key.description = translate("API Key申请地址:https://developers.go youtube_key.datatype = "string" youtube_key:depends("music_source", "youtube") +endpoint_url = s:option(Value, "endpoint_url", translate("EndPoint")) +endpoint_url.description = translate("具体说明参见:https://github.com/nondanee/UnblockNeteaseMusic") +endpoint_url.placeholder = "https://music.163.com" +endpoint_url.datatype = "string" +endpoint_url.rmempty = false + hijack = s:option(ListValue, "hijack_ways", translate("劫持方法")) hijack:value("dont_hijack", translate("不开启劫持")) hijack:value("use_ipset", translate("使用IPSet劫持")) hijack:value("use_hosts", translate("使用Hosts劫持")) -hijack.description = translate("如果使用Hosts劫持,请将HTTP/HTTPS端口设置为80/443") +hijack.description = translate("如果使用Hosts劫持,主实例的HTTP/HTTPS端口将被锁定为80/443") hijack.default = "dont_hijack" hijack.rmempty = false @@ -77,6 +69,34 @@ advanced_mode.description = translate("仅推荐高级玩家使用") advanced_mode.default = 0 advanced_mode.rmempty = false +http_port = s:option(Value, "http_port", translate("主实例 [HTTP] 监听端口")) +http_port.description = translate("主实例监听的HTTP端口,不可与苹果实例/其他程序/HTTPS共用一个端口") +http_port.placeholder = "5200" +http_port.default = "5200" +http_port.datatype = "port" +http_port:depends("advanced_mode", 1) + +https_port = s:option(Value, "https_port", translate("主实例 [HTTPS] 监听端口")) +https_port.description = translate("主实例监听的HTTPS端口,不可与苹果实例/其他程序/HTTP共用一个端口") +https_port.placeholder = "5201" +https_port.default = "5201" +https_port.datatype = "port" +https_port:depends("advanced_mode", 1) + +apple_http_port = s:option(Value, "apple_http_port", translate("苹果实例 [HTTP] 监听端口")) +apple_http_port.description = translate("苹果实例监听的HTTP端口,不可与主实例/其他程序/HTTPS共用一个端口") +apple_http_port.placeholder = "5202" +apple_http_port.default = "5202" +apple_http_port.datatype = "port" +apple_http_port:depends("advanced_mode", 1) + +apple_https_port = s:option(Value, "apple_https_port", translate("苹果实例 [HTTPS] 监听端口")) +apple_https_port.description = translate("苹果实例监听的HTTPS端口,不可与主实例/其他程序/HTTP共用一个端口") +apple_https_port.placeholder = "5203" +apple_https_port.default = "5203" +apple_https_port.datatype = "port" +apple_https_port:depends("advanced_mode", 1) + daemon_enable = s:option(Flag, "daemon_enable", translate("启用进程守护")) daemon_enable.description = translate("开启后,附属程序会自动检测主程序运行状态,在主程序退出时自动重启") daemon_enable.default = 0 @@ -108,12 +128,6 @@ netease_server_ip.datatype = "ipaddr" netease_server_ip:depends("set_netease_server_ip", 1) netease_server_ip:depends("advanced_mode", 1) -endpoint_url = s:option(Value, "endpoint_url", translate("EndPoint")) -endpoint_url.description = translate("具体说明参见:https://github.com/nondanee/UnblockNeteaseMusic") -endpoint_url.placeholder = "https://music.163.com" -endpoint_url.datatype = "string" -endpoint_url:depends("advanced_mode", 1) - proxy_server_ip = s:option(Value, "proxy_server_ip", translate("代理服务器地址")) proxy_server_ip.description = translate("使用代理服务器获取音乐信息") proxy_server_ip.placeholder = "http(s)://host:port" diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/config/unblockneteasemusic b/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/config/unblockneteasemusic index 6542ec9f3b..19c8e5175b 100644 --- a/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/config/unblockneteasemusic +++ b/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/config/unblockneteasemusic @@ -1,17 +1,21 @@ config unblockneteasemusic option enable '0' - option http_port '5200' - option https_port '5201' option music_source 'default' + option qq_cookie '' + option youtube_key '' + option endpoint_url 'https://music.163.com' option hijack_ways 'use_ipset' option auto_update '1' option update_time '3' option advanced_mode '0' + option http_port '5200' + option https_port '5201' + option apple_http_port '5202' + option apple_https_port '5203' option daemon_enable '0' option keep_core_when_upgrade '0' option pub_access '0' option strict_mode '0' option netease_server_ip '59.111.181.38' - option endpoint_url 'https://music.163.com' option proxy_server_ip '' 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 bef1bb3d53..7de19a9aee 100755 --- a/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic +++ b/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic @@ -8,22 +8,29 @@ STOP=10 lan_addr="$(uci get network.lan.ipaddr)" enable="$(uci get unblockneteasemusic.@unblockneteasemusic[0].enable)" -http_port="$(uci get unblockneteasemusic.@unblockneteasemusic[0].http_port)" -https_port="$(uci get unblockneteasemusic.@unblockneteasemusic[0].https_port)" + music_source="$(uci get unblockneteasemusic.@unblockneteasemusic[0].music_source)" -qq_cookie="$(uci get unblockneteasemusic.@unblockneteasemusic[0].qq_cookie 2> "/dev/null")" -youtube_key="$(uci get unblockneteasemusic.@unblockneteasemusic[0].youtube_key 2> "/dev/null")" +qq_cookie="$(uci get unblockneteasemusic.@unblockneteasemusic[0].qq_cookie 2>"/dev/null")" +youtube_key="$(uci get unblockneteasemusic.@unblockneteasemusic[0].youtube_key 2>"/dev/null")" + +endpoint_url="$(uci get unblockneteasemusic.@unblockneteasemusic[0].endpoint_url)" hijack_ways="$(uci get unblockneteasemusic.@unblockneteasemusic[0].hijack_ways)" + auto_update="$(uci get unblockneteasemusic.@unblockneteasemusic[0].auto_update)" update_time="$(uci get unblockneteasemusic.@unblockneteasemusic[0].update_time)" -keep_core_when_upgrade="$(uci get unblockneteasemusic.@unblockneteasemusic[0].keep_core_when_upgrade 2> "/dev/null")" -[ "*$(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 2> "/dev/null")" + +http_port="$(uci get unblockneteasemusic.@unblockneteasemusic[0].http_port 2>"/dev/null" || echo "5200")" +https_port="$(uci get unblockneteasemusic.@unblockneteasemusic[0].https_port 2>"/dev/null" || echo "5201")" +apple_http_port="$(uci get unblockneteasemusic.@unblockneteasemusic[0].apple_http_port 2>"/dev/null" || echo "5202")" +apple_https_port="$(uci get unblockneteasemusic.@unblockneteasemusic[0].apple_https_port 2>"/dev/null" || echo "5203")" + +keep_core_when_upgrade="$(uci get unblockneteasemusic.@unblockneteasemusic[0].keep_core_when_upgrade 2>"/dev/null")" +[ "*$(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 2>"/dev/null")" [ -n "${netease_server_ip}" ] && netease_server_ip="-f ${netease_server_ip}" -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 2> "/dev/null")" +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}" set_ipset(){ @@ -31,7 +38,7 @@ set_ipset(){ mkdir -p "/tmp/dnsmasq.d" rm -f "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic.conf" cat <<-EOF > "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic.conf" -dhcp-option=252,http://${lan_addr}:${http_port}/proxy.pac +dhcp-option=252,http://${lan_addr}:${apple_http_port}/proxy.pac ipset=/.music.163.com/music ipset=/interface.music.163.com/music ipset=/interface3.music.163.com/music @@ -76,7 +83,7 @@ set_hosts(){ mkdir -p "/tmp/dnsmasq.d" rm -f "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic.conf" cat <<-EOF > "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic.conf" -dhcp-option=252,http://${lan_addr}:${http_port}/proxy.pac +dhcp-option=252,http://${lan_addr}:${apple_http_port}/proxy.pac address=/music.163.com/${lan_addr} address=/interface.music.163.com/${lan_addr} address=/interface3.music.163.com/${lan_addr} @@ -133,19 +140,22 @@ start() sed -i -e "1i const key = '${youtube_key}'" "/usr/share/unblockneteasemusic/core/provider/youtube.js" fi + [ "${hijack_ways}" = "use_hosts" ] && { http_port="80"; https_port="443"; } if [ "${music_source}" = "default" ]; then - nohup node "/usr/share/unblockneteasemusic/core/app.js" -a "${addr}" -p "${http_port}":"${https_port}" ${netease_server_ip} ${proxy_server_ip} ${endpoint_url} ${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 & + nohup node "/usr/share/unblockneteasemusic/core/app.js" -a "${addr}" -p "${apple_http_port}":"${apple_https_port}" -e "${endpoint_url}" ${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 "${music_source}" ${netease_server_ip} ${proxy_server_ip} ${endpoint_url} ${strict_mode} >> "/tmp/unblockneteasemusic.log" 2>&1 & + nohup node "/usr/share/unblockneteasemusic/core/app.js" -a "${addr}" -p "${http_port}":"${https_port}" -o "${music_source}" ${netease_server_ip} ${proxy_server_ip} ${strict_mode} >> "/tmp/unblockneteasemusic.log" 2>&1 & + nohup node "/usr/share/unblockneteasemusic/core/app.js" -a "${addr}" -p "${apple_http_port}":"${apple_https_port}" -o "${music_source}" -e "${endpoint_url}" ${netease_server_ip} ${proxy_server_ip} ${strict_mode} >> "/tmp/unblockneteasemusic.log" 2>&1 & fi set_type="start" - if [ "*${hijack_ways}*" = "*use_ipset*" ]; then + if [ "${hijack_ways}" = "use_ipset" ]; then set_ipset > "/dev/null" 2>&1 - elif [ "*${hijack_ways}*" = "*use_hosts*" ]; then + elif [ "${hijack_ways}" = "use_hosts" ]; then set_hosts > "/dev/null" 2>&1 fi - [ "*$(uci get unblockneteasemusic.@unblockneteasemusic[0].pub_access 2> "/dev/null")*" = "*1*" ] && set_ports > "/dev/null" 2>&1 + [ "*$(uci get unblockneteasemusic.@unblockneteasemusic[0].pub_access 2>"/dev/null")*" = "*1*" ] && set_ports > "/dev/null" 2>&1 sed -i '/unblockneteasemusic/d' /etc/crontabs/root [ "${auto_update}" -eq "1" ] && echo "0 ${update_time} * * * /usr/share/unblockneteasemusic/update_core.sh" >> "/etc/crontabs/root"