diff --git a/package/cnsztl/UnblockNeteaseMusic-nondanee/Makefile b/package/cnsztl/UnblockNeteaseMusic-nondanee/Makefile deleted file mode 100644 index 51f5bddbca..0000000000 --- a/package/cnsztl/UnblockNeteaseMusic-nondanee/Makefile +++ /dev/null @@ -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))) diff --git a/package/cnsztl/luci-app-unblockneteasemusic/Makefile b/package/cnsztl/luci-app-unblockneteasemusic/Makefile index 07947ae13a..c559d40386 100644 --- a/package/cnsztl/luci-app-unblockneteasemusic/Makefile +++ b/package/cnsztl/luci-app-unblockneteasemusic/Makefile @@ -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:= +PKG_MAINTAINER:=[CTCGFW]Project-OpenWrt include $(TOPDIR)/feeds/luci/luci.mk diff --git a/package/cnsztl/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic.lua b/package/cnsztl/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic.lua index 8005b5d47b..b62544c4c4 100644 --- a/package/cnsztl/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic.lua +++ b/package/cnsztl/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic.lua @@ -1,6 +1,5 @@ - mp = Map("unblockneteasemusic", translate("解除网易云音乐播放限制")) -mp.description = translate("原理:采用 [网易云旧链/QQ/虾米/百度/酷狗/酷我/咕咪/JOOX] 等音源,替换网易云音乐 无版权/收费 歌曲链接
具体使用方法参见:https://github.com/project-openwrt/UnblockNeteaseMusic") +mp.description = translate("原理:采用 [QQ/虾米/百度/酷狗/酷我/咕咪/JOOX] 等音源,替换网易云音乐 无版权/收费 歌曲链接
具体使用方法参见: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 diff --git a/package/cnsztl/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic b/package/cnsztl/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic index e75d755443..b431d7ffea 100755 --- a/package/cnsztl/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic +++ b/package/cnsztl/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic @@ -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