From 6f9583db64d25fd138ad35aaf70a0086fb9a9daf Mon Sep 17 00:00:00 2001 From: jiechus <84175239+jiesou@users.noreply.github.com> Date: Wed, 15 Jan 2025 19:44:52 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20geosite.dat=20=E8=A2=AB=E4=B8=8D?= =?UTF-8?q?=E5=BF=85=E8=A6=81=E5=9C=B0=E4=B8=8B=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/start.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/scripts/start.sh b/scripts/start.sh index 60c2717..d8dd643 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -1767,9 +1767,14 @@ clash_check() { #clash启动前检查 core_exchange meta '当前内核不支持非root用户启用本机代理' core_check #预下载GeoIP数据库 - [ -n "$(cat "$CRASHDIR"/yamls/*.yaml | grep -oEi 'geoip')" ] && ckgeo Country.mmdb cn_mini.mmdb + #排除others.yaml(可能是rule-providers的url里有“geoip”关键词) + [ -n "$(grep -oEi 'geoip' "$CRASHDIR"/yamls/*.yaml | grep -v 'others.yaml')" ] && ckgeo Country.mmdb cn_mini.mmdb #预下载GeoSite数据库 - [ -n "$(cat "$CRASHDIR"/yamls/*.yaml | grep -oEi 'geosite')" ] && ckgeo GeoSite.dat geosite.dat + #geodata-mode默认为false,只有geodata-mode: true才会需要GeoSite + if [ -n "$(grep -oEi 'geosite' "$CRASHDIR"/yamls/*.yaml | grep -v 'others.yaml')" ] && \ + [ -n "$(grep -E 'geodata-mode: true' "$CRASHDIR"/yamls/*.yaml)" ]; then + ckgeo GeoSite.dat geosite.dat + fi #预下载geosite-cn.mrs数据库 [ -n "$(cat "$CRASHDIR"/yamls/*.yaml | grep -oEi 'rule_set.*geosite-cn')" -o "$dns_mod" = "mix" ] && ckgeo geosite-cn.mrs mrs_geosite_cn.mrs return 0