diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-mini/Makefile b/package/ctcgfw/luci-app-unblockneteasemusic-mini/Makefile index 7006e76854..d088952458 100644 --- a/package/ctcgfw/luci-app-unblockneteasemusic-mini/Makefile +++ b/package/ctcgfw/luci-app-unblockneteasemusic-mini/Makefile @@ -8,9 +8,9 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-unblockneteasemusic-mini -PKG_VERSION:=1.1 -PKG_RELEASE:=4 -LUCI_TITLE:=LuCI support for UnblockNeteaseMusic +PKG_VERSION:=1.2 +PKG_RELEASE:=1 +LUCI_TITLE:=LuCI support for UnblockNeteaseMusic(-Go) LUCI_DEPENDS:=+busybox +dnsmasq-full +ipset +iptables +wget LUCI_PKGARCH:=all diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-mini/luasrc/model/cbi/unblockneteasemusic-mini.lua b/package/ctcgfw/luci-app-unblockneteasemusic-mini/luasrc/model/cbi/unblockneteasemusic-mini.lua index 01a456a6fb..6b36648e1f 100644 --- a/package/ctcgfw/luci-app-unblockneteasemusic-mini/luasrc/model/cbi/unblockneteasemusic-mini.lua +++ b/package/ctcgfw/luci-app-unblockneteasemusic-mini/luasrc/model/cbi/unblockneteasemusic-mini.lua @@ -15,7 +15,14 @@ enable.description = translate("启用本插件以解除网易云音乐播放限 enable.default = 0 enable.rmempty = false +select_server = s:option(ListValue, "select_server", translate("服务端类型")) +select_server:value("tencent_shanghai_nodejs", translate("腾讯云上海 Node.js 版本(稳定)")) +select_server:value("anhui_telecom_golang", translate("安徽电信 Golang 版本(高速率)")) +select_server.description = translate("Node.js版使用QQ、酷我、咪咕音源,Golang版使用酷狗、酷我音源") +select_server.default = "tencent_shanghai_nodejs" +select_server.rmempty = false + download_certificate=s:option(DummyValue,"opennewwindow",translate("")) -download_certificate.description = translate("Linux/iOS/MacOSX设备在信任根证书后方可正常使用解锁功能。") +download_certificate.description = translate("Linux/iOS/iPad/MacOSX设备在信任根证书后方可正常使用解锁功能。") return mp diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/config/unblockneteasemusic-mini b/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/config/unblockneteasemusic-mini index 99797a46a3..3766496e4d 100644 --- a/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/config/unblockneteasemusic-mini +++ b/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/config/unblockneteasemusic-mini @@ -1,3 +1,5 @@ config unblockneteasemusic-mini option enable '0' + option select_server 'tencent_shanghai_nodejs' + diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/init.d/unblockneteasemusic-mini b/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/init.d/unblockneteasemusic-mini index a4b20d6a9c..9dc2a2c798 100755 --- a/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/init.d/unblockneteasemusic-mini +++ b/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/init.d/unblockneteasemusic-mini @@ -6,53 +6,63 @@ START=80 STOP=10 enable="$(uci get unblockneteasemusic-mini.@unblockneteasemusic-mini[0].enable)" +select_server="$(uci get unblockneteasemusic-mini.@unblockneteasemusic-mini[0].select_server)" -unblock_server_addr="cdn-shanghai.service.project-openwrt.eu.org" -unblock_server_ip="$(ping "cdn-shanghai.service.project-openwrt.eu.org" -c 1 | sed '1{s/[^(]*(//;s/).*//;q}')" -[ -z "${unblock_server_ip}" ] && unblock_server_ip="122.51.88.18" -unblock_server_http_port="30000" -unblock_server_https_port="30001" +if [ "${select_server}" = "tencent_shanghai_nodejs" ]; then + unblock_server_addr="cdn-shanghai.service.project-openwrt.eu.org" + unblock_server_ip="$(ping "cdn-shanghai.service.project-openwrt.eu.org" -c 1 | sed '1{s/[^(]*(//;s/).*//;q}')" + [ -z "${unblock_server_ip}" ] && unblock_server_ip="122.51.88.18" + unblock_server_http_port="30000" + unblock_server_https_port="30001" +else + unblock_server_addr="cdn-anhui.service.project-openwrt.eu.org" + unblock_server_ip="$(ping "cdn-anhui.service.project-openwrt.eu.org" -c 1 | sed '1{s/[^(]*(//;s/).*//;q}')" + [ -z "${unblock_server_ip}" ] && unblock_server_ip="223.215.42.127" + unblock_server_http_port="53025" + unblock_server_https_port="44178" +fi set_ipset(){ if [ "${set_type}" = "start" ]; then mkdir -p "/tmp/dnsmasq.d" - rm -f "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic.conf" + rm -f "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic-mini.conf" cat <<-EOF > "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic-mini.conf" -dhcp-option=252,http://${unblock_server_addr}:${unblock_server_http_port}/proxy.pac -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=/.music.163.com/neteasemusic +ipset=/interface.music.163.com/neteasemusic +ipset=/interface3.music.163.com/neteasemusic +ipset=/apm.music.163.com/neteasemusic +ipset=/apm3.music.163.com/neteasemusic +ipset=/clientlog.music.163.com/neteasemusic +ipset=/clientlog3.music.163.com/neteasemusic EOF /etc/init.d/dnsmasq restart >/dev/null 2>&1 - if ! ipset list music >/dev/null; then ipset create music hash:ip; fi - wget -O- "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" |grep -Eo '[0-9]+?\.[0-9]+?\.[0-9]+?\.[0-9]+?' |sort |uniq |awk '{print "ipset add music "$1}' |sh - iptables -t nat -N unblock_netease_music - iptables -t nat -A unblock_netease_music -d 0.0.0.0/8 -j RETURN - iptables -t nat -A unblock_netease_music -d 10.0.0.0/8 -j RETURN - iptables -t nat -A unblock_netease_music -d 127.0.0.0/8 -j RETURN - iptables -t nat -A unblock_netease_music -d 169.254.0.0/16 -j RETURN - iptables -t nat -A unblock_netease_music -d 172.16.0.0/12 -j RETURN - iptables -t nat -A unblock_netease_music -d 192.168.0.0/16 -j RETURN - iptables -t nat -A unblock_netease_music -d 224.0.0.0/4 -j RETURN - iptables -t nat -A unblock_netease_music -d 240.0.0.0/4 -j RETURN - iptables -t nat -A unblock_netease_music -p tcp --dport 80 -j DNAT --to ${unblock_server_ip}:${unblock_server_http_port} - iptables -t nat -A unblock_netease_music -p tcp --dport 443 -j DNAT --to ${unblock_server_ip}:${unblock_server_https_port} - iptables -t nat -I PREROUTING -p tcp -m set --match-set music dst -j unblock_netease_music + if ! ipset list "neteasemusic" >/dev/null; then ipset create "neteasemusic" hash:ip; fi + wget -O- "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" |grep -Eo '[0-9]+?\.[0-9]+?\.[0-9]+?\.[0-9]+?' |sort |uniq |awk '{print "ipset add neteasemusic "$1}' |sh + iptables -t nat -N "unblock_netease_music" + iptables -t nat -A "unblock_netease_music" -d 0.0.0.0/8 -j RETURN + iptables -t nat -A "unblock_netease_music" -d 10.0.0.0/8 -j RETURN + iptables -t nat -A "unblock_netease_music" -d 127.0.0.0/8 -j RETURN + iptables -t nat -A "unblock_netease_music" -d 169.254.0.0/16 -j RETURN + iptables -t nat -A "unblock_netease_music" -d 172.16.0.0/12 -j RETURN + iptables -t nat -A "unblock_netease_music" -d 192.168.0.0/16 -j RETURN + iptables -t nat -A "unblock_netease_music" -d 224.0.0.0/4 -j RETURN + iptables -t nat -A "unblock_netease_music" -d 240.0.0.0/4 -j RETURN + iptables -t nat -A "unblock_netease_music" -p tcp --dport 80 -j DNAT --to ${unblock_server_ip}:${unblock_server_http_port} + iptables -t nat -A "unblock_netease_music" -p tcp --dport 443 -j DNAT --to ${unblock_server_ip}:${unblock_server_https_port} + iptables -t nat -I PREROUTING -p tcp -m set --match-set "neteasemusic" dst -j "unblock_netease_music" mkdir -p /var/etc echo -e "/etc/init.d/luci-app-unblockneteasemusic-mini restart" > "/var/etc/unblockneteasemusic-mini.include" elif [ "${set_type}" = "stop" ]; then - iptables -t nat -D PREROUTING -p tcp -m set --match-set music dst -j unblock_netease_music - iptables -t nat -F unblock_netease_music - iptables -t nat -X unblock_netease_music - ipset destroy music + iptables -t nat -D PREROUTING -p tcp -m set --match-set "neteasemusic" dst -j "unblock_netease_music" + iptables -t nat -F "unblock_netease_music" + iptables -t nat -X "unblock_netease_music" + ipset destroy "neteasemusic" echo "" > "/var/etc/unblockneteasemusic-mini.include" rm -f "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic-mini.conf" - /etc/init.d/dnsmasq restart >/dev/null 2>&1 + /etc/init.d/dnsmasq reload >/dev/null 2>&1 fi } diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/ppp/ip-up.d/unblockneteasemusic-mini b/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/ppp/ip-up.d/unblockneteasemusic-mini index 2bb0b1a5bb..7d92550d75 100755 --- a/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/ppp/ip-up.d/unblockneteasemusic-mini +++ b/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/ppp/ip-up.d/unblockneteasemusic-mini @@ -1,4 +1,4 @@ #!/bin/sh sleep 10 -wget -O- "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" |grep -Eo '[0-9]+?\.[0-9]+?\.[0-9]+?\.[0-9]+?' |sort |uniq |awk '{print "ipset add music "$1}' |sh +wget -O- "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" |grep -Eo '[0-9]+?\.[0-9]+?\.[0-9]+?\.[0-9]+?' |sort |uniq |awk '{print "ipset add neteasemusic "$1}' |sh