Spaces:
Paused
Paused
| # entrypoint.sh for WARP Proxy Space | |
| # Starts WARP daemon as root, then runs the app | |
| echo "[ENTRYPOINT] WARP Proxy Space starting..." | |
| # Start WARP daemon | |
| if command -v warp-svc &> /dev/null; then | |
| echo "[WARP] Starting warp-svc..." | |
| warp-svc & | |
| sleep 3 | |
| # Register and connect | |
| echo "[WARP] Registering..." | |
| warp-cli --accept-tos registration new 2>/dev/null || true | |
| echo "[WARP] Setting proxy mode..." | |
| warp-cli --accept-tos mode proxy 2>/dev/null || true | |
| echo "[WARP] Connecting..." | |
| warp-cli --accept-tos connect 2>/dev/null || true | |
| # Wait for connection | |
| for i in $(seq 1 20); do | |
| STATUS=$(warp-cli --accept-tos status 2>/dev/null | head -1 || echo "") | |
| if echo "$STATUS" | grep -qi "connected"; then | |
| echo "[WARP] CONNECTED! SOCKS5 proxy active on 127.0.0.1:40000" | |
| break | |
| fi | |
| echo "[WARP] Waiting... ($i/20)" | |
| sleep 2 | |
| done | |
| else | |
| echo "[WARP] warp-svc not found! WARP will not be available." | |
| fi | |
| # Start the app | |
| echo "[ENTRYPOINT] Starting proxy app..." | |
| cd /app | |
| # Run as user if we're root (HF Spaces compatibility) | |
| if [ "$(id -u)" = "0" ]; then | |
| exec su user -s /bin/bash -c "cd /app && exec python app.py" | |
| else | |
| exec python app.py | |
| fi | |