WechatOnCloud/bridge/s6/woc-bridge/run
Kris a2201d8be3 feat: 新增woc-bridge服务及配套能力
新增完整的woc-bridge业务服务,实现微信API代理、密钥自动提取、消息队列限流等功能:
1. 新增bridge核心代码与s6服务配置
2. 新增ptrace权限初始化脚本与docker配置
3. 新增M2M鉴权API代理与环境变量配置
4. 新增SQLCipher解密、密钥缓存、二维码截图等工具模块
5. 完善docker构建与实例部署配置
2026-07-07 19:04:13 +08:00

28 lines
1.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/with-contenv bash
# 等待微信窗口出现,最多等 5 分钟;超时也启动 bridge/api/status 会返回 not_running
WAITED=0
MAX_WAIT=300
while ! xdotool search --name "微信" >/dev/null 2>&1; do
sleep 2
WAITED=$((WAITED + 2))
if [ "$WAITED" -ge "$MAX_WAIT" ]; then
echo "woc-bridge: 等待微信窗口超时(${WAITED}s仍然启动 bridge" >&2
break
fi
done
# 以 abc 用户身份运行(与微信同 X 会话,才能操作微信窗口)
# s6-setuidgid 不接受 VAR=value 参数,须先用 s6-env 设环境变量再切用户
# 校验 ptrace 权限key_extractor 读微信进程内存需要)
if [ -w /proc/sys/kernel/yama/ptrace_scope ] 2>/dev/null; then
echo 0 > /proc/sys/kernel/yama/ptrace_scope 2>/dev/null || true
fi
exec s6-env DISPLAY=${DISPLAY:-:1} XAUTHORITY=/config/.Xauthority \
s6-setuidgid abc \
python3 /opt/woc-bridge/server.py \
--listen 0.0.0.0:8088 \
--wechat-db /config \
--display ${DISPLAY:-:1}