luci-app-unblockneteasemusic: bump to v2.0

This commit is contained in:
CN_SZTL 2019-09-30 20:36:47 +08:00
parent 77bc463e4a
commit 78f3beca55
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
4 changed files with 46 additions and 105 deletions

View File

@ -1,52 +0,0 @@
#
# Copyright (C) 2019 [CTCGFW]Project-OpenWRT
#
# This is free software, licensed under the GNU General Public License v3.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=UnblockNeteaseMusic-nondanee
PKG_VERSION:=latest
PKG_RELEASE:=1
PKG_LICENSE:=GPLv3
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=[CTCGFW]Project-OpenWRT
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
SECTION:=net
CATEGORY:=Network
TITLE:=Revive unavailable songs for Netease Cloud Music on OpenWRT
URL:=https://github.com/nondanee/UnblockNeteaseMusic
DEPENDS:=+node
PKGARCH:=all
endef
define Package/$(PKG_NAME)/description
Revive unavailable songs for Netease Cloud Music on OpenWRT
endef
define Build/Prepare
rm -f $(DL_DIR)/$(PKG_NAME).tar.gz
wget https://github.com/nondanee/UnblockNeteaseMusic/archive/master.tar.gz -O $(DL_DIR)/$(PKG_NAME).tar.gz
tar -xzf $(DL_DIR)/$(PKG_NAME).tar.gz -C $(PKG_BUILD_DIR)
endef
define Build/Configure
endef
define Build/Compile
endef
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/usr/share/unblockneteasemusic
cp -fpR $(PKG_BUILD_DIR)/UnblockNeteaseMusic-master/* $(1)/usr/share/unblockneteasemusic/
endef
$(eval $(call BuildPackage,$(PKG_NAME)))

View File

@ -2,19 +2,19 @@
#
# This is a free software, use it under GNU General Public License v3.0.
#
# Created By [CTCGFW]Project-OpenWRT
# Created By [CTCGFW]Project-OpenWrt
# https://github.com/project-openwrt
include $(TOPDIR)/rules.mk
LUCI_TITLE:=LuCI support for UnblockNeteaseMusic-nondanee
LUCI_DEPENDS:=+UnblockNeteaseMusic-nondanee +bash +dnsmasq-full +ipset +coreutils-nohup
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:=1.6
PKG_VERSION:=2.0
PKG_RELEASE:=1
PKG_MAINTAINER:=<https://github.com/project-openwrt/UnblockNeteaseMusic>
PKG_MAINTAINER:=[CTCGFW]Project-OpenWrt
include $(TOPDIR)/feeds/luci/luci.mk

View File

@ -1,6 +1,5 @@
mp = Map("unblockneteasemusic", translate("解除网易云音乐播放限制"))
mp.description = translate("原理:采用 [网易云旧链/QQ/虾米/百度/酷狗/酷我/咕咪/JOOX] 等音源,替换网易云音乐 无版权/收费 歌曲链接<br/>具体使用方法参见https://github.com/project-openwrt/UnblockNeteaseMusic")
mp.description = translate("原理:采用 [QQ/虾米/百度/酷狗/酷我/咕咪/JOOX] 等音源,替换网易云音乐 无版权/收费 歌曲链接<br/>具体使用方法参见https://github.com/project-openwrt/UnblockNeteaseMusic")
mp:section(SimpleSection).template = "unblockneteasemusic/unblockneteasemusic_status"
@ -18,18 +17,16 @@ account.description = translate("本插件监听的HTTP端口不可与其他
account.placeholder = "5200"
account.default = "5200"
account.datatype = "port"
account:depends("enabled", 1)
enabled.rmempty = false
account = s:option(Value, "https_port", translate("[HTTPS] 监听端口"))
account.description = translate("[如HTTP端口设置为80请将HTTPS端口设置为443] 本插件监听的HTTPS端口不可与其他程序/HTTP共用一个端口")
account.description = translate("本插件监听的HTTPS端口不可与其他程序/HTTP共用一个端口")
account.placeholder = "5201"
account.default = "5201"
account.datatype = "port"
account:depends("enabled", 1)
enabled.rmempty = false
speedtype = s:option(ListValue, "musicapptype", translate("音源接口"))
speedtype:value("default", translate("默认"))
speedtype:value("netease", translate("网易云音乐"))
speedtype:value("qq", translate("QQ音乐"))
speedtype:value("xiami", translate("虾米音乐"))
speedtype:value("baidu", translate("百度音乐"))
@ -40,26 +37,20 @@ speedtype:value("joox", translate("JOOX音乐"))
speedtype:value("all", translate("所有平台"))
speedtype.description = translate("音源调用接口")
speedtype.default = "default"
speedtype:depends("enabled", 1)
enabled = s:option(Flag, "enable_hijack", translate("启用劫持"))
enabled.description = translate("开启后,网易云音乐相关请求会被强制劫持到本插件进行处理")
account.default = 0
enabled.rmempty = false
enabled:depends("enabled", 1)
speedtype.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.default = "use_ipset"
hijack:depends("enable_hijack", 1)
hijack.default = "dont_hijack"
hijack.rmempty = false
enabled = s:option(Flag, "advanced_mode", translate("启用进阶设置"))
enabled.description = translate("仅推荐高级玩家使用")
enabled.default = 0
enabled.rmempty = false
enabled:depends("enabled", 1)
enabled = s:option(Flag, "pub_access", translate("部署到公网"))
enabled.description = translate("默认仅监听局域网,如需提供公开访问请勾选此选项;与此同时,建议勾选“启用严格模式”")
@ -73,28 +64,23 @@ enabled.default = 0
enabled.rmempty = false
enabled:depends("advanced_mode", 1)
enabled = s:option(Flag, "set_netease_server_ip", translate("自定义网易云服务器IP"))
enabled.description = translate("如手动更改了Hosts文件则必选否则将会导致连接死循环")
enabled.default = 0
enabled.rmempty = false
enabled:depends("advanced_mode", 1)
account = s:option(Value, "netease_server_ip", translate("网易云服务器IP"))
account.description = translate("通过 ping music.163.com 即可获得IP地址仅限填写一个")
account.default = "59.111.181.38"
account.placeholder = "59.111.181.38"
account.datatype = "ipaddr"
account:depends("set_netease_server_ip", 1)
account:depends("advanced_mode", 1)
enabled = s:option(Flag, "enable_proxy", translate("使用代理服务器"))
enabled.description = translate("如您的OpenWRT/LEDE系统部署在海外则此选项必选否则可能无法正常使用")
enabled.default = 0
enabled.rmempty = false
enabled:depends("advanced_mode", 1)
account = s:option(Value, "proxy_server_ip", translate("代理服务器IP"))
account.description = translate("具体格式请参考https://github.com/nondanee/UnblockNeteaseMusic")
account = s:option(Value, "endpoint_url", translate("EndPoint"))
account.description = translate("具体说明请参见https://github.com/nondanee/UnblockNeteaseMusic")
account.placeholder = "https://music.163.com"
account.datatype = "string"
account:depends("enable_proxy", 1)
account:depends("advanced_mode", 1)
account = s:option(Value, "proxy_server_ip", translate("代理服务器地址"))
account.description = translate("使用代理服务器获取音乐信息")
account.placeholder = "http(s)://host:port"
account.datatype = "string"
account:depends("advanced_mode", 1)
return mp

View File

@ -11,13 +11,26 @@ enable="$(uci get unblockneteasemusic.@unblockneteasemusic[0].enabled)"
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)"
[ "$(uci get unblockneteasemusic.@unblockneteasemusic[0].enable_hijack)" -eq "1" ] && hijack_ways="$(uci get unblockneteasemusic.@unblockneteasemusic[0].hijack_ways)"
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"
[ "$(uci get unblockneteasemusic.@unblockneteasemusic[0].set_netease_server_ip)" -ne "0" ] && netease_server_ip="-f $(uci get unblockneteasemusic.@unblockneteasemusic[0].netease_server_ip)"
[ "$(uci get unblockneteasemusic.@unblockneteasemusic[0].enable_proxy)" -ne "0" ] && proxy_server_ip="-u $(uci get unblockneteasemusic.@unblockneteasemusic[0].proxy_server_ip)"
netease_server_ip="$(uci get unblockneteasemusic.@unblockneteasemusic[0].netease_server_ip)"
[ -n "${netease_server_ip}" ] && netease_server_ip="-f ${netease_server_ip}"
endpoint_url="$(uci get unblockneteasemusic.@unblockneteasemusic[0].endpoint_url)"
[ -n "${endpoint_url}" ] && endpoint_url="-e ${endpoint_url}"
proxy_server_ip="$(uci get unblockneteasemusic.@unblockneteasemusic[0].proxy_server_ip)"
[ -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
@ -32,14 +45,6 @@ set_ipset(){
cat > "/var/etc/unblockneteasemusic.include" <<-EOF
if ! ipset list music >/dev/null; then ipset create music hash:ip; fi
iptables -t nat -N cloud_music
iptables -t nat -A cloud_music -d 0.0.0.0/8 -j RETURN
iptables -t nat -A cloud_music -d 10.0.0.0/8 -j RETURN
iptables -t nat -A cloud_music -d 127.0.0.0/8 -j RETURN
iptables -t nat -A cloud_music -d 169.254.0.0/16 -j RETURN
iptables -t nat -A cloud_music -d 172.16.0.0/12 -j RETURN
iptables -t nat -A cloud_music -d 192.168.0.0/16 -j RETURN
iptables -t nat -A cloud_music -d 224.0.0.0/4 -j RETURN
iptables -t nat -A cloud_music -d 240.0.0.0/4 -j RETURN
iptables -t nat -A cloud_music -p tcp --dport 80 -j REDIRECT --to-ports ${http_port}
iptables -t nat -A cloud_music -p tcp --dport 443 -j REDIRECT --to-ports ${https_port}
iptables -t nat -I PREROUTING -p tcp -m set --match-set music dst -j cloud_music
@ -96,12 +101,14 @@ start()
[ "${enable}" -eq "0" ] && exit 0
update_core
if [ "${type}" = "default" ]; then
nohup node /usr/share/unblockneteasemusic/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/app.js -a ${addr} -p ${http_port}:${https_port} -o kuwo migu xiami kugou qq joox netease ${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/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