mirror of
https://github.com/Gloridust/WechatOnCloud.git
synced 2026-06-16 19:53:53 +08:00
b7fd778ab1
镜像层(向后兼容,微信路径零改动): - app-defs.sh:按 appType 给出 APP_BIN/APP_LAUNCH/APP_NAME(缺省回退微信)。 - app-ctl.sh:通用安装/状态分发;wechat 委托回 wechat-ctl.sh;telegram 下载官方 portable tar.xz。 - autostart:读 /config/.woc-app 选择启动哪个应用,读不到回退微信(老实例零改动)。 - 02-woc-app 钩子:把容器环境 WOC_APP_TYPE 落到 /config/.woc-app(缺则不写→回退微信)。 - Dockerfile:加 xz-utils(telegram 解压)+ COPY 新脚本。 后端:envList 透传 WOC_APP_TYPE(+自定义启动命令);triggerWechat/wechatStatus 改走 app-ctl.sh <appType>(微信行为不变);创建实例路由接受 appType。 前端:新建实例对话框加「应用类型」选择器(微信默认 / Telegram;Chromium、自定义标记"即将支持"禁用)。 本轮 Telegram(x86_64) 端到端可用;Chromium(待 apt 烤镜像) 与 自定义(待上传流) 下一轮。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
26 lines
994 B
Bash
26 lines
994 B
Bash
#!/bin/bash
|
||
# /custom-cont-init.d 钩子(02):把容器环境里的应用类型写入数据卷 /config/.woc-app,
|
||
# 供 autostart(以 abc 身份的桌面会话)读取。由 s6 在 autostart 之前以 root 运行。
|
||
# 缺 WOC_APP_TYPE(老实例/老面板)则不写文件 → autostart 回退微信,完全向后兼容。
|
||
APP_TYPE="${WOC_APP_TYPE:-}"
|
||
[ -z "$APP_TYPE" ] && exit 0
|
||
|
||
# 仅允许已知的简单标识,杜绝写入异常内容
|
||
case "$APP_TYPE" in
|
||
wechat | telegram | chromium | custom) ;;
|
||
*) exit 0 ;;
|
||
esac
|
||
|
||
TMP=/config/.woc-app.tmp
|
||
{
|
||
echo "WOC_APP_TYPE='${APP_TYPE}'"
|
||
# 自定义应用的启动命令由面板经环境传入(admin 设定);用单引号包裹,转义内部单引号
|
||
if [ -n "${WOC_CUSTOM_LAUNCH:-}" ]; then
|
||
esc=${WOC_CUSTOM_LAUNCH//\'/\'\\\'\'}
|
||
echo "WOC_CUSTOM_LAUNCH='${esc}'"
|
||
fi
|
||
} > "$TMP"
|
||
mv -f "$TMP" /config/.woc-app
|
||
chown abc:abc /config/.woc-app 2>/dev/null || true
|
||
echo "[woc-app] 实例应用类型 = ${APP_TYPE}"
|