#!/bin/bash trap "" SIGPIPE # 安装 napcat if [ ! -f "napcat/napcat.mjs" ]; then unzip -q NapCat.Shell.zip -d ./NapCat.Shell cp -rf NapCat.Shell/* napcat/ rm -rf ./NapCat.Shell fi if [ ! -f "napcat/config/napcat.json" ]; then unzip -q NapCat.Shell.zip -d ./NapCat.Shell cp -rf NapCat.Shell/config/* napcat/config/ rm -rf ./NapCat.Shell fi # 配置 WebUI Token CONFIG_PATH=/app/napcat/config/webui.json if [ ! -f "${CONFIG_PATH}" ] && [ -n "${WEBUI_TOKEN}" ]; then echo "正在配置 WebUI Token..." cat > "${CONFIG_PATH}" << EOF { "host": "0.0.0.0", "prefix": "${WEBUI_PREFIX}", "port": 6099, "token": "${WEBUI_TOKEN}", "loginRate": 3 } EOF fi # 删除字符串两端的引号 remove_quotes() { local str="$1" local first_char="${str:0:1}" local last_char="${str: -1}" if [[ ($first_char == '"' && $last_char == '"') || ($first_char == "'" && $last_char == "'") ]]; then # 两端都是双引号 if [[ $first_char == '"' ]]; then str="${str:1:-1}" # 两端都是单引号 else str="${str:1:-1}" fi fi echo "$str" } if [ -n "${MODE}" ]; then cp /app/templates/$MODE.json /app/napcat/config/onebot11.json fi rm -rf "/tmp/.X1-lock" : ${NAPCAT_GID:=0} : ${NAPCAT_UID:=0} usermod -o -u ${NAPCAT_UID} napcat groupmod -o -g ${NAPCAT_GID} napcat usermod -g ${NAPCAT_GID} napcat chown -R ${NAPCAT_UID}:${NAPCAT_GID} /app gosu napcat Xvfb :1 -screen 0 1080x760x16 +extension GLX +render > /dev/null 2>&1 & sleep 2 export FFMPEG_PATH=/usr/bin/ffmpeg export DISPLAY=:1 cd /app/napcat if [ -n "${ACCOUNT}" ]; then gosu napcat /opt/QQ/qq --no-sandbox -q $ACCOUNT else gosu napcat /opt/QQ/qq --no-sandbox fi