ilxp / luci-app-ikoolproxy

iKoolProxy是基于KoolProxyR 重新整理的。 需要先安装koolproxy.ipk,再luci,记得一定要重启路由器!
473 stars 164 forks source link

谈谈这个规则更新逻辑 #105

Closed gzsdbb closed 2 years ago

gzsdbb commented 2 years ago

感觉这个更新逻辑不太对 直接在规则目录里写入了 其实建议先下载到tmp里 再比对规则目录的文件相不相同 不相同再替换 这里还建议一点 可以加入判断有没有勾选规则 没勾选的可以直接不下载 建议加入wegt的失败重试等等 思路来自原来的kpr

如tmp建一文件夹变量$TMP_DL 下载地址也使用变量url_koolproxy="xxx.xxx"


for i in {1..5}; do
                wget --no-check-certificate -4 -c -T 8 -t 10 -O $TMP_DL/koolproxy.txt $url_koolproxy
                koolproxy_rule_size=`ls -l $TMP_DL/koolproxy.txt | awk '{print $5}'`
                if [[ "$koolproxy_rule_size" -gt 1000 ]]; then
                    break
                else
                    koolproxy主规则文件下载失败 >>$LOGFILE
                fi
            done

    koolproxy_rules_local=`cat $TMP_DL/koolproxy.txt  | sed -n '3p'|awk '{print $3,$4}'`
    koolproxy_rules_local_old=`cat $KP_DIR/data/rules/koolproxy.txt  | sed -n '3p'|awk '{print $3,$4}'`

if [ "$koolproxy_rules_local" != "$koolproxy_rules_local_old" ]; then
        mv $TMP_DL/koolproxy.txt  $KP_DIR/data/rules/koolproxy.txt
        echo $(date "+%F %T"): -------------------静态规则   Version $koolproxy_rules_local >>$LOGFILE
    else
        echo $(date "+%F %T"): -------------------检测到KP规则本地版本和在线版本完全相同!>>$LOGFILE
    fi
        如果 要判断是否勾选下载 那就加加一层判断就好.