From 2425197229279aac1719b515963f4819d37eb7b0 Mon Sep 17 00:00:00 2001 From: CN_SZTL Date: Mon, 27 Jan 2020 00:01:31 +0800 Subject: [PATCH] luci-app-clash: sync with upstream source --- package/jsda/luci-app-clash/Makefile | 2 +- .../jsda/luci-app-clash/root/etc/init.d/clash | 9 ++- .../root/usr/share/clash/core_download.sh | 2 +- .../root/usr/share/clash/game.sh | 5 +- .../root/usr/share/clash/list.sh | 64 ++++++++++--------- .../root/usr/share/clash/luci_version | 2 +- 6 files changed, 45 insertions(+), 39 deletions(-) diff --git a/package/jsda/luci-app-clash/Makefile b/package/jsda/luci-app-clash/Makefile index 56501877b0..18f81b2757 100644 --- a/package/jsda/luci-app-clash/Makefile +++ b/package/jsda/luci-app-clash/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-clash -PKG_VERSION:=1.4.9 +PKG_VERSION:=1.5.0 PKG_MAINTAINER:=frainzy1477 diff --git a/package/jsda/luci-app-clash/root/etc/init.d/clash b/package/jsda/luci-app-clash/root/etc/init.d/clash index 737e9047f0..6614af7401 100755 --- a/package/jsda/luci-app-clash/root/etc/init.d/clash +++ b/package/jsda/luci-app-clash/root/etc/init.d/clash @@ -576,8 +576,10 @@ stop(){ tun_mode=$(uci get clash.config.tun_mode 2>/dev/null) ipv6=$(uci get clash.config.ipv6 2>/dev/null) core=$(uci get clash.config.core 2>/dev/null) - - + LIST="/usr/share/clash/server.list" + + sed -i '/#START/,/#END/d' "$LIST" 2>/dev/null + if [ "${lang}" == "en" ] || [ $lang == "auto" ];then echo "Stopping Client..." >$REAL_LOG elif [ "${lang}" == "zh_cn" ];then @@ -656,9 +658,6 @@ stop(){ rm -rf /etc/clash/*.yaml /etc/clash/*.yml >/dev/null 2>&1 - mv /usr/share/clash/list.bak /usr/share/clash/server.list >/dev/null 2>&1 - - if [ "${lang}" == "en" ] || [ $lang == "auto" ];then echo " $(date "+%Y-%m-%d %H:%M:%S") - CLIENT IS DISABLED " >> /tmp/clash.txt echo "Client is Disabled " >$REAL_LOG diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/core_download.sh b/package/jsda/luci-app-clash/root/usr/share/clash/core_download.sh index 442647d792..7c031ccf7b 100755 --- a/package/jsda/luci-app-clash/root/usr/share/clash/core_download.sh +++ b/package/jsda/luci-app-clash/root/usr/share/clash/core_download.sh @@ -115,7 +115,7 @@ update(){ elif [ $CORETYPE -eq 2 ];then wget --no-check-certificate https://github.com/frainzy1477/clashrdev/releases/download/v"$CLASHRVER"/clashr-"$MODELTYPE"-v"$CLASHRVER".gz -O 2>&1 >1 /tmp/clash.gz elif [ $CORETYPE -eq 3 ];then - wget --no-check-certificate https://github.com/frainzy1477/clashtun/releases/download/v"$CLASHTUN"/clash-"$MODELTYPE".tar.gz -O 2>&1 >1 /tmp/clash.gz + wget --no-check-certificate https://github.com/frainzy1477/clashtun/releases/download/v"$CLASHTUN"/clash-"$MODELTYPE".gz -O 2>&1 >1 /tmp/clash.gz fi if [ "$?" -eq "0" ] && [ "$(ls -l /tmp/clash.gz |awk '{print int($5)}')" -ne 0 ]; then diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/game.sh b/package/jsda/luci-app-clash/root/usr/share/clash/game.sh index 412bd330e6..d2e6f78f23 100755 --- a/package/jsda/luci-app-clash/root/usr/share/clash/game.sh +++ b/package/jsda/luci-app-clash/root/usr/share/clash/game.sh @@ -50,7 +50,7 @@ config_foreach yml_game_rule_get "game" if [ -f $GAME_RULE_FILE ];then sed -i -e "\$a#*******GAME-RULE-END**********#" $GAME_RULE_FILE 2>/dev/null -sed -i '#*******GAME-RULE-START**********#/,/#*******GAME-RULE-END**********#/d' "$CLASH_CONFIG" 2>/dev/null +sed -i '/#*******GAME-RULE-START**********#/,/#*******GAME-RULE-END**********#/d' "$CLASH_CONFIG" 2>/dev/null if [ ! -z "$(grep "^ \{0,\}- GEOIP" "/etc/clash/config.yaml")" ]; then sed -i '1,/^ \{0,\}- GEOIP,/{/^ \{0,\}- GEOIP,/s/^ \{0,\}- GEOIP,/#*******GAME-RULE-START**********#\n&/}' "$CLASH_CONFIG" 2>/dev/null @@ -62,8 +62,9 @@ fi sed -i '/GAME-RULE-START/r/tmp/yaml_game_rule_group.yaml' "$CLASH_CONFIG" 2>/dev/null fi + else -sed -i '#*******GAME-RULE-START**********#/,/#*******GAME-RULE-END**********#/d' "$CLASH_CONFIG" 2>/dev/null +sed -i '/#*******GAME-RULE-START**********#/,/#*******GAME-RULE-END**********#/d' "$CLASH_CONFIG" 2>/dev/null fi diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/list.sh b/package/jsda/luci-app-clash/root/usr/share/clash/list.sh index ab72384a8e..ce871aefbf 100755 --- a/package/jsda/luci-app-clash/root/usr/share/clash/list.sh +++ b/package/jsda/luci-app-clash/root/usr/share/clash/list.sh @@ -2,41 +2,46 @@ . /lib/functions.sh dnsforwader=$(uci get clash.config.dnsforwader 2>/dev/null) -cp /usr/share/clash/server.list /usr/share/clash/list.bak -add_address(){ -servers_get() -{ - local section="$1" - config_get "server" "$section" "server" "" - echo "$server" >>/tmp/server.conf -} -config_load clash -config_foreach servers_get "servers" +enable_list=$(uci get clash.config.cus_list 2>/dev/null) +if [ $enable_list -eq 1 ];then -count=$(grep -c '' /tmp/server.conf) -count_num=1 -while [[ $count_num -le $count ]] -do -line=$(sed -n "$count_num"p /tmp/server.conf) -check_addr=$(grep -F "$line" "/usr/share/clash/server.list") -if [ -z $check_addr ];then -echo $line >>/usr/share/clashbackup/address.list -fi -count_num=$(( $count_num + 1)) -done -cat /usr/share/clashbackup/address.list /usr/share/clash/server.list > /usr/share/clash/me.list -rm -rf /usr/share/clash/server.list -mv /usr/share/clash/me.list /usr/share/clash/server.list -chmod 755 /usr/share/clash/server.list -rm -rf /tmp/server.conf /usr/share/clashbackup/address.list >/dev/null 2>&1 +add_address(){ + servers_get() + { + local section="$1" + config_get "server" "$section" "server" "" + echo "$server" >>/tmp/server.conf + } + config_load clash + config_foreach servers_get "servers" + + count=$(grep -c '' /tmp/server.conf) + count_num=1 + while [[ $count_num -le $count ]] + do + line=$(sed -n "$count_num"p /tmp/server.conf) + check_addr=$(grep -F "$line" "/usr/share/clash/server.list") + if [ -z $check_addr ];then + echo $line >>/usr/share/clashbackup/address.list + fi + count_num=$(( $count_num + 1)) + done + + sed -i "1i\#START" /usr/share/clashbackup/address.list 2>/dev/null + sed -i -e "\$a#END" /usr/share/clashbackup/address.list 2>/dev/null + + cat /usr/share/clashbackup/address.list /usr/share/clash/server.list > /usr/share/clash/me.list + rm -rf /usr/share/clash/server.list + mv /usr/share/clash/me.list /usr/share/clash/server.list + chmod 755 /usr/share/clash/server.list + rm -rf /tmp/server.conf /usr/share/clashbackup/address.list >/dev/null 2>&1 } + + if [ "${dnsforwader}" -eq 1 ];then add_address >/dev/null 2>&1 fi - -enable_list=$(uci get clash.config.cus_list 2>/dev/null) -if [ $enable_list -eq 1 ];then if [ -d /tmp/dnsmasq.clash ];then rm -rf /tmp/dnsmasq.clash @@ -60,3 +65,4 @@ awk '!/^$/&&!/^#/{printf("server=/%s/'"$cutom_dns"'\n",$0)}' /usr/share/clash/se ln -s /tmp/dnsmasq.clash/custom_list.conf /tmp/dnsmasq.d/custom_list.conf fi + diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/luci_version b/package/jsda/luci-app-clash/root/usr/share/clash/luci_version index 4ea2b1f403..bc80560fad 100644 --- a/package/jsda/luci-app-clash/root/usr/share/clash/luci_version +++ b/package/jsda/luci-app-clash/root/usr/share/clash/luci_version @@ -1 +1 @@ -1.4.9 +1.5.0