Spaces:
Paused
Paused
| 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 |