mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-06-16 22:45:29 +08:00
luci-app-unblockneteasemusic-go: add go version unblockneteasemusic for NO-FPU dev
This commit is contained in:
parent
ec9d486741
commit
11eb685779
64
package/lean/UnblockNeteaseMusicGo/Makefile
Normal file
64
package/lean/UnblockNeteaseMusicGo/Makefile
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=UnblockNeteaseMusicGo
|
||||||
|
PKG_VERSION:=0.1.3
|
||||||
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
|
PKG_SOURCE_PROTO:=git
|
||||||
|
PKG_SOURCE_URL:=https://github.com/cnsilvan/UnblockNeteaseMusic.git
|
||||||
|
PKG_SOURCE_VERSION:=07453d1e938d7f6a284224ff68fbb89423d9c2c1
|
||||||
|
PKG_MAINTAINER:=Silvan <cnsilvan@gmail.com>
|
||||||
|
|
||||||
|
PKG_SOURCE_SUBDIR:=$(PKG_NAME)
|
||||||
|
PKG_SOURCE:=$(PKG_SOURCE_SUBDIR)-$(PKG_VERSION).tar.gz
|
||||||
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
|
||||||
|
|
||||||
|
PKG_BUILD_DEPENDS:=golang/host
|
||||||
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
PKG_USE_MIPS16:=0
|
||||||
|
|
||||||
|
GO_PKG:=github.com/cnsilvan/UnblockNeteaseMusic
|
||||||
|
GO_PKG_LDFLAGS:=-s -w
|
||||||
|
GO_PKG_LDFLAGS_X:= \
|
||||||
|
$(GO_PKG)/version.Version=$(PKG_VERSION)
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
|
||||||
|
|
||||||
|
define Package/$(PKG_NAME)
|
||||||
|
SECTION:=net
|
||||||
|
CATEGORY:=Network
|
||||||
|
TITLE:=Revive unavailable songs for Netease Cloud Music (Golang)
|
||||||
|
URL:=https://github.com/cnsilvan/UnblockNeteaseMusic
|
||||||
|
DEPENDS:=$(GO_ARCH_DEPENDS)
|
||||||
|
endef
|
||||||
|
define Package/$(PKG_NAME)/description
|
||||||
|
Revive unavailable songs for Netease Cloud Music (Golang)
|
||||||
|
endef
|
||||||
|
define Build/Prepare
|
||||||
|
# tar -xzf $(DL_DIR)/$(PKG_SOURCE) -C $(PKG_BUILD_DIR)
|
||||||
|
# unzip -d $(PKG_BUILD_DIR) $(DL_DIR)/$(PKG_SOURCE)
|
||||||
|
# $(call Build/Prepare/Default)
|
||||||
|
tar -zxvf $(DL_DIR)/$(PKG_SOURCE) -C $(BUILD_DIR)/$(PKG_NAME) --strip-components 1
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Configure
|
||||||
|
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
$(eval GO_PKG_BUILD_PKG:=$(GO_PKG))
|
||||||
|
$(call GoPackage/Build/Configure)
|
||||||
|
$(call GoPackage/Build/Compile)
|
||||||
|
$(STAGING_DIR_HOST)/bin/upx --lzma --best $(GO_PKG_BUILD_BIN_DIR)/UnblockNeteaseMusic
|
||||||
|
chmod +wx $(GO_PKG_BUILD_BIN_DIR)/UnblockNeteaseMusic
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/$(PKG_NAME)/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
|
$(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/UnblockNeteaseMusic $(1)/usr/bin/UnblockNeteaseMusic
|
||||||
|
$(INSTALL_DIR) $(1)/usr/share/UnblockNeteaseMusic
|
||||||
|
|
||||||
|
endef
|
||||||
|
$(eval $(call GoBinPackage,$(PKG_NAME)))
|
||||||
|
$(eval $(call BuildPackage,$(PKG_NAME)))
|
15
package/lean/luci-app-unblockneteasemusic-go/Makefile
Normal file
15
package/lean/luci-app-unblockneteasemusic-go/Makefile
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# Copyright (C) 2020 Silvan
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
LUCI_TITLE:=LuCI support for UnblockNeteaseMusic Go
|
||||||
|
LUCI_DEPENDS:=+coreutils-nohup +dnsmasq-full +ipset +UnblockNeteaseMusicGo
|
||||||
|
LUCI_PKGARCH:=all
|
||||||
|
PKG_NAME:=luci-app-unblockneteasemusic-go
|
||||||
|
PKG_VERSION:=1.1
|
||||||
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
|
PKG_MAINTAINER:=https://github.com/cnsilvan/luci-app-unblockneteasemusic
|
||||||
|
|
||||||
|
include $(TOPDIR)/feeds/luci/luci.mk
|
||||||
|
|
||||||
|
# call BuildPackage - OpenWrt buildroot signature
|
@ -0,0 +1,25 @@
|
|||||||
|
-- This is a free software, use it under GNU General Public License v3.0.
|
||||||
|
-- Created By Silvan
|
||||||
|
-- https://github.com/cnsilvan/luci-app-unblockneteasemusic
|
||||||
|
|
||||||
|
module("luci.controller.unblockneteasemusic", package.seeall)
|
||||||
|
|
||||||
|
function index()
|
||||||
|
if not nixio.fs.access("/etc/config/unblockneteasemusic") then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
entry({"admin", "services", "unblockneteasemusic"},firstchild(), _("解除网易云音乐播放限制"), 50).dependent = false
|
||||||
|
|
||||||
|
entry({"admin", "services", "unblockneteasemusic", "general"},cbi("unblockneteasemusic"), _("基本设定"), 1)
|
||||||
|
entry({"admin", "services", "unblockneteasemusic", "log"},form("unblockneteasemusic_log"), _("日志"), 2)
|
||||||
|
|
||||||
|
entry({"admin", "services", "unblockneteasemusic", "status"},call("act_status")).leaf=true
|
||||||
|
end
|
||||||
|
|
||||||
|
function act_status()
|
||||||
|
local e={}
|
||||||
|
e.running=luci.sys.call("pidof UnblockNeteaseMusic >/dev/null")==0
|
||||||
|
luci.http.prepare_content("application/json")
|
||||||
|
luci.http.write_json(e)
|
||||||
|
end
|
@ -0,0 +1,92 @@
|
|||||||
|
local fs = require "luci.fs"
|
||||||
|
local http = luci.http
|
||||||
|
|
||||||
|
mp = Map("unblockneteasemusic", translate("解除网易云音乐播放限制 (Golang)"))
|
||||||
|
mp.description = translate("原理:采用 [酷我/酷狗/咕咪] 音源(后续有空补充),替换网易云音乐 灰色 歌曲链接<br/>具体使用方法参见:https://github.com/cnsilvan/luci-app-unblockneteasemusic<br/>首次使用会自动生成证书,所以较慢")
|
||||||
|
mp:section(SimpleSection).template = "unblockneteasemusic/unblockneteasemusic_status"
|
||||||
|
|
||||||
|
s = mp:section(TypedSection, "unblockneteasemusic")
|
||||||
|
s.anonymous=true
|
||||||
|
s.addremove=false
|
||||||
|
|
||||||
|
enable = s:option(Flag, "enable", translate("启用本插件"))
|
||||||
|
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 = "5210"
|
||||||
|
http_port.default = "5210"
|
||||||
|
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 = "5211"
|
||||||
|
https_port.default = "5211"
|
||||||
|
https_port.datatype = "port"
|
||||||
|
https_port.rmempty = false
|
||||||
|
|
||||||
|
music_source = s:option(ListValue, "music_source", translate("音源选择"))
|
||||||
|
music_source:value("default", translate("默认"))
|
||||||
|
music_source:value("customize", translate("自定义"))
|
||||||
|
music_source.description = translate("默认为kuwo:kugou")
|
||||||
|
music_source.default = "default"
|
||||||
|
music_source.rmempty = false
|
||||||
|
|
||||||
|
music_customize_source = s:option(Value, "music_customize_source", translate("自定义音源"))
|
||||||
|
music_customize_source.description = translate("自定义音源设置,如kuwo:kugou:migu ,以:隔开,migu在某些运营商下无法使用可能会导致卡顿")
|
||||||
|
music_customize_source.default = "kuwo:kugou"
|
||||||
|
music_customize_source.rmempty = false
|
||||||
|
music_customize_source:depends("music_source", "customize")
|
||||||
|
|
||||||
|
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,路由器不建议使用Hosts劫持")
|
||||||
|
hijack.default = "dont_hijack"
|
||||||
|
hijack.rmempty = false
|
||||||
|
|
||||||
|
daemon_enable = s:option(Flag, "daemon_enable", translate("启用进程守护"))
|
||||||
|
daemon_enable.description = translate("开启后,附属程序会自动检测主程序运行状态,在主程序退出时自动重启")
|
||||||
|
daemon_enable.default = 0
|
||||||
|
daemon_enable.rmempty = false
|
||||||
|
|
||||||
|
download = s:option(FileUpload,"", translate("下载根证书"))
|
||||||
|
download.description = translate("请在客户端信任该证书。该证书由你设备自动生成,安全可靠")
|
||||||
|
download.rmempty = false
|
||||||
|
download.template = "unblockneteasemusic/unblockneteasemusic_download"
|
||||||
|
function Download()
|
||||||
|
local sPath, sFile, fd, block
|
||||||
|
sPath = "/usr/share/UnblockNeteaseMusic/ca.crt"
|
||||||
|
sFile = nixio.fs.basename(sPath)
|
||||||
|
if luci.fs.isdirectory(sPath) then
|
||||||
|
fd = io.popen('tar -C "%s" -cz .' % {sPath}, "r")
|
||||||
|
sFile = sFile .. ".tar.gz"
|
||||||
|
else
|
||||||
|
fd = nixio.open(sPath, "r")
|
||||||
|
end
|
||||||
|
if not fd then
|
||||||
|
download.description = string.format('请在客户端信任该证书。该证书由你设备自动生成,安全可靠<br/><span style="color: red">%s</span>', translate("Couldn't open file: ") .. sPath)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
download.description = translate("请在客户端信任该证书。该证书由你设备自动生成,安全可靠")
|
||||||
|
http.header('Content-Disposition', 'attachment; filename="%s"' % {sFile})
|
||||||
|
http.prepare_content("application/octet-stream")
|
||||||
|
while true do
|
||||||
|
block = fd:read(nixio.const.buffersize)
|
||||||
|
if (not block) or (#block ==0) then
|
||||||
|
break
|
||||||
|
else
|
||||||
|
http.write(block)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
fd:close()
|
||||||
|
http.close()
|
||||||
|
end
|
||||||
|
if luci.http.formvalue("download") then
|
||||||
|
Download()
|
||||||
|
end
|
||||||
|
return mp
|
@ -0,0 +1,14 @@
|
|||||||
|
local fs = require "nixio.fs"
|
||||||
|
local conffile = "/tmp/unblockneteasemusic.log"
|
||||||
|
|
||||||
|
f = SimpleForm("logview")
|
||||||
|
|
||||||
|
t = f:field(TextValue, "conf")
|
||||||
|
t.rmempty = true
|
||||||
|
t.rows = 15
|
||||||
|
function t.cfgvalue()
|
||||||
|
return fs.readfile(conffile) or ""
|
||||||
|
end
|
||||||
|
t.readonly="readonly"
|
||||||
|
|
||||||
|
return f
|
@ -0,0 +1,3 @@
|
|||||||
|
<%+cbi/valueheader%>
|
||||||
|
<input type="submit" class="cbi-button cbi-input-apply" name="download" value="<%:Download%>" />
|
||||||
|
<%+cbi/valuefooter%>
|
@ -0,0 +1,22 @@
|
|||||||
|
<script type="text/javascript">//<![CDATA[
|
||||||
|
XHR.poll(3, '<%=url([[admin]], [[services]], [[unblockneteasemusic]], [[status]])%>', null,
|
||||||
|
function(x, data) {
|
||||||
|
var tb = document.getElementById('unblockneteasemusic_status');
|
||||||
|
if (data && tb) {
|
||||||
|
if (data.running) {
|
||||||
|
var links = '<em><b><font color=green>UnblockNeteaseMusic <%:RUNNING%></font></b></em>';
|
||||||
|
tb.innerHTML = links;
|
||||||
|
} else {
|
||||||
|
tb.innerHTML = '<em><b><font color=red>UnblockNeteaseMusic <%:NOT RUNNING%></font></b></em>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
//]]>
|
||||||
|
</script>
|
||||||
|
<style>.mar-10 {margin-left: 50px; margin-right: 10px;}</style>
|
||||||
|
<fieldset class="cbi-section">
|
||||||
|
<p id="unblockneteasemusic_status">
|
||||||
|
<em><%:Collecting data...%></em>
|
||||||
|
</p>
|
||||||
|
</fieldset>
|
@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
config unblockneteasemusic
|
||||||
|
option enable '0'
|
||||||
|
option http_port '5210'
|
||||||
|
option https_port '5211'
|
||||||
|
option music_source 'default'
|
||||||
|
option hijack_ways 'use_ipset'
|
||||||
|
option daemon_enable '0'
|
135
package/lean/luci-app-unblockneteasemusic-go/root/etc/init.d/unblockneteasemusic
Executable file
135
package/lean/luci-app-unblockneteasemusic-go/root/etc/init.d/unblockneteasemusic
Executable file
@ -0,0 +1,135 @@
|
|||||||
|
#!/bin/sh /etc/rc.common
|
||||||
|
|
||||||
|
START=80
|
||||||
|
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)"
|
||||||
|
music_customize_source="$(uci get unblockneteasemusic.@unblockneteasemusic[0].music_customize_source)"
|
||||||
|
hijack_ways="$(uci get unblockneteasemusic.@unblockneteasemusic[0].hijack_ways)"
|
||||||
|
extFile="/usr/share/UnblockNeteaseMusic/extFile.txt"
|
||||||
|
serverCrt="/usr/share/UnblockNeteaseMusic/server.crt"
|
||||||
|
serverKey="/usr/share/UnblockNeteaseMusic/server.key"
|
||||||
|
serverCsr="/usr/share/UnblockNeteaseMusic/server.csr"
|
||||||
|
caCrt="/usr/share/UnblockNeteaseMusic/ca.crt"
|
||||||
|
caKey="/usr/share/UnblockNeteaseMusic/ca.key"
|
||||||
|
logFile="/tmp/unblockneteasemusic.log"
|
||||||
|
set_ipset() {
|
||||||
|
if [ "${set_type}" = "start" ]; then
|
||||||
|
mkdir -p "/tmp/dnsmasq.d"
|
||||||
|
rm -f "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic.conf"
|
||||||
|
cat <<-EOF >"/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic.conf"
|
||||||
|
ipset=/.music.163.com/unblockneteasemusic
|
||||||
|
ipset=/interface.music.163.com/unblockneteasemusic
|
||||||
|
ipset=/interface3.music.163.com/unblockneteasemusic
|
||||||
|
ipset=/apm.music.163.com/unblockneteasemusic
|
||||||
|
ipset=/apm3.music.163.com/unblockneteasemusic
|
||||||
|
EOF
|
||||||
|
/etc/init.d/dnsmasq reload >"/dev/null" 2>&1
|
||||||
|
|
||||||
|
if ! ipset list unblockneteasemusic >"/dev/null"; then ipset create unblockneteasemusic hash:ip; fi
|
||||||
|
curl -s "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 unblockneteasemusic "$1}' | bash >"/dev/null" 2>&1
|
||||||
|
iptables -t nat -N cloud_unblockneteasemusic
|
||||||
|
iptables -t nat -A cloud_unblockneteasemusic -d 0.0.0.0/8 -j RETURN
|
||||||
|
iptables -t nat -A cloud_unblockneteasemusic -d 10.0.0.0/8 -j RETURN
|
||||||
|
iptables -t nat -A cloud_unblockneteasemusic -d 127.0.0.0/8 -j RETURN
|
||||||
|
iptables -t nat -A cloud_unblockneteasemusic -d 169.254.0.0/16 -j RETURN
|
||||||
|
iptables -t nat -A cloud_unblockneteasemusic -d 172.16.0.0/12 -j RETURN
|
||||||
|
iptables -t nat -A cloud_unblockneteasemusic -d 192.168.0.0/16 -j RETURN
|
||||||
|
iptables -t nat -A cloud_unblockneteasemusic -d 224.0.0.0/4 -j RETURN
|
||||||
|
iptables -t nat -A cloud_unblockneteasemusic -d 240.0.0.0/4 -j RETURN
|
||||||
|
iptables -t nat -A cloud_unblockneteasemusic -p tcp --dport 80 -j REDIRECT --to-ports "${http_port}"
|
||||||
|
iptables -t nat -A cloud_unblockneteasemusic -p tcp --dport 443 -j REDIRECT --to-ports "${https_port}"
|
||||||
|
iptables -t nat -I PREROUTING -p tcp -m set --match-set unblockneteasemusic dst -j cloud_unblockneteasemusic
|
||||||
|
|
||||||
|
mkdir -p /var/etc
|
||||||
|
cat <<-EOF >>"/var/etc/unblockneteasemusic.include"
|
||||||
|
/etc/init.d/unblockneteasemusic restart
|
||||||
|
EOF
|
||||||
|
elif [ "${set_type}" = "stop" ]; then
|
||||||
|
iptables -t nat -D PREROUTING -p tcp -m set --match-set unblockneteasemusic dst -j cloud_unblockneteasemusic
|
||||||
|
iptables -t nat -F cloud_unblockneteasemusic
|
||||||
|
iptables -t nat -X cloud_unblockneteasemusic
|
||||||
|
ipset destroy unblockneteasemusic
|
||||||
|
|
||||||
|
echo "" >"/var/etc/unblockneteasemusic.include"
|
||||||
|
rm -f "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic.conf"
|
||||||
|
/etc/init.d/dnsmasq reload >"/dev/null" 2>&1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
set_hosts() {
|
||||||
|
if [ "${set_type}" = "start" ]; then
|
||||||
|
mkdir -p "/tmp/dnsmasq.d"
|
||||||
|
rm -f "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic.conf"
|
||||||
|
cat <<-EOF >"/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic.conf"
|
||||||
|
address=/music.163.com/${lan_addr}
|
||||||
|
address=/interface.music.163.com/${lan_addr}
|
||||||
|
address=/interface3.music.163.com/${lan_addr}
|
||||||
|
address=/apm.music.163.com/${lan_addr}
|
||||||
|
address=/apm3.music.163.com/${lan_addr}
|
||||||
|
address=/music.httpdns.c.163.com/0.0.0.0
|
||||||
|
EOF
|
||||||
|
/etc/init.d/dnsmasq reload >"/dev/null" 2>&1
|
||||||
|
# ip route add 223.252.199.10 dev lo
|
||||||
|
elif [ "${set_type}" = "stop" ]; then
|
||||||
|
rm -f "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic.conf"
|
||||||
|
/etc/init.d/dnsmasq reload >"/dev/null" 2>&1
|
||||||
|
# ip route del 223.252.199.10
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
createCertificate() {
|
||||||
|
echo "create certificate..." >>"${logFile}"
|
||||||
|
# 生成 CA 私钥
|
||||||
|
openssl genrsa -out "${caKey}" 2048
|
||||||
|
# 生成 CA 证书
|
||||||
|
openssl req -x509 -new -nodes -key "${caKey}" -sha256 -days 1825 -out "${caCrt}" -subj "/C=CN/CN=UnblockNeteaseMusic Root CA/O=UnblockNeteaseMusic"
|
||||||
|
# 生成服务器私钥
|
||||||
|
openssl genrsa -out "${serverKey}" 2048
|
||||||
|
# 生成证书签发请求
|
||||||
|
openssl req -new -sha256 -key "${serverKey}" -out "${serverCsr}" -subj "/C=CN/L=Hangzhou/O=NetEase (Hangzhou) Network Co., Ltd/OU=IT Dept./CN=*.music.163.com"
|
||||||
|
# 使用 CA 签发服务器证书
|
||||||
|
touch "${extFile}"
|
||||||
|
echo "subjectAltName=DNS:music.163.com,DNS:*.music.163.com" > "${extFile}"
|
||||||
|
openssl x509 -req -extfile "${extFile}" -days 1825 -in "${serverCsr}" -CA "${caCrt}" -CAkey "${caKey}" -CAcreateserial -out "${serverCrt}"
|
||||||
|
}
|
||||||
|
start() {
|
||||||
|
stop >>"${logFile}" 2>&1
|
||||||
|
[ "${enable}" -ne "1" ] && exit 0
|
||||||
|
if [ ! -f "$serverCrt" ]; then
|
||||||
|
createCertificate >>"${logFile}" 2>&1
|
||||||
|
fi
|
||||||
|
if [ "${music_source}" = "default" ]; then
|
||||||
|
nohup UnblockNeteaseMusic -p "${http_port}" -sp "${https_port}" -m 0 -c "${serverCrt}" -k "${serverKey}" >>"${logFile}" 2>&1 &
|
||||||
|
else
|
||||||
|
nohup UnblockNeteaseMusic -p "${http_port}" -sp "${https_port}" -o "${music_customize_source}" -m 0 -c "${serverCrt}" -k "${serverKey}" >>"${logFile}" 2>&1 &
|
||||||
|
fi
|
||||||
|
|
||||||
|
set_type="start"
|
||||||
|
if [ "${hijack_ways}" = "use_ipset" ]; then
|
||||||
|
set_ipset >"/dev/null" 2>&1
|
||||||
|
elif [ "${hijack_ways}" = "use_hosts" ]; then
|
||||||
|
set_hosts >"/dev/null" 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
sed -i '/UnblockNeteaseMusic/d' /etc/crontabs/root
|
||||||
|
echo "*/5 * * * * /usr/share/UnblockNeteaseMusic/log_check.sh" >>"/etc/crontabs/root"
|
||||||
|
/etc/init.d/cron restart >"/dev/null" 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
killall -9 "UnblockNeteaseMusic" >"/dev/null" 2>&1
|
||||||
|
|
||||||
|
sed -i '/UnblockNeteaseMusic/d' "/etc/crontabs/root"
|
||||||
|
/etc/init.d/cron restart >"/dev/null" 2>&1
|
||||||
|
|
||||||
|
rm -f "${logFile}"
|
||||||
|
|
||||||
|
set_type="stop"
|
||||||
|
set_ipset >"/dev/null" 2>&1
|
||||||
|
set_hosts >"/dev/null" 2>&1
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
sleep 10
|
||||||
|
curl -s "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 unblockneteasemusic "$1}' |bash > "/dev/null" 2>&1
|
@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
uci -q batch <<-EOF >/dev/null
|
||||||
|
delete ucitrack.@unblockneteasemusic[-1]
|
||||||
|
add ucitrack unblockneteasemusic
|
||||||
|
set ucitrack.@unblockneteasemusic[-1].init=unblockneteasemusic
|
||||||
|
commit ucitrack
|
||||||
|
delete firewall.unblockneteasemusic
|
||||||
|
set firewall.unblockneteasemusic=include
|
||||||
|
set firewall.unblockneteasemusic.type=script
|
||||||
|
set firewall.unblockneteasemusic.path=/var/etc/unblockneteasemusic.include
|
||||||
|
set firewall.unblockneteasemusic.reload=1
|
||||||
|
commit firewall
|
||||||
|
EOF
|
||||||
|
|
||||||
|
rm -f /tmp/luci-indexcache
|
||||||
|
exit 0
|
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
log_max_size="16" #使用KB计算
|
||||||
|
log_file="/tmp/unblockneteasemusic.log"
|
||||||
|
|
||||||
|
(( log_size = "$(ls -l "${log_file}" | awk -F ' ' '{print $5}')" / "1024" ))
|
||||||
|
(( "${log_size}" >= "${log_max_size}" )) && echo "" > "${log_file}"
|
||||||
|
|
||||||
|
[ "*$(uci get unblockneteasemusic.@unblockneteasemusic[0].daemon_enable)*" == "*1*" ] && { [ -z "$(ps |grep "UnblockNeteaseMusic" |grep -v "grep")" ] && /etc/init.d/unblockneteasemusic restart; }
|
Loading…
x
Reference in New Issue
Block a user