#!/bin/bash set -e echo "===== Application Startup at $(date '+%Y-%m-%d %H:%M:%S') =====" # WARP 配置 WARP_SLEEP=${WARP_SLEEP:-5} WARP_LICENSE_KEY=${WARP_LICENSE_KEY:-} echo "[*] Starting D-Bus daemon..." mkdir -p /run/dbus dbus-daemon --system --fork 2>/dev/null || true sleep 1 echo "[*] Starting Cloudflare WARP service..." warp-svc & sleep $WARP_SLEEP # 等待 WARP 服务就绪 MAX_WAIT=30 WAITED=0 while [ $WAITED -lt $MAX_WAIT ]; do if warp-cli --accept-tos status 2>/dev/null | grep -q "Status"; then echo "[*] WARP service is ready" break fi sleep 1 WAITED=$((WAITED + 1)) done # 注册 WARP echo "[*] Registering WARP..." warp-cli --accept-tos registration new 2>/dev/null || echo "[*] Already registered or registration failed" # 如果有 License Key,则设置 if [ -n "$WARP_LICENSE_KEY" ]; then echo "[*] Setting WARP license key..." warp-cli --accept-tos registration license "$WARP_LICENSE_KEY" 2>/dev/null || true fi # 设置 WARP 代理模式 echo "[*] Configuring WARP proxy mode..." warp-cli --accept-tos mode proxy 2>/dev/null || true warp-cli --accept-tos proxy port 40000 2>/dev/null || true # 连接 WARP echo "[*] Connecting WARP..." warp-cli --accept-tos connect 2>/dev/null || true # 等待连接 sleep 3 # 检查连接状态 echo "[*] WARP Status:" WARP_STATUS=$(warp-cli --accept-tos status 2>/dev/null || echo "Failed to get status") echo "$WARP_STATUS" # 检测是否连接成功 if echo "$WARP_STATUS" | grep -qi "connected"; then echo "[*] WARP connected successfully!" echo "[*] Using proxy: socks5://127.0.0.1:40000" export HTTP_PROXY="socks5://127.0.0.1:40000" export HTTPS_PROXY="socks5://127.0.0.1:40000" else echo "[!] WARP connection failed, running without proxy" unset HTTP_PROXY unset HTTPS_PROXY fi echo "[*] Starting API Server on port 7860..." # 启动 Python 应用 exec python ww.py