diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/Makefile b/package/ctcgfw/luci-app-unblockneteasemusic/Makefile index c020863c9f..0c48c5b9d2 100644 --- a/package/ctcgfw/luci-app-unblockneteasemusic/Makefile +++ b/package/ctcgfw/luci-app-unblockneteasemusic/Makefile @@ -12,7 +12,7 @@ LUCI_DEPENDS:=+bash +busybox +coreutils-nohup +curl +dnsmasq-full +ipset +libope LUCI_PKGARCH:=all PKG_NAME:=luci-app-unblockneteasemusic PKG_VERSION:=2.7 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_MAINTAINER:=[CTCGFW]Project-OpenWrt diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic b/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic index f15c6ba060..16f60834dd 100755 --- a/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic +++ b/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic @@ -45,11 +45,13 @@ 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 reload > "/dev/null" 2>&1 if ! ipset list "neteasemusic" > "/dev/null"; then ipset create "neteasemusic" 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 music "$1}' |bash > "/dev/null" 2>&1 + 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 neteasemusic "$1}' |bash > "/dev/null" 2>&1 iptables -t nat -N "netease_cloud_music" iptables -t nat -A "netease_cloud_music" -d "0.0.0.0/8" -j RETURN iptables -t nat -A "netease_cloud_music" -d "10.0.0.0/8" -j RETURN @@ -88,6 +90,8 @@ 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=/clientlog.music.163.com/${lan_addr} +address=/clientlog3.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 @@ -122,22 +126,22 @@ start() [ "${enable}" -ne "1" ] && exit 0 - [ ! -e "/usr/share/unblockneteasemusic/core/app.js" ] && rm -f "/usr/share/unblockneteasemusic/local_ver" && bash "/usr/share/unblockneteasemusic/update.sh" "update_core_non_restart" - [ ! -e "/usr/share/unblockneteasemusic/core/app.js" ] && echo "Core Not Found, please download it before starting." >> "/tmp/unblockneteasemusic.log" && exit 1 + [ ! -e "/usr/share/unblockneteasemusic/core/app.js" ] && { rm -f "/usr/share/unblockneteasemusic/local_ver"; bash "/usr/share/unblockneteasemusic/update.sh" "update_core_non_restart"; } + [ ! -e "/usr/share/unblockneteasemusic/core/app.js" ] && { echo "Core Not Found, please download it before starting." >> "/tmp/unblockneteasemusic.log"; exit 1; } if [ "${music_source}" = "qq" ];then - [ -z "${qq_cookie}" ] && echo "QQ cookie is not exsit, please enter it before starting." && exit 1 + [ -z "${qq_cookie}" ] && { echo "QQ cookie is not exsit, please enter it before starting."; exit 1; } qq_cookie_line="$(awk "/'cookie':/{print NR}" "/usr/share/unblockneteasemusic/core/provider/qq.js")" sed -i "${qq_cookie_line}d" "/usr/share/unblockneteasemusic/core/provider/qq.js" sed -i -e "${qq_cookie_line}i \\\t'cookie': '${qq_cookie}'" "/usr/share/unblockneteasemusic/core/provider/qq.js" elif [ "${music_source}" = "youtube" ];then - [ -z "${youtube_key}" ] && echo "Youtube API Key is not exsit, please enter it before starting." && exit 1 + [ -z "${youtube_key}" ] && { echo "Youtube API Key is not exsit, please enter it before starting."; exit 1; } sed -i '/const key = /d' "/usr/share/unblockneteasemusic/core/provider/youtube.js" sed -i -e "1i const key = '${youtube_key}'" "/usr/share/unblockneteasemusic/core/provider/youtube.js" fi - [ -f "${self_issue_cert_crt}" ] && { [ "${self_issue_cert_crt}" != "/usr/share/unblockneteasemusic/core/server.crt" ] && ln -sf "${self_issue_cert_crt}" "/usr/share/unblockneteasemusic/core/server.crt"; } - [ -f "${self_issue_cert_key}" ] && { [ "${self_issue_cert_key}" != "/usr/share/unblockneteasemusic/core/server.key" ] && ln -sf "${self_issue_cert_key}" "/usr/share/unblockneteasemusic/core/server.key"; } + { [ -f "${self_issue_cert_crt}" ] && [ "${self_issue_cert_crt}" != "/usr/share/unblockneteasemusic/core/server.crt" ]; } && ln -sf "${self_issue_cert_crt}" "/usr/share/unblockneteasemusic/core/server.crt" + { [ -f "${self_issue_cert_key}" ] && [ "${self_issue_cert_key}" != "/usr/share/unblockneteasemusic/core/server.key" ]; } && ln -sf "${self_issue_cert_key}" "/usr/share/unblockneteasemusic/core/server.key" [ "${hijack_ways}" = "use_hosts" ] && { http_port="80"; https_port="443"; } if [ "${music_source}" = "default" ]; then diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/ppp/ip-up.d/unblockneteasemusic b/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/ppp/ip-up.d/unblockneteasemusic index e9bea88fc8..58b1da2fae 100755 --- a/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/ppp/ip-up.d/unblockneteasemusic +++ b/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/ppp/ip-up.d/unblockneteasemusic @@ -1,4 +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 +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 neteasemusic "$1}' |bash > "/dev/null" 2>&1 diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/update.sh b/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/update.sh index 4fe9f89591..986d8ae098 100755 --- a/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/update.sh +++ b/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/update.sh @@ -3,96 +3,97 @@ # https://github.com/project-openwrt function check_core_if_already_running(){ - running_tasks="$(ps |grep "unblockneteasemusic" |grep "update" |grep "core" |grep -v "grep" |awk '{print $1}' |wc -l)" - [ "${running_tasks}" -gt "2" ] && echo -e "\nA task is already running." >>/tmp/unblockneteasemusic.log && exit 2 + running_tasks="$(ps |grep "unblockneteasemusic" |grep "update.sh" |grep "update_core" |grep -v "grep" |awk '{print $1}' |wc -l)" + [ "${running_tasks}" -gt "2" ] && { echo -e "\nA task is already running." >> "/tmp/unblockneteasemusic.log"; exit 2; } } function check_luci_if_already_running(){ - running_tasks="$(ps |grep "unblockneteasemusic" |grep "update" |grep "update_luci" |grep -v "grep" |awk '{print $1}' |wc -l)" - [ "${running_tasks}" -gt "2" ] && echo -e "\nA task is already running." >>/tmp/unblockneteasemusic.log && exit 2 + running_tasks="$(ps |grep "unblockneteasemusic" |grep "update.sh" |grep "update_luci" |grep -v "grep" |awk '{print $1}' |wc -l)" + [ "${running_tasks}" -gt "2" ] && { echo -e "\nA task is already running." >> "/tmp/unblockneteasemusic.log"; exit 2; } } function clean_log(){ - echo "" > /tmp/unblockneteasemusic.log + echo "" > "/tmp/unblockneteasemusic.log" } function check_luci_latest_version(){ luci_latest_ver="$(curl -s 'https://github.com/project-openwrt/luci-app-unblockneteasemusic/releases/latest'| grep -Eo '[0-9\.]+\-[0-9]+')" - [ -z "${luci_latest_ver}" ] && echo -e "\nFailed to check latest LuCI version, please try again later." >>/tmp/unblockneteasemusic.log && exit 1 - if [ "$(opkg info 'luci-app-unblockneteasemusic' |sed -n '2p' |tr -d 'Version: ')" != "${luci_latest_ver}" ]; then + [ -z "${luci_latest_ver}" ] && { echo -e "\nFailed to check latest LuCI version, please try again later." >> "/tmp/unblockneteasemusic.log"; exit 1; } + if [ "$(opkg info "luci-app-unblockneteasemusic" |sed -n "2p" |tr -d "Version: ")" != "${luci_latest_ver}" ]; then clean_log - echo -e "Local LuCI version: $(opkg info 'luci-app-unblockneteasemusic' |sed -n '2p' |tr -d 'Version: '), cloud LuCI version: ${luci_latest_ver}." >>/tmp/unblockneteasemusic.log + echo -e "Local LuCI version: $(opkg info "luci-app-unblockneteasemusic" |sed -n "2p" |tr -d "Version: "), cloud LuCI version: ${luci_latest_ver}." >> "/tmp/unblockneteasemusic.log" update_luci else - echo -e "\nLocal LuCI version: $(opkg info 'luci-app-unblockneteasemusic' |sed -n '2p' |tr -d 'Version: '), cloud LuCI version: ${luci_latest_ver}." >>/tmp/unblockneteasemusic.log - echo -e "You're already using the latest LuCI version." >>/tmp/unblockneteasemusic.log + echo -e "\nLocal LuCI version: $(opkg info "luci-app-unblockneteasemusic" |sed -n "2p" |tr -d "Version: "), cloud LuCI version: ${luci_latest_ver}." >> "/tmp/unblockneteasemusic.log" + echo -e "You're already using the latest LuCI version." >> "/tmp/unblockneteasemusic.log" exit 3 fi } function update_luci(){ - echo -e "Updating LuCI..." >>/tmp/unblockneteasemusic.log + echo -e "Updating LuCI..." >> "/tmp/unblockneteasemusic.log" - mkdir -p "/tmp" >/dev/null 2>&1 + mkdir -p "/tmp" > "/dev/null" 2>&1 - curl -sL "https://github.com/project-openwrt/luci-app-unblockneteasemusic/releases/download/v${luci_latest_ver}/luci-app-unblockneteasemusic_${luci_latest_ver}_all.ipk" -o "/tmp/luci-app-unblockneteasemusic_${luci_latest_ver}_all.ipk" >/dev/null 2>&1 + curl -sL "https://github.com/project-openwrt/luci-app-unblockneteasemusic/releases/download/v${luci_latest_ver}/luci-app-unblockneteasemusic_${luci_latest_ver}_all.ipk" -o "/tmp/luci-app-unblockneteasemusic_${luci_latest_ver}_all.ipk" > "/dev/null" 2>&1 opkg install "/tmp/luci-app-unblockneteasemusic_${luci_latest_ver}_all.ipk" rm -f "/tmp/luci-app-unblockneteasemusic_${luci_latest_ver}_all.ipk" rm -rf "/tmp/luci-indexcache" "/tmp/luci-modulecache" - if [ "$(opkg info 'luci-app-unblockneteasemusic' |sed -n '2p' |tr -d 'Version: ')" != "$1" ]; then - echo -e "Failed to update LuCI." >>/tmp/unblockneteasemusic.log + if [ "$(opkg info 'luci-app-unblockneteasemusic' |sed -n '2p' |tr -d 'Version: ')" != "${luci_latest_ver}" ]; then + echo -e "Failed to update LuCI." >> "/tmp/unblockneteasemusic.log" exit 1 else touch "/usr/share/unblockneteasemusic/update_luci_successfully" + /etc/init.d/firewall restart > "/dev/null" 2>&1 fi - echo -e "Succeeded in updating LuCI." >/tmp/unblockneteasemusic.log - echo -e "Current LuCI version: ${luci_latest_ver}.\n" >>/tmp/unblockneteasemusic.log + echo -e "Succeeded in updating LuCI." > "/tmp/unblockneteasemusic.log" + echo -e "Current LuCI version: ${luci_latest_ver}.\n" >> "/tmp/unblockneteasemusic.log" } function check_core_latest_version(){ core_latest_ver="$(curl -s https://github.com/nondanee/UnblockNeteaseMusic/commits/master |tr -d '\n' |grep -Eo 'commit\/[0-9a-z]+' |sed -n 1p |sed 's#commit/##g')" - [ -z "${core_latest_ver}" ] && echo -e "\nFailed to check latest core version, please try again later." >>/tmp/unblockneteasemusic.log && exit 1 + [ -z "${core_latest_ver}" ] && { echo -e "\nFailed to check latest core version, please try again later." >> "/tmp/unblockneteasemusic.log"; exit 1; } if [ ! -e "/usr/share/unblockneteasemusic/core_local_ver" ]; then clean_log - echo -e "Local version: NOT FOUND, cloud version: ${core_latest_ver}." >>/tmp/unblockneteasemusic.log + echo -e "Local version: NOT FOUND, cloud version: ${core_latest_ver}." >> "/tmp/unblockneteasemusic.log" update_core else if [ "$(cat /usr/share/unblockneteasemusic/core_local_ver)" != "${core_latest_ver}" ]; then clean_log - echo -e "Local core version: $(cat /usr/share/unblockneteasemusic/core_local_ver 2>/dev/null), cloud core version: ${core_latest_ver}." >>/tmp/unblockneteasemusic.log + echo -e "Local core version: $(cat /usr/share/unblockneteasemusic/core_local_ver 2>"/dev/null"), cloud core version: ${core_latest_ver}." >> "/tmp/unblockneteasemusic.log" update_core else - echo -e "\nLocal core version: $(cat /usr/share/unblockneteasemusic/core_local_ver 2>/dev/null), cloud core version: ${core_latest_ver}." >>/tmp/unblockneteasemusic.log - echo -e "You're already using the latest core version." >>/tmp/unblockneteasemusic.log + echo -e "\nLocal core version: $(cat /usr/share/unblockneteasemusic/core_local_ver 2>"/dev/null"), cloud core version: ${core_latest_ver}." >> "/tmp/unblockneteasemusic.log" + echo -e "You're already using the latest core version." >> "/tmp/unblockneteasemusic.log" exit 3 fi fi } function update_core(){ - echo -e "Updating core..." >>/tmp/unblockneteasemusic.log + echo -e "Updating core..." >> "/tmp/unblockneteasemusic.log" - mkdir -p "/usr/share/unblockneteasemusic/core" >/dev/null 2>&1 - rm -rf /usr/share/unblockneteasemusic/core/* >/dev/null 2>&1 + mkdir -p "/usr/share/unblockneteasemusic/core" > "/dev/null" 2>&1 + rm -rf /usr/share/unblockneteasemusic/core/* > "/dev/null" 2>&1 - curl -sL "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 + curl -sL "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 + rm -rf "/usr/share/unblockneteasemusic/core/core.tar.gz" "/usr/share/unblockneteasemusic/core/UnblockNeteaseMusic-master" > "/dev/null" 2>&1 if [ ! -e "/usr/share/unblockneteasemusic/core/app.js" ]; then - echo -e "Failed to download core." >>/tmp/unblockneteasemusic.log + echo -e "Failed to download core." >> "/tmp/unblockneteasemusic.log" exit 1 else [ "${update_core_from_luci}" == "y" ] && touch "/usr/share/unblockneteasemusic/update_core_successfully" - echo -e "${core_latest_ver}" > /usr/share/unblockneteasemusic/core_local_ver + echo -e "${core_latest_ver}" > "/usr/share/unblockneteasemusic/core_local_ver" [ "${non_restart}" != "y" ] && /etc/init.d/unblockneteasemusic restart fi - echo -e "Succeeded in updating core." >/tmp/unblockneteasemusic.log - echo -e "Current core version: ${core_latest_ver}.\n" >>/tmp/unblockneteasemusic.log + echo -e "Succeeded in updating core." > "/tmp/unblockneteasemusic.log" + echo -e "Current core version: ${core_latest_ver}.\n" >> "/tmp/unblockneteasemusic.log" } case "$1" in @@ -117,4 +118,4 @@ case "$1" in *) echo -e "Usage: ./update.sh {update_luci|update_core}" ;; -esac \ No newline at end of file +esac