含 app/server/server.cjs 服务端、app/www 网页(admin/auth/项目云/库备份/settings)、 app/ui 图标、cmd 安装脚本、config、wizard、manifest、图标与对接文档。 按仓库规则排除构建产物 *.fpk 与 .mimosa 缓存。
42 lines
1.6 KiB
Bash
Executable File
42 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
### 配置变更回调(应用设置向导提交后):更新 app.env,向导留空的项保持不变
|
|
|
|
CFG="${TRIM_PKGETC}/app.env"
|
|
[ -f "${CFG}" ] || exit 0
|
|
|
|
if [ -n "${wizard_port}" ]; then
|
|
sed -i "s|^HY_PORT=.*|HY_PORT=${wizard_port}|" "${CFG}"
|
|
fi
|
|
|
|
if [ -n "${wizard_dbdir}" ]; then
|
|
if [ ! -d "${wizard_dbdir}" ]; then
|
|
if mkdir -p "${wizard_dbdir}" 2>/dev/null; then
|
|
[ -n "${TRIM_UID}" ] && chown "${TRIM_UID}:${TRIM_GID}" "${wizard_dbdir}" 2>/dev/null
|
|
else
|
|
echo "警告:数据目录 ${wizard_dbdir} 创建失败,保持原目录不变" >> "${TRIM_TEMP_LOGFILE}" 2>/dev/null
|
|
fi
|
|
fi
|
|
[ -d "${wizard_dbdir}" ] && sed -i "s|^HY_DB_DIR=.*|HY_DB_DIR=${wizard_dbdir}|" "${CFG}"
|
|
fi
|
|
|
|
# 管理密码(留空不修改;更新盐+哈希两行,不存在则追加)
|
|
if [ -n "${wizard_admin_pwd}" ]; then
|
|
SALT="$(date +%s%N)$RANDOM"
|
|
HASH="$(printf '%s' "${SALT}${wizard_admin_pwd}" | sha256sum | cut -d' ' -f1)"
|
|
if grep -q "^ADMIN_PWD_SALT=" "${CFG}"; then
|
|
sed -i "s|^ADMIN_PWD_SALT=.*|ADMIN_PWD_SALT=${SALT}|" "${CFG}"
|
|
else
|
|
echo "ADMIN_PWD_SALT=${SALT}" >> "${CFG}"
|
|
fi
|
|
if grep -q "^ADMIN_PWD_SHA256=" "${CFG}"; then
|
|
sed -i "s|^ADMIN_PWD_SHA256=.*|ADMIN_PWD_SHA256=${HASH}|" "${CFG}"
|
|
else
|
|
echo "ADMIN_PWD_SHA256=${HASH}" >> "${CFG}"
|
|
fi
|
|
fi
|
|
|
|
echo "$(date '+%Y-%m-%d %H:%M:%S') - config updated port=${wizard_port:-保持} dbdir=${wizard_dbdir:-保持} admin_pwd=$([ -n "${wizard_admin_pwd}" ] && echo 已修改 || echo 保持)" >> "${TRIM_PKGVAR}/app.log" 2>/dev/null
|
|
|
|
exit 0
|