SUIWARP
by @ipythoning
Deploy S-UI + Cloudflare WARP proxy server in one command. 6 protocols (VLESS Reality, TUIC, Hysteria2, gRPC, Trojan, WebSocket), clean Cloudflare IP exit vi...
clawhub install suiwarpπ About This Skill
name: suiwarp description: Deploy S-UI + Cloudflare WARP proxy server in one command. 6 protocols (VLESS Reality, TUIC, Hysteria2, gRPC, Trojan, WebSocket), clean Cloudflare IP exit via wireproxy (~54MB RAM). Use when the user wants to set up a proxy server, VPN alternative, or network tunnel on a VPS. license: MIT
SUIWARP β S-UI + Cloudflare WARP One-Liner
Deploy a multi-protocol proxy server with clean Cloudflare IP exit on any VPS.
When to Use
Activate when the user wants to:
Architecture
Client β S-UI (sing-box, 6 protocols) β wireproxy (SOCKS5 ~4MB) β Cloudflare WARP β Clean Exit IP
| Protocol | Port | Best For | |---|---|---| | VLESS Reality Vision | 443/tcp | Daily use (most covert) | | TUIC v5 | 443/udp | Gaming (low latency) | | Hysteria2 | 8443/udp | Streaming (max speed) | | VLESS Reality gRPC | 2053/tcp | Multiplexing (stable) | | Trojan Reality | 8880/tcp | Classic fallback | | VLESS Reality WS | 2083/tcp | CDN/firewall bypass | | VLESS CDN WS | 2052/tcp | IP hidden behind Cloudflare CDN | | ShadowTLS v3 + SS2022 | 9443/tcp | Anti-DPI stealth (looks like real TLS) | | VLESS HTTPUpgrade | 10443/tcp | Stealth HTTP transport with Reality | | Hysteria2 Port Hopping | 20000-40000/udp | Anti-QoS, port randomization |
Deployment
One-Liner (Recommended)
SSH into the target server as root, then run:
bash <(curl -sL https://raw.githubusercontent.com/iPythoning/SUIWARP/main/setup.sh)
This handles everything automatically: 1. System dependencies + swap (for low-RAM VPS) 2. S-UI installation with 6 protocol inbounds 3. Reality keypair generation 4. Free Cloudflare WARP registration via wgcf 5. wireproxy setup (WireGuard β SOCKS5, ~4MB RAM) 6. S-UI outbound routing through WARP 7. UFW firewall configuration 8. Client link generation
Remote Deployment via SSH
If the user provides server credentials, deploy remotely:
ssh root@SERVER_IP 'bash <(curl -sL https://raw.githubusercontent.com/iPythoning/SUIWARP/main/setup.sh)'
For password-only servers:
sshpass -p 'PASSWORD' ssh -o StrictHostKeyChecking=no root@SERVER_IP \
'bash <(curl -sL https://raw.githubusercontent.com/iPythoning/SUIWARP/main/setup.sh)'
Requirements
Post-Deploy
After setup completes:
1. Client links are at /root/suiwarp-client-links.txt
2. S-UI panel is at http://SERVER_IP:2095/app/ (default: admin/admin β remind user to change!)
3. Subscription URL is at http://SERVER_IP:2096/sub/
Verify WARP
# Direct IP
curl ifconfig.meWARP exit IP (should be Cloudflare)
curl -x socks5h://127.0.0.1:40000 ifconfig.me
Troubleshooting
sing-box won't start
Check logs: journalctl -u s-ui -n 20
Common causes:
out_json type mismatch: If DB was manually edited, out_json column must be blob (bytes), not string. Fix with Python: cur.execute("UPDATE inbounds SET out_json=? WHERE id=?", (json.dumps(data).encode("utf-8"), rid))
outbound type not found: wireguard: S-UI 1.4.0 sing-box doesn't include WireGuard. Use the wireproxy SOCKS5 approach instead.WARP not connecting
systemctl status wireproxy-warp
journalctl -u wireproxy-warp -n 20
If endpoint is unreachable, try alternative WARP endpoints:
engage.cloudflareclient.com:2408162.159.193.1:2408162.159.195.1:2408Firewall blocking ports
ufw status numbered
Ensure 443/tcp, 443/udp, 8443/udp, 2053/tcp, 8880/tcp, 2083/tcp are ALLOW
OOM kills (low RAM servers)
# Check swap
free -h
If no swap, create one
fallocate -l 2G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile
Uninstall
bash <(curl -sL https://raw.githubusercontent.com/iPythoning/SUIWARP/main/uninstall.sh)
Service Management
systemctl status s-ui # S-UI status
systemctl status wireproxy-warp # WARP status
systemctl restart s-ui # Restart proxy
systemctl restart wireproxy-warp # Restart WARP tunnel
journalctl -u s-ui -f # Live S-UI logs
journalctl -u wireproxy-warp -f # Live WARP logs
Key Paths
| Path | Description |
|---|---|
| /usr/local/s-ui/db/s-ui.db | S-UI SQLite database |
| /usr/local/s-ui/sui | S-UI binary |
| /etc/wireproxy.conf | wireproxy WireGuard config |
| /etc/suiwarp/wgcf-account.toml | WARP account credentials |
| /root/suiwarp-client-links.txt | Generated client links |
Credits
β‘ When to Use
π Tips & Best Practices
sing-box won't start
Check logs: journalctl -u s-ui -n 20
Common causes:
out_json type mismatch: If DB was manually edited, out_json column must be blob (bytes), not string. Fix with Python: cur.execute("UPDATE inbounds SET out_json=? WHERE id=?", (json.dumps(data).encode("utf-8"), rid))
outbound type not found: wireguard: S-UI 1.4.0 sing-box doesn't include WireGuard. Use the wireproxy SOCKS5 approach instead.WARP not connecting
systemctl status wireproxy-warp
journalctl -u wireproxy-warp -n 20
If endpoint is unreachable, try alternative WARP endpoints:
engage.cloudflareclient.com:2408162.159.193.1:2408162.159.195.1:2408Firewall blocking ports
ufw status numbered
Ensure 443/tcp, 443/udp, 8443/udp, 2053/tcp, 8880/tcp, 2083/tcp are ALLOW
OOM kills (low RAM servers)
# Check swap
free -h
If no swap, create one
fallocate -l 2G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile