luci-app-unblockneteasemusic: sync with upstream source

This commit is contained in:
CN_SZTL 2020-01-01 17:30:15 +08:00
parent bf4e77edaf
commit b3941bdfe2
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
4 changed files with 72 additions and 44 deletions

View File

@ -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

View File

@ -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"

View File

@ -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 ''

View File

@ -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"