From b6b73e2d44cf1768dd75834425ed0bb59659ffb7 Mon Sep 17 00:00:00 2001 From: wukongdaily <2666180@gmail.com> Date: Sun, 7 Jun 2026 21:42:06 +0800 Subject: [PATCH] fix bug 3 --- apk-untrusted-toggle.sh | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/apk-untrusted-toggle.sh b/apk-untrusted-toggle.sh index dd74d8c..0b4820e 100644 --- a/apk-untrusted-toggle.sh +++ b/apk-untrusted-toggle.sh @@ -4,18 +4,29 @@ FILE="/usr/libexec/package-manager-call" MARKER="# === AUTO ALLOW UNTRUSTED ===" if grep -q "$MARKER" "$FILE" 2>/dev/null; then - # 关闭:删除标记及相关代码 - sed -i "/$MARKER/,+3d" "$FILE" - echo "✅ 已关闭!LuCI 恢复需要签名检查。" + sed -i "/$MARKER/,+5d" "$FILE" + echo "✅ 已关闭!" else - # 开启:精准插入到正确位置(esac 之后) - sed -i '/remove)[\t ]*action="del"[\t ]*;;/a\ -\ - # '"$MARKER"'\ - if [ "$action" = "add" ]; then\ - cmd="$cmd --allow-untrusted"\ - fi' "$FILE" - echo "✅ 已开启!现在 LuCI 可直接装第三方 apk。" + # 使用 awk 精准插入(在 apk 的 esac 之后) + awk ' + /if \[ \$ipkg_bin = "apk" \]; then/ { + print + in_apk = 1 + next + } + in_apk && /action="del"/ { + print + print " # === AUTO ALLOW UNTRUSTED ===" + print " if [ \"$action\" = \"add\" ]; then" + print " cmd=\"$cmd --allow-untrusted\"" + print " fi" + in_apk = 0 + next + } + { print } + ' "$FILE" > "$FILE.tmp" && mv "$FILE.tmp" "$FILE" + + echo "✅ 已开启!" fi echo "当前状态:"