#!/bin/bash echo "[INFO] Starting WARP + App..." # 下载 cookies wget -q \ --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" \ --header="CF-Access-Client-Id: ${CF_ACCESS_CLIENT_ID}" \ --header="CF-Access-Client-Secret: ${CF_ACCESS_CLIENT_SECRET}" \ -O cookies.json \ https://source.starrysky.ggff.net/sources/cookies.json || echo "[]" > cookies.json echo "[INFO] Cookies downloaded" # 检查是否已有 WARP 配置 if [ ! -f /app/warp/wireproxy.conf ]; then echo "[INFO] Registering WARP..." mkdir -p /app/warp cd /app/warp # 注册 WARP wgcf register --accept-tos # 生成 WireGuard 配置 wgcf generate # 转换为 wireproxy 配置 cat > wireproxy.conf << 'CONF' [Interface] PrivateKey = PRIVATE_KEY_PLACEHOLDER DNS = 1.1.1.1 MTU = 1280 [Peer] PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo= Endpoint = engage.cloudflareclient.com:2408 AllowedIPs = 0.0.0.0/0, ::/0 [Socks5] BindAddress = 127.0.0.1:1080 [http] BindAddress = 127.0.0.1:8080 CONF # 从生成的配置中提取私钥并替换 PRIVATE_KEY=$(grep "PrivateKey" wgcf-profile.conf | cut -d' ' -f3) sed -i "s|PRIVATE_KEY_PLACEHOLDER|${PRIVATE_KEY}|g" wireproxy.conf cd /app fi echo "[INFO] WARP config ready" # 显示当前 IP echo "[INFO] Current IP (before WARP):" curl -s https://api.vore.top/api/IPdata?ip= || echo "Failed to get IP" # 启动 supervisor(管理 wireproxy 和 python 应用) exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf