🎉 Sync 2026-10-01 14:45:51

This commit is contained in:
github-actions[bot] committed 2026-10-01 14:45:51 +08:00
1 parent f1518a803c
commit 620e59fee5
124 files changed
+21594 -1

No files matched your search

@@ -0,0 +1,37 @@
#!/bin/sh
changed=0
if ! uci -q get "luci.themes.Liquid" 2>/dev/null; then
uci set "luci.themes.Liquid=/luci-static/liquid"
changed=1
fi
# 首次安装(非升级)时无条件将默认主题设为 liquid:
# 固件编译场景下 luci.main.mediaurlbase 可能已被 luci-base 的
# uci-defaults 预设为 /luci-static/bootstrap(或用户 sed 改的集合
# 默认),若不覆盖,首次进入 LuCI 会 fallback 到 themes/null。
# 单独判断 PKG_UPGRADE,不依赖 themes.Liquid 是否已注册
# (固件可能已预置注册但 mediaurlbase 未指向 liquid);
# 若已是 liquid 则跳过(避免无谓 commit)。
if [ "$PKG_UPGRADE" != 1 ] && \
[ "$(uci -q get luci.main.mediaurlbase)" != "/luci-static/liquid" ]; then
uci set "luci.main.mediaurlbase=/luci-static/liquid"
changed=1
fi
if [ $changed = 1 ]; then
uci commit luci
fi
# 主题持久化配置(模式/主题色/Bing 壁纸开关):首次安装时创建默认 section
if [ ! -f /etc/config/liquid ]; then
touch /etc/config/liquid
uci set "liquid.theme=theme"
uci commit liquid
fi
# 清除 LuCI 路由缓存,使主题新增的 save_config 端点(menu.d/controller)立即可用
rm -f /tmp/luci-indexcache /tmp/luci-indexcache.* 2>/dev/null
exit 0
@@ -0,0 +1,30 @@
#!/bin/sh
#
# Zed 自签 APK 公钥:条件写入(已有则跳过,添加不覆盖)。
#
# 为什么用 uci-defaults 而不是只靠 postinst:
# 固件构建时**不执行包脚本**——package/Makefile 与 image.mk 里的 apk
# 调用都带 --no-scripts,postinst 在构建期不会跑,所以"第三方编译固件
# 包含本主题"时 postinst 方案无法把公钥带进镜像。
# 而 /etc/uci-defaults/ 下的包文件会随 rootfs 留在固件里,设备**首次
# 开机**由 /etc/init.d/boot 自动执行 —— 公钥信任自动建立,无需用户
# 任何操作;对装过 pushbot 的设备则检测到同名文件直接跳过。
#
# 为什么不做成包内文件:
# pushbot 与主题会带同一把公钥;apk 严格追踪文件归属,两个包 manifest
# 声明同一路径会报 "trying to overwrite ... owned by" 冲突。
# 本脚本创建的文件不在任何包 manifest 内 → 多包共存各写一次、后者跳过。
#
# 设备端还有两条同样的兜底路径:包 postinst(在线安装时)与 OTA 安装前
# 自举(老设备首次走 OTA 时),三者都是"有则跳过"的幂等写入。
[ -f /etc/apk/keys/zed-openwrt-apk.pem ] || {
mkdir -p /etc/apk/keys
printf '%s\n' \
'-----BEGIN PUBLIC KEY-----' \
'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE16+nzzY9Lx5wvzZoWs/18vZxsNZD' \
'jv+CqECJLUj+fA7J228Iu13DVUO8CK9jQyLHtqkw0f4/X2bKLlLiz281zQ==' \
'-----END PUBLIC KEY-----' > /etc/apk/keys/zed-openwrt-apk.pem
}
exit 0