nj2a / start.sh
tmpublic's picture
Upload 4 files
189b5b2 verified
#!/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