From 8a2f8c03a6cfe8c28d20db78ebe6c94238a433d0 Mon Sep 17 00:00:00 2001 From: CN_SZTL <22235437+1715173329@users.noreply.github.com> Date: Mon, 17 Feb 2020 16:28:52 +0800 Subject: [PATCH] luci-app-unblockmusic: fix hijack (#3154) --- package/lean/luci-app-unblockmusic/Makefile | 13 ++++++- .../luasrc/model/cbi/unblockmusic.lua | 11 ++---- .../root/etc/config/unblockmusic | 3 +- .../root/etc/hotplug.d/iface/099-unblockmusic | 6 +++ .../root/etc/init.d/unblockmusic | 38 +++++++++---------- 5 files changed, 40 insertions(+), 31 deletions(-) create mode 100755 package/lean/luci-app-unblockmusic/root/etc/hotplug.d/iface/099-unblockmusic diff --git a/package/lean/luci-app-unblockmusic/Makefile b/package/lean/luci-app-unblockmusic/Makefile index 52e246fa7..0d5e47072 100644 --- a/package/lean/luci-app-unblockmusic/Makefile +++ b/package/lean/luci-app-unblockmusic/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-unblockmusic PKG_VERSION:=2.3.1 -PKG_RELEASE:=7 +PKG_RELEASE:=8 PKG_LICENSE:=Apache-2.0 @@ -20,5 +20,16 @@ PKG_MAINTAINER:=lean include $(TOPDIR)/feeds/luci/luci.mk +define Package/$(PKG_NAME)/postinst +#!/bin/sh +if [ -z "$${IPKG_INSTROOT}" ]; then + ( . /etc/uci-defaults/unblockmusic ) && rm -f /etc/uci-defaults/unblockmusic + rm -f /tmp/luci-indexcache + /bin/sh /etc/ppp/ip-up.d/unblockmusic.sh & + /etc/init.d/unblockmusic disable >/dev/null 2>&1 +fi +exit 0 +endef + # call BuildPackage - OpenWrt buildroot signature diff --git a/package/lean/luci-app-unblockmusic/luasrc/model/cbi/unblockmusic.lua b/package/lean/luci-app-unblockmusic/luasrc/model/cbi/unblockmusic.lua index db8463764..104baa303 100644 --- a/package/lean/luci-app-unblockmusic/luasrc/model/cbi/unblockmusic.lua +++ b/package/lean/luci-app-unblockmusic/luasrc/model/cbi/unblockmusic.lua @@ -13,11 +13,6 @@ enabled.default = 0 enabled.rmempty = false enabled.description = translate("启用后,路由器自动分流解锁,大部分设备无需设置代理") -proxy = s:option(Flag, "proxy", translate("开启独立的HTTP代理服务")) -proxy.default = 0 -proxy.rmempty = false -proxy.description = translate("某些PC版本客户端不能自动解锁,需要手动设置 HTTP代理 为 路由器IP:5200端口 ") - speedtype = s:option(ListValue, "musicapptype", translate("音源选择")) speedtype:value("default", translate("默认")) speedtype:value("netease", translate("网易云音乐")) @@ -30,9 +25,9 @@ speedtype:value("migu", translate("咕咪音乐")) speedtype:value("joox", translate("JOOX音乐")) endpoint = s:option(Value, "endpoint", translate("转发HTTPS音源地址")) -endpoint.default = "https://music.163.com" +endpoint.default = "http://music.163.com" endpoint.rmempty = true -endpoint.description = translate("默认为 https://music.163.com") +endpoint.description = translate("默认为 http://music.163.com") o = s:option(Button,"certificate",translate("HTTPS 证书")) o.inputtitle = translate("下载 CA 根证书") @@ -76,4 +71,4 @@ o.write = function() luci.http.redirect(luci.dispatcher.build_url("admin", "services", "unblockmusic")) end -return mp \ No newline at end of file +return mp diff --git a/package/lean/luci-app-unblockmusic/root/etc/config/unblockmusic b/package/lean/luci-app-unblockmusic/root/etc/config/unblockmusic index efd41ad8a..763f613d4 100644 --- a/package/lean/luci-app-unblockmusic/root/etc/config/unblockmusic +++ b/package/lean/luci-app-unblockmusic/root/etc/config/unblockmusic @@ -2,7 +2,6 @@ config unblockmusic option musicapptype 'default' option autoupdate '1' - option endpoint 'https://music.163.com' - option proxy '1' + option endpoint 'http://music.163.com' option enabled '0' diff --git a/package/lean/luci-app-unblockmusic/root/etc/hotplug.d/iface/099-unblockmusic b/package/lean/luci-app-unblockmusic/root/etc/hotplug.d/iface/099-unblockmusic new file mode 100755 index 000000000..78430ec4b --- /dev/null +++ b/package/lean/luci-app-unblockmusic/root/etc/hotplug.d/iface/099-unblockmusic @@ -0,0 +1,6 @@ +#!/bin/sh + +[ "${ACTION}" = "ifup" ] && { +sleep 10 +wget http://httpdns.n.netease.com/httpdns/v2/d?domain=music.163.com,interface.music.163.com,interface3.music.163.com,apm.music.163.com,apm3.music.163.com,clientlog.music.163.com,clientlog3.music.163.com -O- | grep -Eo '[0-9]+?\.[0-9]+?\.[0-9]+?\.[0-9]+?' | sort | uniq | awk '{print "ipset -! add music "$1}' | sh +} diff --git a/package/lean/luci-app-unblockmusic/root/etc/init.d/unblockmusic b/package/lean/luci-app-unblockmusic/root/etc/init.d/unblockmusic index 4c8bf794c..c92f172c1 100755 --- a/package/lean/luci-app-unblockmusic/root/etc/init.d/unblockmusic +++ b/package/lean/luci-app-unblockmusic/root/etc/init.d/unblockmusic @@ -25,8 +25,8 @@ add_rule() $ipt_n -A cloud_music -d 192.168.0.0/16 -j RETURN $ipt_n -A cloud_music -d 224.0.0.0/4 -j RETURN $ipt_n -A cloud_music -d 240.0.0.0/4 -j RETURN - $ipt_n -A cloud_music -p tcp --dport 80 -j REDIRECT --to-ports 5201 - $ipt_n -A cloud_music -p tcp --dport 443 -j REDIRECT --to-ports 5202 + $ipt_n -A cloud_music -p tcp --dport 80 -j REDIRECT --to-ports 5200 + $ipt_n -A cloud_music -p tcp --dport 443 -j REDIRECT --to-ports 5201 $ipt_n -I PREROUTING -p tcp -m set --match-set music dst -j cloud_music iptables -I OUTPUT -d 223.252.199.10 -j DROP } @@ -42,27 +42,29 @@ del_rule(){ } set_firewall(){ - rm -f /tmp/dnsmasq.d/dnsmasq-163.conf - mkdir -p /tmp/dnsmasq.d - echo "ipset=/music.163.com/music" >> /tmp/dnsmasq.d/dnsmasq-163.conf - echo "ipset=/interface.music.163.com/music" >> /tmp/dnsmasq.d/dnsmasq-163.conf - echo "ipset=/interface3.music.163.com/music" >> /tmp/dnsmasq.d/dnsmasq-163.conf - echo "ipset=/apm.music.163.com/music" >> /tmp/dnsmasq.d/dnsmasq-163.conf - echo "ipset=/apm3.music.163.com/music" >> /tmp/dnsmasq.d/dnsmasq-163.conf - /etc/init.d/dnsmasq restart >/dev/null 2>&1 + rm -f /tmp/dnsmasq.d/dnsmasq-163.conf + mkdir -p /tmp/dnsmasq.d + cat <<-EOF > "/tmp/dnsmasq.d/dnsmasq-163.conf" +ipset=/.music.163.com/music +ipset=/interface.music.163.com/music +ipset=/interface3.music.163.com/music +ipset=/apm.music.163.com/music +ipset=/apm3.music.163.com/music +ipset=/clientlog.music.163.com/music +ipset=/clientlog3.music.163.com/music + EOF + /etc/init.d/dnsmasq reload >/dev/null 2>&1 add_rule mkdir -p /var/etc - cat > "/var/etc/unblockmusic.include" <<-EOF -/etc/init.d/unblockmusic restart - EOF + echo -e "/etc/init.d/unblockmusic restart" > "/var/etc/unblockmusic.include" } add_cron() { if [ $AUTOUPDATE -eq 1 ]; then - sed -i '/update_core.sh/d' $CRON_FILE + sed -i '/update_core.sh/d' $CRON_FILE echo '0 2 * * * /usr/share/UnblockNeteaseMusic/update_core.sh 2>&1' >> $CRON_FILE crontab $CRON_FILE fi @@ -95,15 +97,11 @@ start() musictype="-o $TYPE" fi - node /usr/share/UnblockNeteaseMusic/app.js $endponintset -p 5201:5202 $musictype >>/tmp/unblockmusic.log 2>&1 & - - if [ $PROXY -eq "1" ]; then - node /usr/share/UnblockNeteaseMusic/app.js -p 5200 $musictype >>/tmp/unblockmusic.log 2>&1 & - fi + node /usr/share/UnblockNeteaseMusic/app.js $endponintset -p 5200:5201 $musictype >>/tmp/unblockmusic.log 2>&1 & set_firewall add_cron - + /usr/share/UnblockNeteaseMusic/logcheck.sh >/dev/null 2>&1 & }