diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-go/Makefile b/package/ctcgfw/luci-app-unblockneteasemusic-go/Makefile
new file mode 100644
index 0000000000..a2cef61a94
--- /dev/null
+++ b/package/ctcgfw/luci-app-unblockneteasemusic-go/Makefile
@@ -0,0 +1,21 @@
+# Copyright (C) 2016 Openwrt.org
+#
+# This is a free software, use it under GNU General Public License v3.0.
+#
+# Created By [CTCGFW]Project-OpenWrt
+# https://github.com/project-openwrt
+
+include $(TOPDIR)/rules.mk
+
+LUCI_TITLE:=LuCI support for UnblockNeteaseMusic-Go
+LUCI_DEPENDS:=+bash +busybox +coreutils-nohup +curl +dnsmasq-full +ipset +UnblockNeteaseMusic-Go
+LUCI_PKGARCH:=all
+PKG_NAME:=luci-app-unblockneteasemusic-go
+PKG_VERSION:=1.0
+PKG_RELEASE:=1
+
+PKG_MAINTAINER:=[CTCGFW]Project-OpenWrt
+
+include $(TOPDIR)/feeds/luci/luci.mk
+
+# call BuildPackage - OpenWrt buildroot signature
diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-go/luasrc/controller/unblockneteasemusic-go.lua b/package/ctcgfw/luci-app-unblockneteasemusic-go/luasrc/controller/unblockneteasemusic-go.lua
new file mode 100644
index 0000000000..cfb802c663
--- /dev/null
+++ b/package/ctcgfw/luci-app-unblockneteasemusic-go/luasrc/controller/unblockneteasemusic-go.lua
@@ -0,0 +1,26 @@
+-- This is a free software, use it under GNU General Public License v3.0.
+-- Created By [CTCGFW]Project OpenWRT
+-- https://github.com/project-openwrt
+
+module("luci.controller.unblockneteasemusic-go", package.seeall)
+
+function index()
+ if not nixio.fs.access("/etc/config/unblockneteasemusic-go") then
+ return
+ end
+
+ entry({"admin", "services", "unblockneteasemusic-go"},firstchild(), _("解除网易云音乐播放限制 (Golang)"), 50).dependent = false
+
+ entry({"admin", "services", "unblockneteasemusic-go", "general"},cbi("unblockneteasemusic-go"), _("基本设定"), 1)
+ entry({"admin", "services", "unblockneteasemusic-go", "log"},form("unblockneteasemusicgo_log"), _("日志"), 2)
+
+ entry({"admin", "services", "unblockneteasemusic-go", "status"},call("act_status")).leaf=true
+ entry({"admin", "services", "unblockneteasemusic-go", "update_core"},call("act_update_core"))
+end
+
+function act_status()
+ local e={}
+ e.running=luci.sys.call("ps |grep UnblockNeteaseMusic-Go |grep -v grep >/dev/null")==0
+ luci.http.prepare_content("application/json")
+ luci.http.write_json(e)
+end
diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-go/luasrc/model/cbi/unblockneteasemusic-go.lua b/package/ctcgfw/luci-app-unblockneteasemusic-go/luasrc/model/cbi/unblockneteasemusic-go.lua
new file mode 100644
index 0000000000..866e18fe61
--- /dev/null
+++ b/package/ctcgfw/luci-app-unblockneteasemusic-go/luasrc/model/cbi/unblockneteasemusic-go.lua
@@ -0,0 +1,51 @@
+mp = Map("unblockneteasemusic", translate("解除网易云音乐播放限制"))
+mp.description = translate("原理:采用 [酷我/酷狗/咕咪] 音源,替换网易云音乐 无版权/收费 歌曲链接
具体使用方法参见:https://github.com/project-openwrt/luci-app-unblockneteasemusic-go")
+
+mp:section(SimpleSection).template = "unblockneteasemusic-go/unblockneteasemusicgo_status"
+
+s = mp:section(TypedSection, "unblockneteasemusic-go")
+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("kuwo", translate("酷我音乐"))
+music_source:value("kugou", translate("酷狗音乐"))
+music_source:value("migu", translate("咕咪音乐"))
+music_source.description = translate("音源调用接口")
+music_source.default = "default"
+music_source.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 = "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
+
+return mp
diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-go/luasrc/model/cbi/unblockneteasemusicgo_log.lua b/package/ctcgfw/luci-app-unblockneteasemusic-go/luasrc/model/cbi/unblockneteasemusicgo_log.lua
new file mode 100644
index 0000000000..1307c40cd0
--- /dev/null
+++ b/package/ctcgfw/luci-app-unblockneteasemusic-go/luasrc/model/cbi/unblockneteasemusicgo_log.lua
@@ -0,0 +1,14 @@
+local fs = require "nixio.fs"
+local conffile = "/tmp/unblockneteasemusic-go.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
diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-go/luasrc/view/unblockneteasemusic-go/unblockneteasemusicgo_status.htm b/package/ctcgfw/luci-app-unblockneteasemusic-go/luasrc/view/unblockneteasemusic-go/unblockneteasemusicgo_status.htm
new file mode 100644
index 0000000000..ebdd8e6a44
--- /dev/null
+++ b/package/ctcgfw/luci-app-unblockneteasemusic-go/luasrc/view/unblockneteasemusic-go/unblockneteasemusicgo_status.htm
@@ -0,0 +1,22 @@
+
+
+
diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-go/root/etc/config/unblockneteasemusic-go b/package/ctcgfw/luci-app-unblockneteasemusic-go/root/etc/config/unblockneteasemusic-go
new file mode 100644
index 0000000000..d6f9a5ca3e
--- /dev/null
+++ b/package/ctcgfw/luci-app-unblockneteasemusic-go/root/etc/config/unblockneteasemusic-go
@@ -0,0 +1,8 @@
+
+config unblockneteasemusic-go
+ option enable '0'
+ option http_port '5210'
+ option https_port '5211'
+ option music_source 'default'
+ option hijack_ways 'use_ipset'
+ option daemon_enable '0'
diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-go/root/etc/init.d/unblockneteasemusic-go b/package/ctcgfw/luci-app-unblockneteasemusic-go/root/etc/init.d/unblockneteasemusic-go
new file mode 100755
index 0000000000..b3882124bf
--- /dev/null
+++ b/package/ctcgfw/luci-app-unblockneteasemusic-go/root/etc/init.d/unblockneteasemusic-go
@@ -0,0 +1,125 @@
+#!/bin/sh /etc/rc.common
+# Created By [CTCGFW]Project OpenWRT
+# https://github.com/project-openwrt
+
+START=80
+STOP=10
+
+lan_addr="$(uci get network.lan.ipaddr)"
+
+enable="$(uci get unblockneteasemusic-go.@unblockneteasemusic-go[0].enable)"
+http_port="$(uci get unblockneteasemusic-go.@unblockneteasemusic-go[0].http_port)"
+https_port="$(uci get unblockneteasemusic-go.@unblockneteasemusic-go[0].https_port)"
+music_source="$(uci get unblockneteasemusic-go.@unblockneteasemusic-go[0].music_source)"
+hijack_ways="$(uci get unblockneteasemusic-go.@unblockneteasemusic-go[0].hijack_ways)"
+[
+
+set_ipset(){
+ if [ "${set_type}" = "start" ]; then
+ mkdir -p "/tmp/dnsmasq.d"
+ rm -f "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic-go.conf"
+ cat <<-EOF > "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic-go.conf"
+ipset=/.music.163.com/musicgo
+ipset=/interface.music.163.com/musicgo
+ipset=/interface3.music.163.com/musicgo
+ipset=/apm.music.163.com/musicgo
+ipset=/apm3.music.163.com/musicgo
+ EOF
+ /etc/init.d/dnsmasq restart > "/dev/null" 2>&1
+
+ if ! ipset list musicgo > "/dev/null"; then ipset create musicgo 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 musicgo "$1}' |bash > "/dev/null" 2>&1
+ iptables -t nat -N cloud_music_go
+ iptables -t nat -A cloud_music_go -d 0.0.0.0/8 -j RETURN
+ iptables -t nat -A cloud_music_go -d 10.0.0.0/8 -j RETURN
+ iptables -t nat -A cloud_music_go -d 127.0.0.0/8 -j RETURN
+ iptables -t nat -A cloud_music_go -d 169.254.0.0/16 -j RETURN
+ iptables -t nat -A cloud_music_go -d 172.16.0.0/12 -j RETURN
+ iptables -t nat -A cloud_music_go -d 192.168.0.0/16 -j RETURN
+ iptables -t nat -A cloud_music_go -d 224.0.0.0/4 -j RETURN
+ iptables -t nat -A cloud_music_go -d 240.0.0.0/4 -j RETURN
+ iptables -t nat -A cloud_music_go -p tcp --dport 80 -j REDIRECT --to-ports "${http_port}"
+ iptables -t nat -A cloud_music_go -p tcp --dport 443 -j REDIRECT --to-ports "${https_port}"
+ iptables -t nat -I PREROUTING -p tcp -m set --match-set musicgo dst -j cloud_music_go
+
+ mkdir -p /var/etc
+ cat <<-EOF >> "/var/etc/unblockneteasemusic-go.include"
+/etc/init.d/unblockneteasemusic-go restart
+ EOF
+ elif [ "${set_type}" = "stop" ]; then
+ iptables -t nat -D PREROUTING -p tcp -m set --match-set musicgo dst -j cloud_music_go
+ iptables -t nat -F cloud_music_go
+ iptables -t nat -X cloud_music_go
+ ipset destroy musicgo
+
+ echo "" > "/var/etc/unblockneteasemusic-go.include"
+ rm -f "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic-go.conf"
+ /etc/init.d/dnsmasq restart > "/dev/null" 2>&1
+ fi
+}
+
+set_hosts(){
+ if [ "${set_type}" = "start" ]; then
+ mkdir -p "/tmp/dnsmasq.d"
+ rm -f "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic-go.conf"
+ cat <<-EOF > "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic-go.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 restart > "/dev/null" 2>&1
+
+ echo "" > "/var/etc/unblockneteasemusic-go.include"
+
+ ip route add 223.252.199.10 dev lo
+ elif [ "${set_type}" = "stop" ]; then
+ rm -f "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic-go.conf"
+ /etc/init.d/dnsmasq restart > "/dev/null" 2>&1
+
+ echo "" > "/var/etc/unblockneteasemusic-go.include"
+
+ ip route del 223.252.199.10
+ fi
+}
+
+start()
+{
+ stop
+
+ [ "${enable}" -ne "1" ] && exit 0
+UnblockNeteaseMusic -m 0 -c /usr/share/UnblockNeteaseMusic-Go/server.crt -k /usr/share/UnblockNeteaseMusic-Go/server.key -p 5200 -sp 5201 -o migu:kugou
+
+ if [ "${music_source}" = "default" ]; then
+ nohup UnblockNeteaseMusic -p "${http_port}" -sp "${https_port}" -m "0" -c "/usr/share/UnblockNeteaseMusic-Go/server.crt" -k "/usr/share/UnblockNeteaseMusic-Go/server.key" > "/tmp/unblockneteasemusic-go.log" 2>&1 &
+ else
+ nohup UnblockNeteaseMusic -p "${http_port}" -sp "${https_port}" -o "${music_source}" -m "0" -c "/usr/share/UnblockNeteaseMusic-Go/server.crt" -k "/usr/share/UnblockNeteaseMusic-Go/server.key" > "/tmp/unblockneteasemusic-go.log" 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-Go/d' /etc/crontabs/root
+ echo "*/5 * * * * /usr/share/UnblockNeteaseMusic-Go/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-go/d' "/etc/crontabs/root"
+ /etc/init.d/cron restart > "/dev/null" 2>&1
+
+ rm -f "/tmp/unblockneteasemusic.log"
+
+ set_type="stop"
+ set_ipset > "/dev/null" 2>&1
+ set_hosts > "/dev/null" 2>&1
+}
diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-go/root/etc/ppp/ip-up.d/unblockneteasemusic-go b/package/ctcgfw/luci-app-unblockneteasemusic-go/root/etc/ppp/ip-up.d/unblockneteasemusic-go
new file mode 100755
index 0000000000..e9bea88fc8
--- /dev/null
+++ b/package/ctcgfw/luci-app-unblockneteasemusic-go/root/etc/ppp/ip-up.d/unblockneteasemusic-go
@@ -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 music "$1}' |bash > "/dev/null" 2>&1
diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-go/root/etc/uci-defaults/unblockneteasemusic-go b/package/ctcgfw/luci-app-unblockneteasemusic-go/root/etc/uci-defaults/unblockneteasemusic-go
new file mode 100755
index 0000000000..b2414182f3
--- /dev/null
+++ b/package/ctcgfw/luci-app-unblockneteasemusic-go/root/etc/uci-defaults/unblockneteasemusic-go
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+uci -q batch <<-EOF >/dev/null
+ delete ucitrack.@unblockneteasemusic-go[-1]
+ add ucitrack unblockneteasemusic-go
+ set ucitrack.@unblockneteasemusic-go[-1].init=unblockneteasemusic-go
+ commit ucitrack
+ delete firewall.unblockneteasemusic-go
+ set firewall.unblockneteasemusic-go=include
+ set firewall.unblockneteasemusic-go.type=script
+ set firewall.unblockneteasemusic-go.path=/var/etc/unblockneteasemusic-go.include
+ set firewall.unblockneteasemusic-go.reload=1
+ commit firewall
+EOF
+
+rm -f /tmp/luci-indexcache
+exit 0
diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-go/root/usr/share/UnblockNeteaseMusic-Go/log_check.sh b/package/ctcgfw/luci-app-unblockneteasemusic-go/root/usr/share/UnblockNeteaseMusic-Go/log_check.sh
new file mode 100755
index 0000000000..b9abe5daaa
--- /dev/null
+++ b/package/ctcgfw/luci-app-unblockneteasemusic-go/root/usr/share/UnblockNeteaseMusic-Go/log_check.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+# Created By [CTCGFW]Project OpenWRT
+# https://github.com/project-openwrt
+
+log_max_size="4" #使用KB计算
+log_file="/tmp/unblockneteasemusic-go.log"
+
+(( log_size = "$(ls -l "${log_file}" | awk -F ' ' '{print $5}')" / "1024" ))
+(( "${log_size}" >= "${log_max_size}" )) && echo "" > "${log_file}"
+
+[ "*$(uci get unblockneteasemusic-go.@unblockneteasemusic-go[0].daemon_enable)*" == "*1*" ] && { [ -z "$(ps |grep "UnblockNeteaseMusic-Go" |grep -v "grep")" ] && /etc/init.d/unblockneteasemusic-go restart; }
\ No newline at end of file