22333Misaka commited on
Commit
f3a110a
·
verified ·
1 Parent(s): 4e1739c

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +19 -16
Dockerfile CHANGED
@@ -5,7 +5,7 @@ ENTRYPOINT []
5
 
6
  USER root
7
 
8
- # 2. 安装 Python3 (保活) 和 curl (下载配置)
9
  RUN (apk add --no-cache python3 curl || (apt-get update && apt-get install -y python3 curl))
10
 
11
  WORKDIR /app
@@ -13,34 +13,37 @@ WORKDIR /app
13
  # 3. 权限设置
14
  RUN mkdir -p /app/downloads && chmod 777 /app/downloads
15
 
16
- # 4. 编写全能启动脚本
 
 
 
 
17
  RUN echo '#!/bin/sh' > /app/start.sh && \
18
- echo 'echo "--- 🚀 Starting SaveAny Bot Wrapper ---"' >> /app/start.sh && \
19
  echo '' >> /app/start.sh && \
20
- # --- 步骤A: 强制下载配置文件 ---
21
- echo 'echo "1. Downloading Config from URL..."' >> /app/start.sh && \
22
  echo 'if [ -n "$CONFIG_URL" ]; then' >> /app/start.sh && \
23
- # 使用 curl 下载并覆盖 config.toml (-L 这里的 L 是为了跟随重定向)
24
- echo ' curl -L -o /app/config.toml "$CONFIG_URL"' >> /app/start.sh && \
25
  echo ' if [ $? -eq 0 ]; then' >> /app/start.sh && \
26
- echo ' echo "✅ Config downloaded successfully!"' >> /app/start.sh && \
27
- # 打印文件前几行检查内容 (不打印全部以防泄露)
28
- echo ' echo "Checking file header:"' >> /app/start.sh && \
29
- echo ' head -n 5 /app/config.toml' >> /app/start.sh && \
30
  echo ' else' >> /app/start.sh && \
31
- echo ' echo "❌ Failed to download config!"' >> /app/start.sh && \
32
  echo ' fi' >> /app/start.sh && \
33
  echo 'else' >> /app/start.sh && \
34
- echo ' echo "⚠️ CONFIG_URL is not set!"' >> /app/start.sh && \
35
  echo 'fi' >> /app/start.sh && \
36
  echo '' >> /app/start.sh && \
37
- # --- 步骤B: 启动保活 Web Server ---
38
- echo 'echo "2. Starting Fake Web Server on 7860..."' >> /app/start.sh && \
 
 
39
  echo 'nohup python3 -m http.server 7860 > /dev/null 2>&1 &' >> /app/start.sh && \
 
40
  echo 'sleep 2' >> /app/start.sh && \
41
  echo '' >> /app/start.sh && \
42
  # --- 步骤C: 启动 Bot ---
43
- echo 'echo "3. Starting Bot binary..."' >> /app/start.sh && \
44
  echo './saveany-bot' >> /app/start.sh && \
45
  chmod +x /app/start.sh
46
 
 
5
 
6
  USER root
7
 
8
+ # 2. 安装 Python3 和 curl
9
  RUN (apk add --no-cache python3 curl || (apt-get update && apt-get install -y python3 curl))
10
 
11
  WORKDIR /app
 
13
  # 3. 权限设置
14
  RUN mkdir -p /app/downloads && chmod 777 /app/downloads
15
 
16
+ # 4. 创建隔离的 Web 目录 (关键修复)
17
+ RUN mkdir -p /app/public && \
18
+ echo "SaveAny Bot is Protected & Running" > /app/public/index.html
19
+
20
+ # 5. 编写启动脚本
21
  RUN echo '#!/bin/sh' > /app/start.sh && \
22
+ echo 'echo "--- 🔒 Starting Secure Wrapper ---"' >> /app/start.sh && \
23
  echo '' >> /app/start.sh && \
24
+ # --- 步骤A: 下载配置文件 (存放在 /app/config.toml) ---
25
+ echo 'echo "1. Downloading Config..."' >> /app/start.sh && \
26
  echo 'if [ -n "$CONFIG_URL" ]; then' >> /app/start.sh && \
27
+ echo ' curl -L -s -o /app/config.toml "$CONFIG_URL"' >> /app/start.sh && \
 
28
  echo ' if [ $? -eq 0 ]; then' >> /app/start.sh && \
29
+ echo ' echo "✅ Config downloaded."' >> /app/start.sh && \
 
 
 
30
  echo ' else' >> /app/start.sh && \
31
+ echo ' echo "❌ Download failed!"' >> /app/start.sh && \
32
  echo ' fi' >> /app/start.sh && \
33
  echo 'else' >> /app/start.sh && \
34
+ echo ' echo "⚠️ CONFIG_URL not set."' >> /app/start.sh && \
35
  echo 'fi' >> /app/start.sh && \
36
  echo '' >> /app/start.sh && \
37
+ # --- 步骤B: 启动 Web Server (限制在 /app/public 目录) ---
38
+ echo 'echo "2. Starting Isolated Web Server..."' >> /app/start.sh && \
39
+ # 进入 public 目录启动 web server,这样它就看不见上一级的 config.toml 了
40
+ echo 'cd /app/public' >> /app/start.sh && \
41
  echo 'nohup python3 -m http.server 7860 > /dev/null 2>&1 &' >> /app/start.sh && \
42
+ echo 'cd /app' >> /app/start.sh && \ # 切回 /app 准备启动 bot
43
  echo 'sleep 2' >> /app/start.sh && \
44
  echo '' >> /app/start.sh && \
45
  # --- 步骤C: 启动 Bot ---
46
+ echo 'echo "3. Starting Bot..."' >> /app/start.sh && \
47
  echo './saveany-bot' >> /app/start.sh && \
48
  chmod +x /app/start.sh
49